#124 — Beim Generieren einer konkreten Liste aus der Masterpackliste nach dem Namen fragen #127

Closed
opened 2026-08-18 13:14:18 +02:00 by lena · 2 comments
lena commented 2026-08-18 13:14:18 +02:00 (Migrated from git.butzei.de)

Story: Beim Generieren einer konkreten Liste aus der Masterpackliste nach dem Namen fragen

As a Nutzer, der aus der Masterpackliste eine konkrete Packliste für eine Reise generiert,
I want to vor dem Erzeugen nach dem gewünschten Namen der neuen Liste gefragt werden,
so that ich nicht hinterher manuell umbenennen muss, weil sie sonst denselben Namen wie die
Masterpackliste trägt.

Background

Verifiziert im Code: MasterPackingListCheckoutDialog.tsx fragt aktuell nur Climate-/Travel-Type-Filter
und "Also include optional items" ab, aber keinen Titel. CheckoutMasterPackingListCommand (Backend)
übernimmt vermutlich den Titel der Masterpackliste 1:1 für die neu erzeugte Todo-Liste — der Nutzer
bestätigt genau dieses Symptom.

AC

  • MasterPackingListCheckoutDialog.tsx bekommt ein Textfeld für den Namen der neuen Liste, vorbelegt
    mit einem sinnvollen Vorschlag (z. B. Masterpackliste-Titel, frei editierbar) statt einer stillen
    1:1-Übernahme.
  • CheckoutMasterPackingListCommand bekommt einen neuen title-Parameter und verwendet ihn für die
    generierte Todo-Liste statt des Masterpackliste-Titels.
  • Leeres/nur-Whitespace-Namensfeld verhindert das Generieren (analog zu bestehenden
    Titel-Validierungen in diesem Codebase).

Out of scope

  • Sonstige Checkout-Optionen (siehe #125, #128 für separate Änderungen am selben Dialog).
# Story: Beim Generieren einer konkreten Liste aus der Masterpackliste nach dem Namen fragen **As a** Nutzer, der aus der Masterpackliste eine konkrete Packliste für eine Reise generiert, **I want to** vor dem Erzeugen nach dem gewünschten Namen der neuen Liste gefragt werden, **so that** ich nicht hinterher manuell umbenennen muss, weil sie sonst denselben Namen wie die Masterpackliste trägt. ## Background Verifiziert im Code: `MasterPackingListCheckoutDialog.tsx` fragt aktuell nur Climate-/Travel-Type-Filter und "Also include optional items" ab, aber keinen Titel. `CheckoutMasterPackingListCommand` (Backend) übernimmt vermutlich den Titel der Masterpackliste 1:1 für die neu erzeugte Todo-Liste — der Nutzer bestätigt genau dieses Symptom. ## AC - `MasterPackingListCheckoutDialog.tsx` bekommt ein Textfeld für den Namen der neuen Liste, vorbelegt mit einem sinnvollen Vorschlag (z. B. Masterpackliste-Titel, frei editierbar) statt einer stillen 1:1-Übernahme. - `CheckoutMasterPackingListCommand` bekommt einen neuen `title`-Parameter und verwendet ihn für die generierte Todo-Liste statt des Masterpackliste-Titels. - Leeres/nur-Whitespace-Namensfeld verhindert das Generieren (analog zu bestehenden Titel-Validierungen in diesem Codebase). ## Out of scope - Sonstige Checkout-Optionen (siehe `#125`, `#128` für separate Änderungen am selben Dialog).
lena commented 2026-08-19 04:07:55 +02:00 (Migrated from git.butzei.de)

Claiming this. Plan: add a title input to MasterPackingListCheckoutDialog.tsx (pre-filled with the master packing list's own title, freely editable), thread a new title parameter through CheckoutMasterPackingListCommand (backend) to use for the generated Todo list instead of the master list's title, block generation on empty/whitespace-only title.

Claiming this. Plan: add a title input to MasterPackingListCheckoutDialog.tsx (pre-filled with the master packing list's own title, freely editable), thread a new `title` parameter through CheckoutMasterPackingListCommand (backend) to use for the generated Todo list instead of the master list's title, block generation on empty/whitespace-only title.
lena commented 2026-08-19 05:08:39 +02:00 (Migrated from git.butzei.de)

Fixed. CheckoutMasterPackingListCommand now takes a required Title (used for the generated todo list instead of silently reusing the master packing list's own title). MasterPackingListCheckoutDialog.tsx gets a text field pre-filled with the master packing list's title (freely editable, re-seeded each time the dialog opens), Generate is disabled when the trimmed title is empty - same trim+guard convention as this codebase's existing rename flows.

Verification:

  • Backend: new test Uses_the_caller_supplied_title_for_the_generated_list_instead_of_the_master_list_title plus all 8 existing tests updated for the new parameter.
  • Frontend: 4 new tests (pre-fill, edited title sent, disabled+blocked when empty/whitespace, trimming) plus 3 existing tests updated. Full local suite: 1018/1018 vitest tests passed, npm run build clean.
  • CI run 317 (commit 81033f9): all 10 jobs green, including all 4 E2E legs.

Closing as done.

Fixed. `CheckoutMasterPackingListCommand` now takes a required `Title` (used for the generated todo list instead of silently reusing the master packing list's own title). `MasterPackingListCheckoutDialog.tsx` gets a text field pre-filled with the master packing list's title (freely editable, re-seeded each time the dialog opens), Generate is disabled when the trimmed title is empty - same trim+guard convention as this codebase's existing rename flows. Verification: - Backend: new test `Uses_the_caller_supplied_title_for_the_generated_list_instead_of_the_master_list_title` plus all 8 existing tests updated for the new parameter. - Frontend: 4 new tests (pre-fill, edited title sent, disabled+blocked when empty/whitespace, trimming) plus 3 existing tests updated. Full local suite: 1018/1018 vitest tests passed, `npm run build` clean. - CI run 317 (commit 81033f9): all 10 jobs green, including all 4 E2E legs. Closing as done.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
robert/todo#127
No description provided.