Shareable draft preview links
Created by: jedmund
Summary
- HMAC-signed preview tokens with 24h TTL for sharing unpublished content
- New
/api/preview/generateendpoint (admin-only) returns a signed preview URL - New
/api/projects/by-slug/[slug]public endpoint with preview token support - Posts by-slug endpoint accepts
?preview=TOKENto bypass publish check - Page loaders forward preview params to API calls
- "Copy preview link" action in StatusDropdown when content is in draft status
Test plan
-
Create a draft post → use dropdown to copy preview link → open in incognito → verify post renders -
Verify expired/tampered tokens return 404 -
Verify "Copy preview link" only appears for drafts, not published posts -
Test project preview via /work/[slug]?preview=TOKEN