Дела по категориям
Реализуйте планировщик дел, разбитых по категориям.
Основные возможности проекта
- Список категорий в виде ссылок.
- Список дел в выбранной категории.
- Управление категориями: создание, редактирование, удаление.
- Управление делами: создание, редактирование, удаление, отметка выполненными.
- Данные хранятся в localStorage.
Главная страница
На странице должны быть размещены:
- Список категорий (слева или сверху).
- Список дел выбранной категории (основная область).
Категории
Категории выводятся в виде ссылок. При клике на категорию открывается список дел для данной категории. Рядом с каждой категорией должны быть кнопки:
- Редактировать - изменение названия категории.
- Удалить - удаление категории (с подтверждением, с проверкой наличия дел).
Внизу списка категорий должна быть форма для добавления новой категории (инпут и кнопка "Добавить категорию").
Список дел
При выборе категории отображается список дел этой категории. Каждое дело должно содержать:
- Название дела.
- Описание дела (опционально).
- Дату и время выполнения (опционально).
- Статус (выполнено или нет).
- Кнопки: редактировать, удалить, отметить сделанным.
Добавление дела
Над списком дел должна быть форма для добавления нового дела с полями:
- Название дела (инпут, обязательное).
- Описание (текстареа, опционально).
- Дата и время (datetime-local, опционально).
- Кнопка "Добавить дело".
Редактирование дела
При нажатии на кнопку "Редактировать" открывается форма (модальное окно или форма на месте), заполненная текущими данными дела. После редактирования и нажатия на кнопку "Сохранить" запись обновляется.
Удаление дела
При нажатии на кнопку "Удалить" появляется подтверждение (confirm), после чего дело удаляется из списка.
Отметка дела выполненным
При нажатии на кнопку или чекбокс "Сделано" дело помечается как выполненное. Визуально дело меняет стиль (перечеркивание, изменение цвета). Повторное нажатие возвращает дело в активное состояние.
Хранение данных
Все категории и дела должны храниться в локальном хранилище браузера (localStorage). При загрузке страницы данные загружаются из хранилища, при изменении - сохраняются обратно. Структура хранения должна содержать список категорий и внутри каждой категории список дел.
Дополнительные возможности
- Фильтр: показывать только активные или только выполненные дела.
- Подсчет количества дел в категории.