|
|
@@ -38,6 +38,9 @@ half af** — node 220276 geeft 404, alleen de dblog-telling staat nog open.
|
|
|
Links / Bezorgen / Agenda — "Bezorgen" kapt af) en **P2-44 · datum-icoon
|
|
|
zonder datum op `EventCurrent`** — allebei door Bob naar Claude geschoven
|
|
|
2026-09-18.
|
|
|
+10. **P2-45 · knop "Selecteer datum" naast de datumchips op Home** — nieuw
|
|
|
+ 2026-09-18 op Bob's vraag, zie het uitgeschreven blok verderop. Feature, dus
|
|
|
+ geen livegang-blokker; Claude kan dit zelf in de builder doen.
|
|
|
|
|
|
### 🆕 88 · "Mijn aanmeldingen" + kloonknop · Eigenaar: Bob (Drupal, deel A), Claude (app, deel B)
|
|
|
|
|
|
@@ -926,6 +929,72 @@ telefoon-emulator bekeken (zie screenshots in `~/uk-shots/2026-09-16/na-*.png`).
|
|
|
kalender-icoon alleen staan. Conditie noteren, op de `Row` zetten
|
|
|
(Visibility → Conditional → Set from Variable → API-response → JSON Path
|
|
|
`$[0].datum` → Is Set) en van de Text afhalen.
|
|
|
+- **P2-45 · Home: knop "Selecteer datum" naast de datumchips · Eigenaar: Claude
|
|
|
+ (builder + custom code), ontwerpbesluit bij Bob.** Vraag Bob 2026-09-18: *"Kan
|
|
|
+ bij die choicechips ook een button, selecteer datum?"* Ja — en het past op de
|
|
|
+ bestaande architectuur zonder nieuwe App State of nieuwe API-parameters.
|
|
|
+
|
|
|
+ **Hoe het nu werkt** (`lib/uitgaanspaginas/home/home_widget.dart`): de chips
|
|
|
+ (Alles / Vandaag / Dit weekend / Deze week, `wrapped: true`) zetten in hun
|
|
|
+ `onChanged` `FFAppState().datumFilter = <chiplabel>` en roepen daarna
|
|
|
+ `herlaadLijsten()` aan. Elke van de 5 `HomeUitgaantabelKaartComponent`-
|
|
|
+ instanties heeft `key: ValueKey(FFAppState().datumFilter)` en krijgt
|
|
|
+ `datumVan: filterDatumVan(datumFilter)` / `datumTot: filterDatumTot(...)`
|
|
|
+ mee; die twee custom functions vertalen het chiplabel naar
|
|
|
+ `yyyy-MM-dd 00:00:00` resp. `yyyy-MM-dd 23:59:59`, en die gaan als
|
|
|
+ `datum_van`/`datum_tot` naar `flutterflowmobiel1` (afgehandeld in
|
|
|
+ `custom_views_query_alter()`). `datumFilter` is dus de enige bron van
|
|
|
+ waarheid — een gekozen datum hoeft daar alleen maar *in* te komen.
|
|
|
+
|
|
|
+ **A · `filterDatumVan` / `filterDatumTot` een rauwe datum laten doorlaten.**
|
|
|
+ Voeg in beide functies, direct ná `final k = (keuze ?? '').toLowerCase().trim();`
|
|
|
+ en vóór de `contains`-checks, toe:
|
|
|
+ ```dart
|
|
|
+ if (k.length == 10 && k[4] == '-' && k[7] == '-') {
|
|
|
+ return '$k 00:00:00'; // in filterDatumTot: '$k 23:59:59'
|
|
|
+ }
|
|
|
+ ```
|
|
|
+ Geen regex, geen geneste closure (FlutterFlow's validator struikelt daarover,
|
|
|
+ zie `CLAUDE.md`). Taalonafhankelijk, dus dit werkt ook in het Engels.
|
|
|
+ ⚠️ Achteraf bewerken in de Custom Code-editor is onbetrouwbaar: **Cancel →
|
|
|
+ "Discard new custom code?" → Yes** en de volledige body in één keer opnieuw
|
|
|
+ typen, daarna **Ctrl+S** (zonder die Ctrl+S haalt de wijziging de export niet).
|
|
|
+
|
|
|
+ **B · De knop op Home.** `FlutterFlowChoiceChips` zit als direct kind in de
|
|
|
+ Column onder het zoekveld. Wrap de chips in een **Row** en zet de knop
|
|
|
+ ernaast (chips in `Flex → Expansion = Expanded`, zodat ze blijven wrappen).
|
|
|
+ Voorkeur: een compacte knop of `FlutterFlowIconButton` met
|
|
|
+ `Icons.calendar_month` — vier chips vullen op 411 dp al bijna de breedte, dus
|
|
|
+ een brede tekstknop ernaast loopt over. Controleer op telefoonformaat
|
|
|
+ (411 dp) én tablet dat er niets afkapt.
|
|
|
+
|
|
|
+ **C · Actieketen op de knop** (Action Flow Editor, niet het compacte
|
|
|
+ Actions-paneel — daar opent de Set-Variable-dialoog niet):
|
|
|
+ 1. **Date/Time Picker** — type *Date only*, `Min Date` = vandaag.
|
|
|
+ 2. **Update App State** → `datumFilter` = `Date Picked 1`, Available Options
|
|
|
+ **DateTime Format** → in *DateTime Format Options* het woord `custom` typen
|
|
|
+ (staat niet in de standaardlijst) → *Custom Format* **`yyyy-MM-dd`**. Die
|
|
|
+ 10-tekenvorm is precies wat A herkent. `Date Picked N` staat onder **Widget
|
|
|
+ State**; zoekveld leeg laten, sectie openklappen, 10 s wachten en hoveren
|
|
|
+ (zie `CLAUDE.md`).
|
|
|
+ 3. **Custom Action `herlaadLijsten`** — verplicht, anders houdt de
|
|
|
+ `pagingController` de oude lijst vast; de Value Key alleen doet niets.
|
|
|
+
|
|
|
+ **D · Twee restpunten die je bewust moet afhandelen.**
|
|
|
+ - Na het kiezen van een datum blijft de eerder gekozen chip nog gemarkeerd —
|
|
|
+ FlutterFlow heeft geen actie om een `FormFieldController` van choice chips
|
|
|
+ te wissen. Oplossing: laat de **knoptekst de gekozen datum tonen**, via een
|
|
|
+ nieuwe custom function `datumKnopLabel(String? filter)` die `Selecteer
|
|
|
+ datum` teruggeeft tenzij `filter` een 10-teken-datum is (dan `dd-MM-yyyy`).
|
|
|
+ Dan is altijd zichtbaar welk filter écht actief is.
|
|
|
+ - Andersom klopt het al vanzelf: een chip aantikken overschrijft
|
|
|
+ `datumFilter` en wist de datum dus.
|
|
|
+
|
|
|
+ **Testen** (browserloos, telefoonformaat): `--route "/home"` in een profile-
|
|
|
+ build, datum kiezen, en de lijst naleggen met
|
|
|
+ `curl ".../flutterflowmobiel1.json?display_id=services_5&townid=28695&datum_van=<d>%2000:00:00&datum_tot=<d>%2023:59:59"`.
|
|
|
+ Reken erop dat de evenementenvoorraad per dag sterk wisselt — tel eerst met
|
|
|
+ curl vóór je concludeert dat de knop niets doet.
|
|
|
- **P2-36 · ❌ NEE — besluit Bob 2026-09-16: kaarttitels blijven Roboto.**
|
|
|
Niet opnieuw voorstellen. (Voorstel was Title Large/Medium op Noto Serif zetten
|
|
|
omdat de site kaarttitels in serif zet; Headline L/M/S staan al wel op serif.)
|