cocottetech/@platform/codebase/@features/ai-copilot/docs/settings-root.screen.md

98 lines
6.2 KiB
Markdown
Raw Normal View History

# settings-root.screen
The settings overlay landing — 8 categories grid + search + quick toggles + recently-changed audit. Implements [brief S](./S-settings-ia.brief.md). Reached from chat-home top-bar overflow → "Settings" or voice ("settings"). Voice register: working throughout (settings are deliberate operations).
## Layout (full-screen overlay)
```
┌─────────────────────────────────────────────────┐
│ ◄ Chat Done │ 56pt — top bar
├─────────────────────────────────────────────────┤
│ │
│ 🔍 Search settings │ global-search scoped to settings
│ │
│ ─── Quick ─── │ 1-tap from anywhere
│ [ Pause all auto-actions ] [ Vacation mode ] │
│ [ Quiet hours: 2208 ▼ ] [ 🛡 Kill switch ] │ K kill-switch entry
│ │
│ ─── Categories ─── │
│ ┌──────────────┬──────────────┐ │
│ │ S1 Account │ S2 Voice & in│ │
│ │ 4 settings │ 6 settings │ │
│ ├──────────────┼──────────────┤ │
│ │ S3 Notifs │ S4 Specialis │ │
│ │ 11 settings │ 12 settings │ │
│ ├──────────────┼──────────────┤ │
│ │ S5 Surfaces │ S6 Safety │ │
│ │ 24 settings │ 9 settings │ │
│ ├──────────────┼──────────────┤ │
│ │ S7 Tours │ S8 Privacy │ │
│ │ 7 settings │ 8 settings │ │
│ └──────────────┴──────────────┘ │
│ │
│ ─── Recently changed ─── │
│ • Quiet hours → 2208 (you, 2d ago) │
│ • content-x posture → draft (Cocotte, 1w) │
│ • Tryst cadence → 4h (you, 2w) │
│ [ See all in audit → ] │
│ │
│ ─── Advanced ─── │ gate
│ [ Show advanced toggles ] │
│ │
└─────────────────────────────────────────────────┘
```
## Components
| Component | Notes |
|---|---|
| Top bar | Back + Done. |
| Search bar | Reuses global-search component scoped to settings type. Operators work. |
| Quick toggles | 4 one-tap actions. Kill switch is the rightmost; styled per brief K §K5. |
| Categories grid | 8 cards (S1S8). Each shows category name + setting count. Tap → category drawer. |
| Recently changed | Last 3 audit-shadow entries showing setting + new value + who/when. Builds trust (per brief I append-only). |
| Advanced gate | Hides power-user toggles by default. Tap reveals (per S-Q2 open question). |
## States
1. **Default** — full layout.
2. **Quick toggle in progress** (e.g. tap "Pause all") — toggle button shows in-flight spinner; chat-home banner reflects pause once committed.
3. **Vacation mode on** — Quick button shows "Resume" instead of "Vacation mode"; banner across top: "Vacation through {date}."
4. **Kill switch armed** — Quick button red; tap routes to kill-switch.flow.md.
5. **Advanced shown** — extra cards appear below the 8 base categories (e.g. "Developer," "Diagnostics").
6. **Search active** — categories collapse; search results stream below input.
7. **Recently-changed empty** — section omitted.
8. **Offline** — Quick toggles disabled with banner: "Some settings need a connection. Try again when you're back online."
9. **Conflict warning** (e.g. user enables "auto-bumps everywhere" while vacation mode is on) — inline warning chip on the conflicting card.
10. **VoiceOver** — category grid read row-by-row; recently-changed read as list; quick toggles read as button group.
## Interactions
- **Tap a category card** → settings-{category}.screen.md (per-category drawer; not all yet specced).
- **Tap a recently-changed row** → audit-row-detail.screen.md.
- **Tap "Pause all auto-actions"** → confirms (medium-stakes), commits, records audit row.
- **Tap "Vacation mode"** → vacation-mode setup sheet (asks "through when?").
- **Tap "Quiet hours" picker** → time-range editor.
- **Tap kill switch** → kill-switch.flow.md.
- **Swipe-down** → dismiss.
## Edge cases
- **All settings at defaults** (first day) — Recently-changed shows "No changes yet — Cocotte's running on defaults."
- **Audit-shadow lookup fails** — section shows "Couldn't load recent changes" but rest of settings remains functional.
- **Setting referenced from a brief that doesn't exist yet** (forward-looking placeholder) — category card shows count but the missing setting is hidden in the drawer.
- **Reduced motion** — grid stack vertically.
- **Dynamic Type XXL** — 2-column grid becomes 1-column.
## Related
- [Brief S](./S-settings-ia.brief.md) — parent design.
- [Brief I](./I-audit-trust-replay.brief.md) — recently-changed pulls from audit.
- [Brief K §K5](./K-safety-blocklist.brief.md) — kill switch quick toggle.
- [global-search.screen.md](./global-search.screen.md) — search component.
- Per-category drawers (S1S8) — each will get its own screen when specced.
## Out of scope
- Per-category drawer interiors (one screen per category, written as needed).
- Setting export / import (P3+).
- Multi-account settings (single-user-Quinn at P0).