Mobile Phase 8e: Reminders due-chips, buckets, snooze sheet + investor picker
Re-author the mobile Reminders surface to the dc anatomy: title + urgency summary line + gradient add (drop Active/Done/All tabs); four urgency buckets (Overdue/Today/This week/Later) with colored dots; urgency-colored DueChip pill (new --due-* theme vars, dark+light); collapsible Completed section (done+cancelled, tap-check reopens). Load all statuses in one call, split client-side. Swipe-right opens a snooze preset sheet (+1/+3/+7/+14d) replacing the fixed +7d. The add flow gains a stacked searchable investor picker over the canonical grid that writes source_row_id -> a real server-resolved investor_id link (replacing the free-text label that never linked; team-task = no investor). Edit stays read-only for the investor (PATCH can't reassign).
This commit is contained in:
@@ -107,11 +107,11 @@ Subsystem rules live in `docs/guides/` and lazy-load in Claude Code via `.claude
|
||||
|
||||
## Current state
|
||||
|
||||
_**Box live at v0.1.0:94**; `main` ahead by mobile Phases 0–7 + P3b + drag-reorder + **8a + 8b + 8c + 8d** — **all deploy-pending** (no s9pk built). **The fundraising grid + email capture is the canonical system of record.** Active thread: **mobile-first redesign → Phase 8**, building to `design/phase8-conformance.md` (the 8a–8i spec, anchored on each `*.dc.html` DEFAULT `data-props` — NOT the `screenshots/` PNGs). **Plan (Grant, 2026-06-19): finish features first → then Grant device-tests + deploys** (nothing verified on a real phone). History: git log + `start9/0.4/startos/versions/`._
|
||||
_**Box live at v0.1.0:94**; `main` ahead by mobile Phases 0–7 + P3b + drag-reorder + **8a + 8b + 8c + 8d + 8e** — **all deploy-pending** (no s9pk built). **The fundraising grid + email capture is the canonical system of record.** Active thread: **mobile-first redesign → Phase 8**, building to `design/phase8-conformance.md` (the 8a–8i spec, anchored on each `*.dc.html` DEFAULT `data-props` — NOT the `screenshots/` PNGs). **Plan (Grant, 2026-06-19): finish features first → then Grant device-tests + deploys** (nothing verified on a real phone). History: git log + `start9/0.4/startos/versions/`._
|
||||
|
||||
- **Mobile redesign — 4 core surfaces built (Grid · Contacts · Pipeline · Reminders), each a rules-of-hooks-safe `useIsMobile()` → `Mobile*`/`Desktop*` pair (desktop untouched).** Foundation: bottom-tab bar + `:root` mobile vars; 4-stage enum; derived grid signals injected-on-GET/stripped-on-write at both points; mobile writes use **one-row endpoints only** (log-communication, pipeline link/stage, reminders, `update-row`) — never whole-grid PUT.
|
||||
- **Phase 8 done so far (8a–8d):** cards re-authored (existing-LP **earmark**/avatar **ring**, PRIORITY/Existing-LP pills, 4-stage chip, recency; disposition badges dropped); **Contacts + Pipeline detail → drag-dismiss bottom sheets** (email-copy pill, Log/Email, Org card, stat tiles, inline move-stage, notes timeline); **Grid-detail notes timeline** + shared `LogCommunicationSheet`; **top-bar quick-log pencil** (`MobileQuickLog`, all tabs); **sort controls** on Grid/Pipeline/Contacts (shared `SortPill`/`SortSheet`; Contacts type-tabs dropped + Priority sort). Per-phase detail in git log + the Design convention's primitives list.
|
||||
- **Phase 8 done so far (8a–8e):** cards re-authored (existing-LP **earmark**/avatar **ring**, PRIORITY/Existing-LP pills, 4-stage chip, recency; disposition badges dropped); **Contacts + Pipeline detail → drag-dismiss bottom sheets** (email-copy pill, Log/Email, Org card, stat tiles, inline move-stage, notes timeline); **Grid-detail notes timeline** + shared `LogCommunicationSheet`; **top-bar quick-log pencil** (`MobileQuickLog`, all tabs); **sort controls** on Grid/Pipeline/Contacts (shared `SortPill`/`SortSheet`; Contacts type-tabs dropped + Priority sort); **8e Reminders re-bucketed** — Active/Done/All tabs dropped → title + urgency **summary line** + gradient add; **4 buckets** Overdue/Today/This-week/Later each with a colored **dot**; urgency-colored **`DueChip`** pill (`--due-*` theme vars) replaces plain due text; collapsible **Completed** section (done+cancelled, strikethrough, tap-check reopens); card now note + org + due-chip (assignee dropped from card, still in edit sheet); **swipe-right → snooze preset sheet** (+1/+3/+7/+14d, dc-style) replacing the old fixed +7d; **add-flow investor picker** — a stacked searchable sheet over the canonical grid investors that writes **`source_row_id` → a real server-resolved `investor_id` link** (replaces the old free-text label that never actually linked; "team task" = no investor). Per-phase detail in git log + the Design convention's primitives list.
|
||||
- **Live (deployed):** W2 NL query (v94); W1 reminders (v93); grid Pipeline (v88); Matrix intake + Gmail capture (DWD) + daily digest; Thesis/Architect (dual-approval); outreach — all draft-only.
|
||||
- **Tests:** **39/39 backend green** (`python3 backend/run_tests.py`; +`test_grid_comm_timeline.py` for the 8c timeline filter, +priority assertions in `test_contacts_grid_signals.py`), `py_compile` clean; 8c+8d surfaces interaction-verified via throwaway 375px jsdom harnesses (deleted after).
|
||||
- **Next — Phase 8, in order, build to `design/phase8-conformance.md`:** **8e** reminders (due-chip + Overdue/Today/This-week/Later buckets + dots + snooze sheet + investor picker) → **8f** Pipeline card (earmark/Priority/recency + horizontal-scroll stage pills + dots) → **8g** add-investor stage+priority → **8h** loose ends (incl. Grid detail G4/G5/G6 stage-card/reminder-card/timeline; "Open-in-Grid" deep-link-to-investor) → **8i** shell SVG icons + `·Ten31·` wordmark. **Skip Pipeline accordion** (Grant). **Then (after feature-complete):** deploy P0–P8 + P3b in one s9pk (**authorize + version-bump first**) and device-test light/dark on a phone.
|
||||
- **Tests:** **39/39 backend green** (`python3 backend/run_tests.py`; +`test_grid_comm_timeline.py` for the 8c timeline filter, +priority assertions in `test_contacts_grid_signals.py`), `py_compile` clean; 8c+8d+8e surfaces interaction-verified via throwaway 375px jsdom harnesses (deleted after). 8e was frontend-only — no backend touched, so the 39/39 count is unchanged (the reminders read path was untouched: the list endpoint with no `status` param already returns all statuses, which 8e now splits client-side).
|
||||
- **Next — Phase 8, in order, build to `design/phase8-conformance.md`:** **8f** Pipeline card (earmark/Priority/recency + horizontal-scroll stage pills + dots) → **8g** add-investor stage+priority → **8h** loose ends (incl. Grid detail G4/G5/G6 stage-card/reminder-card/timeline; "Open-in-Grid" deep-link-to-investor) → **8i** shell SVG icons + `·Ten31·` wordmark. **Skip Pipeline accordion** (Grant). **Then (after feature-complete):** deploy P0–P8 + P3b in one s9pk (**authorize + version-bump first**) and device-test light/dark on a phone.
|
||||
- **Open / risks:** all mobile work + light theme **built but never deployed or device-tested** (smoke/jsdom only); `MobileDetailRow` now unused-but-retained (legacy-usage sweep); Pipeline detail "Committed" tile shows grid-committed not deal-expected (deal forecast in a footnote); W2 happy-path only; **Claude/Architect path unverified live on the box**; v2.0 reserve-asset spine **not canonical**; doc drift — `crm-overview.md`/`EVALUATION.md` still call `lp_profiles` live.
|
||||
|
||||
Reference in New Issue
Block a user