Що отримаємо: додаток набуває свого фінального вигляду як система продуктивності. Ми відмовляємося від "пласких" списків на користь багаторівневої структури (задача → підзадачі), додаємо теги для контексту та візуалізуємо роботу через Канбан-дошку.
Головна ідея уроку: Справжня система GTD потребує гнучкості.
Сьогодні ми повністю фіналізуємо архітектуру роботи з задачами!
Підзадачі (Next Actions)
Коли ви записуєте задачу "Записати урок по вайбкодингу", ви не можете виконати її за один крок. Вам треба "Написати план", "Зробити конспект", "Записати відео". У нашій архітектурі ми створюємо нову таблицю subtasks. Кожна підзадача має свій чекбокс (виконано/ні) і прив'язана до головної задачі.
Теги та Контексти У GTD контексти (наприклад @ноутбук_online, @глибока_робота) допомагають фільтрувати задачі залежно від того, де ви знаходитесь і скільки у вас енергії. Ми реалізуємо їх як теги.
Статуси та Канбан Замість того, щоб просто дивитися на задачі зверху вниз, ми розіб'ємо їх на колонки: "Термінові", "Не термінові" (Next Actions), "Щоденні" (Someday). Це і є Канбан.
Створюємо нові рядки в базі даних під майбутні підзадачі та матеріали задач
У додатку 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): користувач може бачити та змінювати лише свої підзадачі та матеріали.
Ми перероблюємо саму карточку задачі. Тепер це не просто рядок тексту, а повноцінний блок (як на скріншоті), де можна вибрати статус з випадаючого списку, додати теги і, головне, керувати чеклістом підзадач.Інтерфейс карточки задачі
text
Онови UI карточки задачі в Mini GTD UA, щоб вона виглядала як повноцінний пульт керування.
У кожній карточці задачі має бути:
1. Заголовок задачі (назва).
2. Блок тегів: відображення масиву тегів (наприклад "@глибока_робота") у вигляді "пігулок" (badges) + кнопка "+ тег" для додавання нового.
3. Два випадаючих меню (Dropdowns):
- Статус/Пріоритет (наприклад: Термінові, Звичайні).
- Список (Inbox, Next, Someday, Read/Watch, Archive). Зміна списку одразу переміщує задачу.
4. Дата (Дедлайн) з можливістю редагування через Date Picker та іконка "Видалити".
5. Блок Підзадач (Наступних дій):
- Відобразити список підзадач (з таблиці subtasks).
- Біля кожної підзадачі — круглий чекбокс.
- Кнопка хрестика (видалити підзадачу) при наведенні.
- Внизу списку: Інпут "+ Підзадача" та кнопка "Додати". Додавання підзадачі має зберігати її в базу без перезавантаження сторінки (Optimistic UI).
Стиль має бути сучасним, картки білі на світло-сірому фоні (або темна тема з відповідними контрастами), із заокругленими кутами та легкими тінями. Мова інтерфейсу — українська.