feat: Phase 4 grouping with entry-break dividers
Add group.py route, phase4.html template, and supporting state changes. Photos are shown as a flat stream; clicking divider zones inserts entry-break boundaries that split photos into labelled groups. Labels persist via group_labels dict. Done materialises groups into state.groups and advances to write phase. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,7 @@ class Group:
|
||||
id: str
|
||||
photo_ids: list = field(default_factory=list)
|
||||
entry_type: str = "journal" # journal | story
|
||||
label: str = ""
|
||||
title: str = ""
|
||||
body: str = ""
|
||||
location_city: str = ""
|
||||
@@ -42,6 +43,8 @@ class TripState:
|
||||
photos: list = field(default_factory=list)
|
||||
groups: list = field(default_factory=list)
|
||||
notes: str = ""
|
||||
dividers: list = field(default_factory=list) # [{"id": str, "after_order": int}]
|
||||
group_labels: dict = field(default_factory=dict) # {divider_id: label}
|
||||
|
||||
|
||||
def _state_path(album_id: str, app) -> Path:
|
||||
|
||||
Reference in New Issue
Block a user