Що отримаємо: додаток набуває свого фінального вигляду як система продуктивності. Ми відмовляємося від "пласких" списків на користь багаторівневої структури (задача → підзадачі), додаємо теги для контексту та візуалізуємо роботу через Канбан-дошку.

Головна ідея уроку: Справжня система GTD потребує гнучкості.

Сьогодні ми повністю фіналізуємо архітектуру роботи з задачами!


Крок 1. Пояснення концепцій (Архітектура)

Підзадачі (Next Actions)

Коли ви записуєте задачу "Записати урок по вайбкодингу", ви не можете виконати її за один крок. Вам треба "Написати план", "Зробити конспект", "Записати відео". У нашій архітектурі ми створюємо нову таблицю subtasks. Кожна підзадача має свій чекбокс (виконано/ні) і прив'язана до головної задачі.

Теги та Контексти У GTD контексти (наприклад @ноутбук_online, @глибока_робота) допомагають фільтрувати задачі залежно від того, де ви знаходитесь і скільки у вас енергії. Ми реалізуємо їх як теги.

Статуси та Канбан Замість того, щоб просто дивитися на задачі зверху вниз, ми розіб'ємо їх на колонки: "Термінові", "Не термінові" (Next Actions), "Щоденні" (Someday). Це і є Канбан.


Крок 2. База даних

Створюємо нові рядки в базі даних під майбутні підзадачі та матеріали задач


У додатку Mini GTD UA нам потрібно додати можливість розбивати задачі на конкретні кроки (Підзадачі / Next Actions) та прикріплювати файли/посилання (Матеріали).
1. Створи нову таблицю `subtasks` у базі даних (Supabase):
- id (унікальний)
- task_id (прив'язка до головної задачі, Cascade delete)
- user_id (для безпеки RLS)
- title (назва кроку, текст)
- completed (true/false, за замовчуванням false)
- created_at
2. Створи нову таблицю `materials` у базі даних (Supabase):
- id (унікальний)
- task_id (прив'язка до головної задачі, Cascade delete)
- user_id (для безпеки RLS)
- type (тип матеріалу: "link", "file", "notion", "gdrive")
- url (посилання на ресурс або файл)
- title (назва матеріалу)
- created_at
Налаштуй RLS (Row Level Security): користувач може бачити та змінювати лише свої підзадачі та матеріали.

Крок 3. Інтерфейс: Карточка Задачі (Теги, Статуси, Чекліст)

Ми перероблюємо саму карточку задачі. Тепер це не просто рядок тексту, а повноцінний блок (як на скріншоті), де можна вибрати статус з випадаючого списку, додати теги і, головне, керувати чеклістом підзадач.Інтерфейс карточки задачі

text

Онови UI карточки задачі в Mini GTD UA, щоб вона виглядала як повноцінний пульт керування.

У кожній карточці задачі має бути:
1. Заголовок задачі (назва).
2. Блок тегів: відображення масиву тегів (наприклад "@глибока_робота") у вигляді "пігулок" (badges) + кнопка "+ тег" для додавання нового.
3. Два випадаючих меню (Dropdowns):
   - Статус/Пріоритет (наприклад: Термінові, Звичайні).
   - Список (Inbox, Next, Someday, Read/Watch, Archive). Зміна списку одразу переміщує задачу.
4. Дата (Дедлайн) з можливістю редагування через Date Picker та іконка "Видалити".
5. Блок Підзадач (Наступних дій):
   - Відобразити список підзадач (з таблиці subtasks).
   - Біля кожної підзадачі — круглий чекбокс.
   - Кнопка хрестика (видалити підзадачу) при наведенні.
   - Внизу списку: Інпут "+ Підзадача" та кнопка "Додати". Додавання підзадачі має зберігати її в базу без перезавантаження сторінки (Optimistic UI).

Стиль має бути сучасним, картки білі на світло-сірому фоні (або темна тема з відповідними контрастами), із заокругленими кутами та легкими тінями. Мова інтерфейсу — українська.