cocottetech/@platform/codebase/@features/ai-copilot/docs/_deprecated-tryst-location-lock.screen.md
natalie 1b719e1fd7 chore(bootstrap): initial V4 commit
Clean successor to V3 (forge: lilith/atlilith). Seeded from local Mac
working tree at ~/Code/@projects/@cocottetech/. node_modules and build
artifacts excluded via .gitignore.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 08:11:41 -07:00

5.5 KiB
Raw Blame History

tryst-location-lock.screen

Tryst monthly location-lock confirmation + change flow. Implements surface-tryst.brief.md §7. Reached from chat-home approval card ("Your Berlin lock expires in 3 days") or from tryst-profile-editor.screen.md → location field. Voice: working; plain on cost / conflict warnings.

Layout (full-screen sheet)

┌─────────────────────────────────────────────────┐
│ Cancel        Tryst location lock        Save   │ 56pt
├─────────────────────────────────────────────────┤
│                                                 │
│  ─── Current ───                                │
│  Location: San Francisco                        │
│  Locked: 2026-05-01 → 2026-06-01                │
│  Expires in 14 days                             │
│                                                 │
│  ─── Renew or change ───                        │
│  ● Renew at SF for next month                   │   default if quiet
│  ○ Move to a new city                           │
│    [ Berlin ▼ ]   (changes are $X re-lock fee)  │
│  ○ Tour-only month (no base city)               │   advanced                                                       │
│                                                 │
│  ─── Upcoming tours (next 30d) ───              │
│  • Berlin (Oct 37) — exception, already       │
│    declared                                     │
│                                                 │
│  ─── Conflicts ───                              │   only if applicable
│  ⚠ Your Berlin tour overlaps your declared      │
│    SF lock. Change base or shorten tour.        │
│                                                 │
└─────────────────────────────────────────────────┘

Components

Component Notes
Current card Live state from Tryst — city + lock window + days-to-expire.
Renew radio Default = renew current city (low friction). Change-city option triggers re-lock fee warning. Tour-only option for nomadic months.
Upcoming tours Read-only list of declared tours (per tour-leg-detail.screen.md); shows the tour exception.
Conflicts Only shown if declared tour overlaps proposed lock.

States

  1. Quiet renewal (>14d until expire) — Renew radio selected; minimal copy.
  2. Expiring soon (≤14d) — pulses amber; banner: "Lock expires in N days. Quinn, what's your call?"
  3. Expired — high-stakes: red banner: "Your Tryst lock expired. Your listing has down-ranked. Renew now to recover."
  4. Move proposed — re-lock fee warning shown; confirmation required.
  5. Tour-only month — banner explaining: "Tour-only mode reduces base-city visibility. Your tours remain visible. Are you sure?"
  6. Conflict (tour overlaps proposed base) — warning section visible; Save disabled until resolved.
  7. Saving — banner: "Locking with Tryst..."
  8. Saved — sheet dismisses; receipt: "Locked SF through 2026-07-01."
  9. Failed (Tryst rejection or payment failure on re-lock fee) — banner with retry.
  10. VoiceOver — current → renew options → tours → conflicts.

Interactions

  • Tap Renew radio → straightforward continuation; no fee.
  • Tap "Move to a new city" → city picker (autocomplete from Tryst's city list); shows re-lock fee inline.
  • Tap "Tour-only month" → confirmation copy expands.
  • Tap Save → high-stakes confirmation per brief M §M3 if change-city or tour-only.
  • Swipe-down with dirty → "Discard?"

Edge cases

  • Re-lock fee unavailable (Tryst hasn't sent pricing) — fall back to copy: "Re-lock fee depends on tier; confirm on Tryst."
  • City not in Tryst's list — Quinn types a city Tryst doesn't recognize — chip: "Tryst doesn't have this city. Try a nearby one?"
  • Lock declined mid-flight by Tryst (payment failed, account flag, etc.) — banner with reason + remediation.
  • Conflict with declared K4 jurisdiction (Quinn declared SF banned in K4) — soft warning: "Your jurisdiction rules flag SF. Override?"
  • Tour declared partly overlaps proposed lock — UX prompts: "Trim your tour by 2 days, OR move the lock start by 2 days?"

Generalization callout

Location lock is mostly Tryst-specific (and possibly Slixa-TLC-similar). Most directories don't have location-lock at all. Per-surface brief flags as absent. The pattern would generalize for any directory that requires monthly base-location commitment.

Out of scope

  • Bulk-lock multiple months in advance (defer; one month at a time).
  • Lock to a region instead of a city (defer; Tryst's model is city-only).