- Verplaatst de bestaande tabTussendoortjes-inhoud naar een nieuwe
inspiratieSheet bottom-sheet overlay (reuseert .modal-overlay,
.modal-sheet, .modal-handle, backdrop-close en setupSwipeDown).
- Klikken op 'Vind inspiratie' bij Tussendoor 1/2/3 opent nu de bottom
sheet i.p.v. volledige tab-navigatie.
- Sheet heeft X-knop, backdrop-click en swipe-down om te sluiten.
- Haptics bij openen (10ms) en sluiten (6ms).
- renderTussendoortjes() werkt zowel in tab als sheet context.
- clearInspiratieContext() herstelt context ook als sheet open is.
- Playwright-tests geüpdatet: verifiëren sheet open/sluit, titel,
context, X/backdrop close, Dagboek blijft actief, geen tab-navigatie.
- docker/index.html gesynchroniseerd.
- Remove navTussendoortjes button HTML, class toggle, and click listener
- Remaining nav items (Zoeken, Dagboek, Maaltijden) auto-distribute via flex:1
- Expose window.switchTab for test access (was IIFE-scoped)
- Update e2e tests: first test verifies button is gone, rest use
page.evaluate(() => switchTab('tussendoortjes'))
- Update inspiratie.spec.js helper to use switchTab via evaluate
- Sync docker/index.html with index.html
Resolves: t_3c830823
2 nieuwe Playwright tests:
- Sentinels triggeren meer items na scrollIntoView
- Zoekopdracht reset paginering terug naar ≤ SEARCH_PAGE_SIZE
docker/index.html synced met worker-implementatie
Root cause: listEl.addEventListener werd elke renderDagboek call opnieuw toegevoegd → 4+ handlers per klik. Fix: delegatie in init() met _delegationSetup flag, slechts 1 registratie.
21 e2e tests total, all passing against production site.
Nieuwe tests toegevoegd:
- portion stepper: steppers verschijnen in addMealModal met count=1
- portion stepper: plus op tweede stepper reset eerste, activeert tweede
- portion stepper: minus verlaagt naar 0, wordt dan disabled (geen negatieven)
- portion stepper: active class toggles na plus/minus
- modal close animation: closing class tijdens dismiss
- modal open animation: fadeIn/slideUp CSS animaties op open
- tab switching: switching class tijdens crossfade
- meal save: name input leeg bij openen
- meal save: empty name toont rode rand, modal blijft open
- date navigator: prev/next verandert datum, today reset
- zoektab: food items krijgen staggered --i indices
- button press: buttons hebben transition transform
- meal-group uitklappen: saved meal expand/collapse toggles in dagboek
- NEVO dataset (2328 voedingsmiddelen) met zoekfunctie
- Dagboek met eetmomenten, koolhydratenlimiet en progress bar
- Maaltijden opslaan + nesten in dagboek + eenmalig/permanent bewerken
- Portie-systeem met steppers per NEVO-categorie
- Vorteq amber/goud branding met Karby logo
- Voedingscentrum links per product
- 8 Playwright e2e tests (100% groen)
- PWA met offline support
Kanban board: koolhydraat-app