fix: disable boot reconciler, fix onboarding loop, UI polish

Critical flow fixes:
- Disable boot reconciliation that auto-created ALL containers on
  unbundled installs (only FileBrowser should exist on first boot)
- Fix onboarding loop: RootRedirect no longer clears the
  neode_onboarding_complete flag on boot screen completion
- Seed phrase persists when navigating back (no regeneration)

UI fixes:
- Boot screen: removed github and save icons from animation loop
- Seed screens: viewport height scaling with 100dvh
- Seed restore: removed outer card container from word input grid
- Seed screens use distinct background (bg-intro-1.jpg)
- Install progress simplified to "Installing" button style
- Uninstall state moved to global store (persists across navigation)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-31 21:00:01 +01:00
co-authored by Claude Opus 4.6
parent 31e87d98c1
commit 2d5866d486
12 changed files with 50 additions and 41 deletions
+15 -2
View File
@@ -1,5 +1,5 @@
<template>
<div class="h-full flex items-center justify-center p-3 sm:p-4 md:p-6">
<div class="h-[100dvh] flex items-center justify-center p-3 sm:p-4 md:p-6">
<div class="max-w-[800px] w-full max-h-full relative z-10 path-glass-container onb-scroll-container flex flex-col">
<!-- Header -->
<div class="text-center flex-shrink-0 px-3 sm:px-4 pt-4 sm:pt-6 pb-2 sm:pb-3">
@@ -143,7 +143,20 @@ watch(confirmed, (val) => {
}
})
onMounted(() => { generateSeed() })
onMounted(() => {
// Restore previously generated seed if navigating back (don't regenerate)
const saved = sessionStorage.getItem('_seed_words')
if (saved) {
try {
const parsed = JSON.parse(saved)
if (Array.isArray(parsed) && parsed.length === 24) {
words.value = parsed
return
}
} catch { /* regenerate */ }
}
generateSeed()
})
onUnmounted(() => { stopTimers() })
function proceed() {