Ver Fonte

TASKS: P2-27b besluiten Bob, C14 gemeten (uploads permanent) + fix, zoek-filter op devbob geverifieerd

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bob há 11 horas atrás
pai
commit
1ea1aae9ab
1 ficheiros alterados com 40 adições e 3 exclusões
  1. 40 3
      TASKS.md

+ 40 - 3
TASKS.md

@@ -24,6 +24,24 @@ FlutterFlow-commit op `main`**, de commit-knop in het Version Control-paneel
 reageerde niet op Claude's klik. `dart analyze` op de verse export: 0 errors.
 Emulator-5556 heeft nu de profile-APK van die export + per-app-locale `nl-NL`.*
 
+### 🆕 P2-30 · `EventCurrent` (evenementpagina) — layout herzien · Eigenaar: Claude — bezig
+
+Gemeld door Bob 2026-09-15 met een tabletscreenshot; nagemeten op de telefoon
+(411 dp) en daar is het erger. Wat er mis is, in de gegenereerde code
+(`lib/horecagelegenhedenoverzicht/event_current/event_current_widget.dart`):
+1. **Reuzenlogo bovenaan** — de AppBar heeft `HeaderButtonsComponent` in de
+   `title`-slot staan en in `FlexibleSpaceBar.background` staat nog de
+   **placeholder-`Image` `logo800px.png`** op `width * 0.7`. Elke andere pagina
+   heeft het andersom (component ín de background, geen losse image).
+2. **Pagina scrolt niet** — de body is een niet-scrollende `Column` met twéé
+   `Expanded`-kinderen, dus alles moet op één scherm passen.
+3. **Twee overflows** (32 px en 119 px op tablet) — gevolg van punt 2.
+4. **Op de telefoon valt de beschrijving buiten beeld**: de gradient-kaart en
+   een `Container` van `width * 0.6` staan naast elkaar in een `Row`.
+5. **Titel kapt af** zonder wrap/ellipsis.
+6. **"Alle evenementen"-knop** onderaan moet weg (Bob: lijkt op een terugknop).
+7. De horeca-carousel onderaan wordt afgekapt (zelfde oorzaak als 2/3).
+
 ### 🆕 P2-29 · Aanmaakpagina's `uitgaansevenementAanmaken` + `stadsactiviteitAanmaken` — verbeterronde · Eigenaar: de sessie die op deze twee pagina's zit (Bob 2026-09-15 avond: "een andere sessie is bezig met de aanmaakpagina's") — niet nog een sessie erbij
 
 Bob's akkoord 2026-09-15 op blok A, daarna blok B. Alles hieronder is
@@ -95,7 +113,16 @@ builder aangeraakt**. Afgeronde punten verwijderen; per punt export-verifiëren.
   → staat nu op de P2-7-lijst.
 - **C13** Bronkeuze-sheet ("Choose Source / Gallery / Camera") + 46 velden →
   P1-17 bij livegang.
-- **C14** Losse upload-fids zonder indienen. Eén vraag beslist het: slaat
+- **C14 · ✅ GEMETEN 2026-09-15: uploads zijn PERMANENT (status 1).** Bob's
+  query toonde 9 losse fids (5495517, 5495904–5495906, 5495993–5495997, 27 aug
+  – 2 sep, testuploads zonder node) allemaal met `status = 1`, dus die blijven
+  eeuwig staan. **Fix (Bob, `_custom_bestand_upload()` in
+  `custom.evenementen_aanmaken.inc`):** `file_save_data()` zet standaard
+  `FILE_STATUS_PERMANENT`; direct erna `$file->status = 0; file_save($file);`.
+  Dan maakt `file_field_presave()` het bestand permanent zodra een node het
+  claimt, en ruimt `system_cron` de rest na 6 uur op. Eenmalig de 9 wezen
+  opruimen met `file_delete()` na een `file_usage_list()`-check (commando in de
+  chat van 15 sep). Oorspronkelijke vraag: slaat
   `bestand_upload/upload` in `custom.module` het bestand op als **tijdelijk
   (status 0)** of **permanent**? Tijdelijk = niets doen (`file_field_presave`
   maakt aangehangen bestanden bij `node_save()` vanzelf permanent, `system_cron`
@@ -170,7 +197,11 @@ hoe belangrijk het voor de app is.*
    }
    ```
    Test: `…services_3.json?townid=28695&zoek=jazz&_cb=…` → deelverzameling,
-   `zoek=qqqzzz` → `[]`, zonder `zoek` → ongewijzigd aantal. Client-side zoeken kan hier niet: `services_1`
+   `zoek=qqqzzz` → `[]`, zonder `zoek` → ongewijzigd aantal.
+   **✅ Staat op devbob en werkt (Claude, 2026-09-15 23:00):** jazz → 3, JAZZ →
+   3 (hoofdletterongevoelig), qqqzzz → 0, `o'neil` → 200 zonder fout, zonder
+   `zoek` → 25. **Nog te doen: deployen naar productie + `cc all`**; daarna
+   bouwt Claude de app-kant (P2-26). Client-side zoeken kan hier niet: `services_1`
    heeft 937 items voor Amsterdam (38 pagina's), `services_3` 497,
    `services_5` 450 — gemeten 2026-09-15.
    *Zodra 1 en 2 er staan is de app-kant van allebei klein werk: één
@@ -250,7 +281,13 @@ vanROOTS"). Dat "Onderdeel van" + serienaam zonder spatie is een prefix die
 de **importer** (Django) toevoegt; de fout zit dus daar. Ook de 37 gevallen
 van `zin.Hoofdletter` zonder spatie ("doet.Kijken", "time.They") komen zo uit
 de bron en zijn met tag-vervanging niet te raken.
-- **Fix aan de bron (Bob, importer):** spatie na "Onderdeel van" bij het
+- ~~Fix aan de bron (importer)~~ en ~~bestaande nodes repareren~~ — **Bob
+  2026-09-15: maakt niet uit / doen we niet.** Alleen de bijvangst hieronder
+  blijft: `'inhoud'` toevoegen aan `$fields_to_clean` in het **eerste** blok van
+  `custom_services_request_postprocess_alter()` — de `if` op
+  `$args[0] == 'flutterflowmobiel1' && $args[1] == 'services_1'` (de
+  commentaarkop erboven zegt misleidend "establishment-info").
+- **Oud (ter info):** spatie na "Onderdeel van" bij het
   samenstellen van de body. Eventueel ook `<br>`/`</p>` van de bronsite door
   een spatie vervangen vóór het strippen, als de importer zelf stript.
 - **Bestaande nodes repareren (één keer, Bob):** eerst tellen