- 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>
2.6 KiB
status, phase, source, started, updated
| status | phase | source | started | updated | ||||
|---|---|---|---|---|---|---|---|---|
| complete | 32-setup-sharing-system |
|
2026-04-13T18:00:00.000Z | 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]