688d6a788f92
create-vault screen: optional back arrow that returns to Onboarding (only when hasVault=false so it doesn't appear for users with an existing locked vault); bump v2.11.13
- time
- 2026-04-29 05:19 UTC · 6 months ago
- machine
- koh2
- parent
- ce561ac4b57e
↓ peach-browser-688d6a78.tar.gzatlas at this save
files changed6 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/App.tsx+5 −0src/popup/styles/popup.css+22 −0src/popup/views/Lock.tsx+17 −0manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach",4- "version": "2.11.12",4+ "version": "2.11.13",55 "description": "Zero-knowledge password manager",66 "browser_specific_settings": {77 "gecko": {manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach",4- "version": "2.11.12",4+ "version": "2.11.13",55 "description": "Zero-knowledge password manager",66 "action": {77 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "2.11.12",3+ "version": "2.11.13",44 "description": "Zero-knowledge password manager",55 "type": "module",66 "scripts": {src/popup/App.tsx+5 −0
@@ -891,6 +891,11 @@891891 ready={bootState() === "ready"}892892 isPro={proStatus()}893893 onUnlock={handleUnlock}894+ onBackToOnboarding={895+ !hasVault()896+ ? () => setOnboarded(false)897+ : undefined898+ }894899 />895900 </Show>896901 }src/popup/styles/popup.css+22 −0
@@ -6039,7 +6039,29 @@60396039 z-index: 2;60406040 display: flex;60416041 align-items: center;6042+ gap: 10px;60426043 margin-bottom: 2px;6044+}6045+6046+.peach-newvault-back {6047+ display: inline-flex;6048+ align-items: center;6049+ gap: 4px;6050+ background: transparent;6051+ border: none;6052+ color: var(--peach-t2);6053+ font-family: "IBM Plex Mono", monospace;6054+ font-size: 10px;6055+ letter-spacing: 0.06em;6056+ cursor: pointer;6057+ padding: 4px 6px;6058+ border-radius: 6px;6059+ transition: color 120ms ease, background 120ms ease;6060+}6061+6062+.peach-newvault-back:hover {6063+ color: var(--peach-t0);6064+ background: rgba(240, 232, 216, 0.04);60436065 }60446066 60456067 .peach-newvault-mark {src/popup/views/Lock.tsx+17 −0
@@ -19,6 +19,10 @@1919 ready: boolean;2020 isPro?: boolean;2121 onUnlock: () => void | Promise<void>;22+ /** Optional escape hatch: rewind from the create-vault screen back to23+ * Onboarding. Only meaningful when the user reached create-vault from24+ * Onboarding in the first place. */25+ onBackToOnboarding?: () => void;2226 }2327 2428 // "restore" = picker, "snapshots" = vault history, "peachscript" / "file" = detail flows@@ -245,6 +249,19 @@245249 data-motion-phase="enter"246250 >247251 <header class="peach-screen-header peach-newvault-header">252+ <Show when={props.onBackToOnboarding}>253+ <button254+ class="peach-newvault-back"255+ type="button"256+ onClick={() => props.onBackToOnboarding?.()}257+ aria-label="Back to onboarding"258+ >259+ <svg width="11" height="11" viewBox="0 0 11 11" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round">260+ <path d="M7 2L3 5.5L7 9" />261+ </svg>262+ back263+ </button>264+ </Show>248265 <div class="peach-wordmark-stack">249266 <PeachWordmark class="peach-wordmark-wrap" />250267 <Show when={props.isPro}>