Listengruppen umbenennen + Darstellung anpassen (Listenuebersicht und Bearbeiten-Modus) #204

Closed
opened 2026-09-27 17:19:13 +02:00 by lena · 2 comments
Collaborator

Follow-up auf #197/#201. Eine Listengruppe (Ueberschrift) kann bisher nur erstellt und geloescht werden, nicht umbenannt.

Anforderung (Nutzeranfrage):

  1. Umbenennen soll sowohl in der normalen Listenuebersicht (Sidebar) als auch im Vollbild-Bearbeiten-Modus (ListOrderEditScreen) moeglich sein.
  2. Nur in der Listenuebersicht (Sidebar) zusaetzlich: Customize-Option, um Farbe/Icon der Gruppe zu aendern (wie bei den einzelnen Listen selbst, #181) - der Bearbeiten-Modus bleibt bewusst reiner Text ohne Farbe/Icon.

Acceptance Criteria:

  • GroupHeadingEntity/Dto bekommen Color/Icon-Felder (Default Grey/List, wie bei den 4 Listentypen).
  • Neue Backend-Commands RenameGroupHeadingCommand und SetGroupHeadingAppearanceCommand (Owner-only, kein WS-Broadcast noetig, GroupHeading ist rein privat).
  • Sidebar: Gruppen-Ueberschrift bekommt ein eigenes kleines Options-Menue (Umbenennen + Customize), analog zu ListActionsMenu aber ohne Delete (bleibt Edit-Modus-exklusiv).
  • Bearbeiten-Modus: Stift-Icon neben der Ueberschrift oeffnet ein Inline-Eingabefeld zum Umbenennen (Enter speichert, Escape bricht ab).
  • Eine customized Gruppe zeigt ihr Icon/ihre Farbe auch tatsaechlich sichtbar in der Sidebar (sonst waere Customize wirkungslos) - folgt der bestehenden "Grey/List = nie customized, keine sichtbare Aenderung"-Konvention aus #181.
Follow-up auf #197/#201. Eine Listengruppe (Ueberschrift) kann bisher nur erstellt und geloescht werden, nicht umbenannt. Anforderung (Nutzeranfrage): 1. Umbenennen soll sowohl in der normalen Listenuebersicht (Sidebar) als auch im Vollbild-Bearbeiten-Modus (ListOrderEditScreen) moeglich sein. 2. Nur in der Listenuebersicht (Sidebar) zusaetzlich: Customize-Option, um Farbe/Icon der Gruppe zu aendern (wie bei den einzelnen Listen selbst, #181) - der Bearbeiten-Modus bleibt bewusst reiner Text ohne Farbe/Icon. Acceptance Criteria: - GroupHeadingEntity/Dto bekommen Color/Icon-Felder (Default Grey/List, wie bei den 4 Listentypen). - Neue Backend-Commands RenameGroupHeadingCommand und SetGroupHeadingAppearanceCommand (Owner-only, kein WS-Broadcast noetig, GroupHeading ist rein privat). - Sidebar: Gruppen-Ueberschrift bekommt ein eigenes kleines Options-Menue (Umbenennen + Customize), analog zu ListActionsMenu aber ohne Delete (bleibt Edit-Modus-exklusiv). - Bearbeiten-Modus: Stift-Icon neben der Ueberschrift oeffnet ein Inline-Eingabefeld zum Umbenennen (Enter speichert, Escape bricht ab). - Eine customized Gruppe zeigt ihr Icon/ihre Farbe auch tatsaechlich sichtbar in der Sidebar (sonst waere Customize wirkungslos) - folgt der bestehenden "Grey/List = nie customized, keine sichtbare Aenderung"-Konvention aus #181.
lena self-assigned this 2026-09-27 17:19:30 +02:00
Author
Collaborator

Claiming - implementing directly per user request (extension of #197/#201).

Claiming - implementing directly per user request (extension of #197/#201).
Author
Collaborator

Implemented and shipped in 479c02cf.

Scope shipped:

  • Group headings can now be renamed from the everyday sidebar (new GroupHeadingActionsMenu: an options menu next to the heading with Rename + Customise) and from the full-screen list-order edit mode (new pencil icon opens an inline rename input, Enter saves, Escape cancels).
  • Customise (color/icon, reusing the existing ListAppearanceDialog picker) is sidebar-only per the story's own scope - the edit screen stays plain text.
  • A customised heading now visibly shows its icon/colour next to its name in the sidebar (Grey/List stays the exact old plain-text look, per #181's established convention) - otherwise Customise would have had no visible effect.
  • Backend: GroupHeadingEntity/Dto gained Color/Icon fields (migration included, default Grey/List) plus two new owner-authorized commands (RenameGroupHeadingCommand, SetGroupHeadingAppearanceCommand). No WS broadcast needed - group headings are purely personal.

Tests: 2 new backend handler test files, 1 new frontend component test file (GroupHeadingActionsMenu, 5 tests), plus rename tests added to ListOrderEditScreen.test.tsx and wiring tests added to TodoListMenu.test.tsx. Full suite green.

Live-verified in the local review container: renamed a group from the sidebar menu (propagated instantly to both the sidebar and the edit screen), customised it to Blue/Heart and confirmed the icon+colour actually render in the sidebar, renamed it again from the edit screen's own pencil icon (Enter-to-save), and confirmed Escape correctly discards an in-progress edit without calling the API.

Closing as done.

Implemented and shipped in 479c02cf. Scope shipped: - Group headings can now be renamed from the everyday sidebar (new GroupHeadingActionsMenu: an options menu next to the heading with Rename + Customise) and from the full-screen list-order edit mode (new pencil icon opens an inline rename input, Enter saves, Escape cancels). - Customise (color/icon, reusing the existing ListAppearanceDialog picker) is sidebar-only per the story's own scope - the edit screen stays plain text. - A customised heading now visibly shows its icon/colour next to its name in the sidebar (Grey/List stays the exact old plain-text look, per #181's established convention) - otherwise Customise would have had no visible effect. - Backend: GroupHeadingEntity/Dto gained Color/Icon fields (migration included, default Grey/List) plus two new owner-authorized commands (RenameGroupHeadingCommand, SetGroupHeadingAppearanceCommand). No WS broadcast needed - group headings are purely personal. Tests: 2 new backend handler test files, 1 new frontend component test file (GroupHeadingActionsMenu, 5 tests), plus rename tests added to ListOrderEditScreen.test.tsx and wiring tests added to TodoListMenu.test.tsx. Full suite green. Live-verified in the local review container: renamed a group from the sidebar menu (propagated instantly to both the sidebar and the edit screen), customised it to Blue/Heart and confirmed the icon+colour actually render in the sidebar, renamed it again from the edit screen's own pencil icon (Enter-to-save), and confirmed Escape correctly discards an in-progress edit without calling the API. Closing as done.
lena closed this issue 2026-09-27 21:01:00 +02:00
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#204
No description provided.