| 25 |
25 |
|
- [x] [rust-fuzz] Replace `.unwrap()` with `.expect("tier passed is_none guard")` in db/creator_tiers.rs:607
|
| 26 |
26 |
|
- [x] [rust-fuzz] Change `Config.host_url` from `String` to `Arc<str>` — eliminates 30+ String clones across codebase
|
| 27 |
27 |
|
|
| 28 |
|
- |
### Dashboard Restructure (2026-05-05)
|
|
28 |
+ |
### Dashboard Usability — Remaining (2026-05-05)
|
| 29 |
29 |
|
|
| 30 |
|
- |
Redesign user dashboard around user intent rather than role. Split the monolithic Account tab into three purpose-driven tabs. Gate content by account state (fan → new creator → active creator).
|
|
30 |
+ |
Dashboard restructure complete (Phases 1-6 in todo_done.md). Tab layout: Projects, Payments, Analytics, Profile, Account, Plan + overflow. Fan/creator progressive disclosure implemented. Labels removed. Jargon renamed.
|
| 31 |
31 |
|
|
| 32 |
|
- |
#### Tab Structure
|
|
32 |
+ |
#### Performance
|
|
33 |
+ |
- [ ] Cross-site performance pass — pre-fetch tab data on hover, optimize perceived load times
|
| 33 |
34 |
|
|
| 34 |
|
- |
New user-level tabs: **Projects, Payments, Analytics, Profile, Account, Plan** + overflow (Media, SSH Keys, Forums, Support).
|
| 35 |
|
- |
|
| 36 |
|
- |
Fan tab bar (no creator access): **Profile, Payments, Plan, Support** — 4 tabs, no overflow.
|
| 37 |
|
- |
|
| 38 |
|
- |
| Tab | Contents | Mental model |
|
| 39 |
|
- |
|-----|----------|--------------|
|
| 40 |
|
- |
| Projects | Project list, create project | "My work" |
|
| 41 |
|
- |
| Payments | Purchases (fan), + sales/tips/splits (creator) | "My money" |
|
| 42 |
|
- |
| Analytics | Views, revenue, fans | "My numbers" |
|
| 43 |
|
- |
| Profile | Display name, bio, links, custom domain, personal feed | "How the world sees me" |
|
| 44 |
|
- |
| Account | Email/username, password, 2FA, passkeys, sessions, notifications, data export/import, account status, pause, delete | "My account's mechanics" |
|
| 45 |
|
- |
| Plan | Creator tier, storage, Stripe connect, invites, broadcast; or "Become a Creator" application for fans | "My relationship with the platform" |
|
| 46 |
|
- |
|
| 47 |
|
- |
Overflow (creator only): Media (after first project), SSH Keys (when git enabled), Forums (when MT memberships exist), Support (always).
|
| 48 |
|
- |
|
| 49 |
|
- |
#### Progressive Disclosure by Account State
|
| 50 |
|
- |
|
| 51 |
|
- |
**Fan (no creator access):**
|
| 52 |
|
- |
- Profile: display name, bio, links, personal feed. No custom domain
|
| 53 |
|
- |
- Payments: purchases only. No seller sections
|
| 54 |
|
- |
- Plan: "Become a Creator" — explanation, tier comparison, application form
|
| 55 |
|
- |
- Account: full security (password, 2FA, passkeys, sessions), fan notification prefs (release alerts, login alerts), data export, delete
|
| 56 |
|
- |
- Hidden entirely: Projects, Analytics
|
| 57 |
|
- |
|
| 58 |
|
- |
**New creator (approved, no projects/sales yet):**
|
| 59 |
|
- |
- All fan content, plus:
|
| 60 |
|
- |
- Projects: empty state → "Create your first project"
|
| 61 |
|
- |
- Analytics: empty state → "Publish an item to start tracking views and revenue"
|
| 62 |
|
- |
- Profile: + custom domain
|
| 63 |
|
- |
- Account: + pause creator, + creator notification prefs (sale, follower, issue alerts)
|
| 64 |
|
- |
- Payments: + empty seller section ("Once you make sales, they appear here")
|
| 65 |
|
- |
- Plan: current tier, storage, upgrade/downgrade, invites, broadcast
|
| 66 |
|
- |
|
| 67 |
|
- |
**Active creator:**
|
| 68 |
|
- |
- Full content in all tabs
|
| 69 |
|
- |
|
| 70 |
|
- |
#### Implementation Steps
|
| 71 |
|
- |
|
| 72 |
|
- |
- [x] **Phase 1: Split templates** — Extract `user_details.html` into `user_profile.html`, `user_account.html`, `user_plan.html`
|
| 73 |
|
- |
- [x] **Phase 2: Route handlers** — Add `dashboard_tab_profile`, `dashboard_tab_account`; keep `dashboard_tab_creator` (served as "Plan" tab)
|
| 74 |
|
- |
- [x] **Phase 3: Tab bar** — Update `dashboard-user.html` with new tab layout. Fan vs creator logic for which tabs render
|
| 75 |
|
- |
- [x] **Phase 4: Progressive disclosure** — Gate sections within each tab by account state. Custom domain behind creator access. Seller payments behind creator access. Creator notifications behind creator access. Analytics empty state improved
|
| 76 |
|
- |
- [x] **Phase 5: Move SyncKit to project dashboard** — Project-level tab alongside Code, filtered to that project's apps. DB query `get_sync_apps_by_project` added. Removed from user-level overflow
|
| 77 |
|
- |
- [x] **Phase 6: Simplify Stripe status** — Single intent-driven status: "Ready to receive payments" (green check) or "Action required: [task]" (warning). Replaces 3-column grid + multiple warning banners
|
| 78 |
|
- |
- [ ] **Phase 7: Performance pass** — Deferred to a dedicated cross-site performance push. Pre-fetch tab data on hover, optimize perceived load times, aim for A+ responsiveness across every page
|
| 79 |
|
- |
|
| 80 |
|
- |
#### Remaining Items (from previous audit, unchanged)
|
| 81 |
|
- |
|
| 82 |
|
- |
Discoverability:
|
|
35 |
+ |
#### Discoverability
|
| 83 |
36 |
|
- [ ] Add Media Library access from content editors — "Insert Image" button in blog/item editors
|
| 84 |
37 |
|
- [ ] Add content search/filter to project Content tab — search by title, filter by status/type
|
| 85 |
38 |
|
- [ ] Add "Embed & Share" quick action on Item Overview
|
|
39 |
+ |
- [ ] Add bulk operations hint on Content tab
|
|
40 |
+ |
- [ ] Add contextual next-step suggestions after key actions
|
| 86 |
41 |
|
|
| 87 |
|
- |
Learnability:
|
| 88 |
|
- |
- [x] Rename jargon: Insertions → "Clips"/"Dynamic Clips", Revenue Splits → "Collaborator Payouts", SyncKit tab → "Cloud Sync"
|
| 89 |
|
- |
- [x] Remove Labels feature — AI disclosure covers the trust signal use case. Deleted: db module, API routes, admin panel, discover filters, project settings, item publish confirmations, 12 tests. DB tables (labels, project_labels) still exist but are unused; drop in a future migration
|
| 90 |
|
- |
- [x] Add empty state context to analytics (done in Phase 4)
|
| 91 |
|
- |
|
| 92 |
|
- |
Feature Completeness:
|
|
42 |
+ |
#### Feature Completeness
|
| 93 |
43 |
|
- [ ] Add download count analytics per item
|
| 94 |
44 |
|
- [ ] Add cross-project item view
|
| 95 |
45 |
|
- [ ] Add refund initiation from dashboard
|
| 96 |
46 |
|
- [ ] Add "Export as CSV" button on item sales tables
|
| 97 |
47 |
|
|
| 98 |
|
- |
Discoverability (Lower):
|
| 99 |
|
- |
- [ ] Add bulk operations hint on Content tab
|
| 100 |
|
- |
- [ ] Add contextual next-step suggestions after key actions
|
| 101 |
|
- |
|
| 102 |
48 |
|
### UX — Deferred (post-beta table stakes)
|
| 103 |
49 |
|
- [ ] Reviews/ratings system for items
|
| 104 |
50 |
|
- [ ] Gift purchases at checkout
|