Redesign people page with insights-style flow

This commit is contained in:
Rijad Zuzo
2026-02-22 22:59:34 +01:00
parent 7686d0f9cf
commit c281fd8d3d
2 changed files with 1184 additions and 209 deletions
+39 -1
View File
@@ -1,12 +1,50 @@
# Relationship Saver Progress Log
Updated: 2026-02-18
Updated: 2026-02-22
## Collaboration Rule (Carry Forward)
- After every sensible code/documentation change set, create a git commit as
the last step so the next agent session can pick up from clean checkpoints.
## Latest Milestone (2026-02-22): People Page UX Redesign (Insights-Aligned)
Reworked the `People` page to feel closer to the graph long-press `Person
Insights` experience and improved the compact/mobile interaction flow.
- `lib/features/people/people_view.dart`
- redesigned the selected person detail area into an insights-style workspace:
- hero summary card with quick actions (`Capture`, `Idea`, menu + edit/delete)
- stats tiles (affinity, next moment, captures, ideas)
- section cards for:
- profile context (relationship/location/tags/source links + notes)
- ideas
- moments
- reminders
- shared message history
- added richer person list cards:
- next moment pill
- optional location pill
- tag pills
- added People list controls:
- search
- relationship filter chips
- sort menu (affinity / next / A-Z)
- empty state when filters yield no results
- improved compact/mobile flow:
- selected profile workspace now renders above the full list (instead of
after all profiles)
- explicit `All profiles` section header with count
- improved add-person flow UX:
- newly created person is automatically selected/focused immediately
- also fixed the mobile CRUD widget test expectation after layout changes
- migrated page-local filter state to Riverpod 3 `Notifier` providers
(instead of unavailable legacy `StateProvider` API)
- Validation
- `flutter analyze` -> pass
- `flutter test` -> pass
## Latest Milestone (2026-02-18): Quick-Add Actions on Graph Person Insights
Closed a UX gap where long-pressing a graph node opened person insights without