cocottetech/@platform/codebase/@features/ai-copilot/docs/tryst-profile-editor.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

6.6 KiB
Raw Blame History

tryst-profile-editor.screen

The structured profile editor for Tryst — about-me + rates + services + hours + tour cities + photos slot picker. Implements surface-tryst.brief.md §3, §11. Extends brief H §H2 diff-card pattern for tabular fields. Voice: working.

Layout (full-screen, sectioned and scrollable)

┌─────────────────────────────────────────────────┐
│ Cancel       Edit Tryst profile        Preview  │ 56pt
├─────────────────────────────────────────────────┤
│                                                 │
│  ─── About-me ───                               │
│  ╭───────────────────────────────────────╮      │
│  │ Independent escort based in the Bay  │      │
│  │ Area. Trans, femme, real, no rush.   │      │
│  ╰───────────────────────────────────────╯      │
│  432 / 500   ✓ no banned phrases per K2         │
│                                                 │
│  ─── Rates ───                                  │
│  Incall  1h:  [ $400 ]  2h: [ $700 ]            │
│  Outcall 1h:  [ $500 ]  2h: [ $850 ]            │
│  Overnight:   [ $2,500 ]                         │
│  Currency: [ USD ▼ ]                            │
│                                                 │
│  ─── Services ───                               │
│  [☑ GFE]  [☑ Companionship]  [☐ Couples]        │
│  [☑ Tours]  [☐ Overnight]  [☑ Multi-hour]       │
│  (chips from Tryst-side taxonomy)               │
│                                                 │
│  ─── Hours ───                                  │
│  Mon: [ 10:0002:00 ]   Tue: [ closed ]         │
│  Wed: [ 12:0022:00 ]   …                       │
│                                                 │
│  ─── Tour cities (next 14d) ───                  │
│  • Berlin (Oct 37) · pending publish             │
│  [ Edit tours → ]                                │   routes to H §H3
│                                                 │
│  ─── Photos ───                                  │
│  [ Manage photos → ]                             │   routes to tryst-photo-manager
│                                                 │
└─────────────────────────────────────────────────┘

Components

Component Notes
About-me Free-text with char count + K2 phrase-blocklist check (per brief K §K2). Tabular fields below.
Rates Per-tier numeric inputs with currency picker. Validates positive integers.
Services Multi-select chips from Tryst's fixed taxonomy.
Hours Per-weekday time-range pickers; "closed" toggle per day.
Tour cities Read-only summary; edits route to H §H3 multi-surface fan-out.
Photos Read-only count; edits route to tryst-photo-manager.screen.md.

States

  1. Loaded (no edits) — current values shown; Preview disabled, Cancel = Done.
  2. Editing — at least one field changed; Preview enabled (route to tryst-profile-preview.screen.md); Cancel warns "Discard?"
  3. K2 phrase hit — yellow chip inline: "Your about-me contains 'real name' (per your blocklist). Edit or override?"
  4. Validation error — rate ≤ 0, time-range invalid, etc. Inline.
  5. Saving (after Preview → Approve) — banner: "Pushing to Tryst..."
  6. Save success — sheet dismisses; receipt: "Tryst profile updated. Live in ~2 minutes."
  7. Save failed — per brief M: banner with retry.
  8. Conflict (concurrent edit from another device) — per M §M7 3-way diff.
  9. Tryst-side rejection (photo / phrase / format) — inline error on the affected field.
  10. VoiceOver — sections read in declared order; rates announce as table rows.

Interactions

Edge cases

  • Tryst's taxonomy changes (new service added / removed) — chip set re-pulled at sheet-open; deprecated chips greyed.
  • Currency mismatch (Quinn's setting says USD but Tryst's market is EUR) — inline warning.
  • K2 blocklist phrase appearing only after edit — chip pulses to draw attention before save.
  • Multi-tier rate inconsistency (overnight cheaper than 2h) — inline warning: "Your overnight is less than 2h. Confirm?"
  • Profile too short (about-me < 50 chars) — Tryst-side rejection; warn before save.

Generalization callout

Other directories' profile editors are structurally similar but with different field sets:

  • TS4Rent: rates table similar; adds Sumsub-verified-name handling.
  • Slixa: simpler rates (no incall/outcall split).
  • Eros: city-tier rates (per neighborhood).
  • OnlyFans: subscription tiers + PPV pricing (totally different schema; profile-editor variant is much more involved).

Per-surface brief documents the schema; this screen pattern generalizes to any tabular profile editor.

Out of scope

  • Photo upload UX (separate screen).
  • Tour compose (H §H3 / tour-leg-detail).
  • A/B-testing variants of profile copy (P3+).