feat(web): one sheet for sharing, downloads and version history

Share & export is one 440px sheet (a full-height bottom sheet on phones)
with Link, Download and History tabs. Share opens Link, the ▾ beside
Download PDF opens Download, the clock opens History, and ⌘⇧S / ⌘⇧E open
their tabs. On desktop the page moves 120px aside so it stays visible.

- Link: the public switch card; the address with a live check (300 ms),
  the reason it can't be used and a suggestion, saved only once valid, so
  the old address stays live; Copy ("Copied" for 2 s); visitor downloads;
  the password (Q3a); Open public page; a QR code; Share via… where the
  platform offers it; and views, downloads and time since the last view
  over 30 days with a daily chart, or the explanation while the link is
  off.
- Download: format cards explained by when to use them, Resume or Cover
  letter (with the resume header option) when the resume has a letter,
  the file name recruiters see (First-Last-Resume by default, unsafe
  characters stripped), a non-blocking note about open Check issues, and
  progress inside the button; a failure offers Try again and PDF.
- History: name the current state; a timeline of Now, sessions, named
  versions, restores and where the document came from. Picking a version
  shows it on the page, read-only and outlined, with its banner; Restore
  saves "Before restore" first. Named versions can be renamed or deleted.

Also:
- Autosaves send this visit's session id, and naming or restoring a
  version saves pending edits first.
- The one-click PDF and every export use the First-Last-Resume name.
- Resume dialogs stop asking for a slug (it's edited in Share), which also
  stops Rename from overwriting a custom slug with one made from the name.
- The public route redirects a renamed resume's old address.
- Removed: the download dialog, the version-history menu and the sharing,
  statistics and export sections.
This commit is contained in:
Amruth Pillai
2026-09-28 19:48:08 +02:00
parent 060750a868
commit c8df749258
30 changed files with 1417 additions and 1315 deletions
@@ -24,6 +24,7 @@
"content_cut",
"contrast",
"dark_mode",
"data_object",
"delete",
"delete_forever",
"description",
@@ -67,6 +68,7 @@
"more_vert",
"motion_mode",
"note_add",
"notes",
"open_in_new",
"palette",
"passkey",
@@ -74,6 +76,7 @@
"print",
"qr_code_2",
"redo",
"refresh",
"remove",
"restart_alt",
"restore_from_trash",
Binary file not shown.
+3
View File
@@ -29,6 +29,7 @@ export const iconNames = [
"content_cut",
"contrast",
"dark_mode",
"data_object",
"delete",
"delete_forever",
"description",
@@ -72,6 +73,7 @@ export const iconNames = [
"more_vert",
"motion_mode",
"note_add",
"notes",
"open_in_new",
"palette",
"passkey",
@@ -79,6 +81,7 @@ export const iconNames = [
"print",
"qr_code_2",
"redo",
"refresh",
"remove",
"restart_alt",
"restore_from_trash",