# Les 6 — Huiswerk ## QuickPoll polish + voorbereiding Supabase **Deadline:** Voor Les 7 **Inleveren:** GitHub repo via Teams --- ## Opdracht 1 — Polish je app Kies minstens **drie**: - **Better empty states** — als er geen polls zijn, mooie message + CTA - **Dark mode** — toggle button + Tailwind dark classes - **Toast notifications** — `pnpm add sonner` voor vote feedback - **Animatie** — Framer Motion voor vote-count count-up - **Validation** — toon errors inline (geen throw) - **Optimistic UI** — `useOptimistic` voor instant vote-feedback Per gekozen item: korte uitleg in REFLECTIE.md wat je hebt gedaan. --- ## Opdracht 2 — Maak een Supabase account Volgende les koppelen we Supabase. Bereid je alvast voor: 1. Account op **supabase.com** (mag met GitHub) 2. New project — naam `quickpoll`, region `Europe (Frankfurt)` 3. Sla password op (lange random string) 4. Wacht 1-2 min op provisioning 5. Noteer in REFLECTIE.md: - Project URL (eindigt op `.supabase.co`) - Anon key (Settings → API) Je hoeft NIETS in te bouwen — alleen account klaar. --- ## Opdracht 3 — Reflectie (250 woorden) Schrijf in `REFLECTIE.md`: - Wat is volgens jou het verschil tussen een Server Action en een traditionele API route? - Hoe vond je werken met `useFormStatus` + `useOptimistic`? - Welke onderdelen voelden nog onnatuurlijk of onduidelijk? - Wat verwacht je dat met Supabase makkelijker wordt? --- ## Inleveren GitHub repo URL via Teams. Vermeld in je commit-messages welke polish-items je gekozen hebt. --- ## Tips - **Commits klein houden** — één polish-item per commit - **Loop niet vast op één feature** — als iets niet werkt, kies een ander item - **Vraag hulp** in Teams als nodig - **Tijd:** ~2 uur Volgende les: échte database, écht persistent. QuickPoll wordt productie-klaar.