Трекер изучения английского
Реализуйте трекер изучения английского, который позволяет отмечать дни, в которые пользователь изучал язык.
Основные возможности проекта
- Календарь для отметки дней изучения английского.
- Подсчет непрерывной серии дней без пропусков.
- Похвала за достижения (неделя, месяц, два месяца и т.д.).
- Отображение статистики.
- Данные хранятся в localStorage.
Главная страница
На странице должны быть размещены:
- Календарь на текущий месяц.
- Блок с текущей серией (количество дней подряд).
- Статистика (общее количество дней изучения).
- История достижений (похвалы).
Календарь
Календарь отображает текущий месяц. Каждый день в календаре можно отмечать как "день изучения":
- Отмеченные дни - зеленый цвет.
- Пропущенные дни - серый или красный цвет (если день был пропущен в серии).
- Текущий день - выделен рамкой.
При клике на день в календаре можно отметить его как "изучен" или снять отметку.
Непрерывная серия
Сайт подсчитывает, сколько дней подряд пользователь изучал английский без пропусков:
- Если каждый день отмечен без пропусков, серия продолжается.
- Если хотя бы один день пропущен (не отмечен), серия обнуляется и начинается заново.
- Серия автоматически продлевается, если сегодняшний день отмечен.
Похвала за достижения
Сайт поздравляет пользователя за достижения каждого круглого числа непрерывной серии:
- 7 дней - "Отличная неделя! Так держать!".
- 14 дней - "Две недели изучения! Здорово!".
- 30 дней - "Месяц изучения! Ты молодец!".
- 60 дней - "Два месяца! Ты сильный!".
- 90 дней - "Три месяца! Ты герой!".
- 365 дней - "Год изучения! Ты легенда!".
Каждое достижение сохраняется в истории и отображается на странице с датой получения.
Статистика
На странице отображается статистика:
- Текущая непрерывная серия (количество дней).
- Общее количество дней изучения за все время.
- Процент дней изучения за текущий месяц.
Хранение данных
Все данные (отмеченные дни, история достижений) хранятся в локальном хранилище браузера (localStorage). При перезагрузке страницы данные восстанавливаются.
Дополнительные возможности
- Переключение между месяцами (стрелки вперед/назад).
- Экспорт данных в CSV.