- CatalogSearchOverlay: replace handleAddStub with real openAddToCollection/openAddToThread routing based on catalogSearchMode - ConfirmDialog + __root.tsx: swap t() for Trans component on deleteItemMessage, deleteCandidateMessage, pickWinnerMessage — fixes <bold> rendering as literal text - Biome format pass: fix 23 lint/format errors across scripts, services, tests - Planning: mark all UAT and verification gaps resolved for phases 07, 11, 16, 20, 21, 22, 24, 32, 34; close debug sessions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
66 lines
2.6 KiB
Markdown
66 lines
2.6 KiB
Markdown
---
|
|
status: complete
|
|
phase: 32-setup-sharing-system
|
|
source: [32-01-SUMMARY.md, 32-02-SUMMARY.md, 32-03-SUMMARY.md, 32-04-SUMMARY.md]
|
|
started: 2026-04-13T18:00:00.000Z
|
|
updated: 2026-04-19T00:00:00Z
|
|
---
|
|
|
|
## Current Test
|
|
|
|
[complete]
|
|
|
|
## Tests
|
|
|
|
### 1. Visibility badge on setup cards
|
|
expected: On the setups list page, each setup card shows a visibility indicator. Public setups show a green globe icon, link-shared show a blue link icon, and private show a gray lock icon.
|
|
result: PASS
|
|
|
|
### 2. Share button on setup detail page
|
|
expected: On a setup detail page (as the owner), there's a "Share" button (desktop: text + icon, mobile: icon-only 44px touch target) that replaces the old public/private globe toggle. The icon reflects the current visibility state.
|
|
result: PASS
|
|
|
|
### 3. Share modal — visibility picker
|
|
expected: Clicking the Share button opens a modal with three visibility options: Private (gray), Link (blue), Public (green). Selecting one immediately updates the setup's visibility via API call. Current state is highlighted.
|
|
result: PASS
|
|
|
|
### 4. Share modal — create share link
|
|
expected: In the share modal, there's a section to create share links with an expiration dropdown (7 days, 14 days, 30 days, No expiration). Creating a link generates a URL and shows it in the active links list.
|
|
result: PASS
|
|
|
|
### 5. Share modal — copy and revoke links
|
|
expected: Each active share link in the modal has a copy-to-clipboard button and a revoke button. Copying puts the URL in the clipboard. Revoking removes the link from the active list.
|
|
result: PASS
|
|
|
|
### 6. Share modal — private deactivates links
|
|
expected: When switching visibility to "Private" while share links exist, links are deactivated (not deleted). Switching back to "Link" reactivates them.
|
|
result: PASS
|
|
|
|
### 7. Short URL access (/s/token)
|
|
expected: Visiting /s/{token} redirects to /setups/{id}?share={token}. The setup loads correctly showing its items and totals.
|
|
result: PASS
|
|
|
|
### 8. Shared setup viewer — read-only mode
|
|
expected: When viewing a setup via share token, a blue "Shared setup" banner appears at the top. All owner controls are hidden: no Add Items, no Share button, no Delete, no item removal, no classification cycling.
|
|
result: PASS
|
|
|
|
### 9. Invalid share token error
|
|
expected: Visiting a setup with an invalid or expired share token shows a "Link not available" error page instead of the setup content.
|
|
result: PASS
|
|
|
|
### 10. Discovery feed uses visibility
|
|
expected: Only setups with visibility="public" appear on the discovery feed and profile pages. Link-shared and private setups do not appear.
|
|
result: PASS
|
|
|
|
## Summary
|
|
|
|
total: 10
|
|
passed: 10
|
|
issues: 0
|
|
pending: 0
|
|
skipped: 0
|
|
|
|
## Gaps
|
|
|
|
[none]
|