fix(ui): first-login dashboard entrance restored + working Replay Intro
- playDashboardLoadOomph gated itself silent on the one entry that should be loud: onboarding is already flagged complete by the time the post-wizard dashboard mounts. force flag restores the full oomph there while keeping ordinary re-logins quiet (the intentional limit). - OnboardingDone now hands Login a one-shot finale flag, so the login right after the wizard gets the full zoom + oomph even as a regular password login — which is exactly the demo flow (and TOTP logins). - 'Replay intro' on the login screen actually replays: App.vue was instantly re-marking the intro as seen on onboarded nodes; an explicit one-shot replay flag now overrides every suppression rule (unit tested). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -251,8 +251,15 @@ export function playKeyboardTypingSound() {
|
||||
}
|
||||
|
||||
/** Gaming-style boot thud - soft impact when dashboard loads */
|
||||
export function playDashboardLoadOomph() {
|
||||
if (!isFirstInstallPhase()) return
|
||||
/**
|
||||
* @param force Play regardless of install phase. The first dashboard entry
|
||||
* right after the onboarding wizard needs this: by then onboarding is already
|
||||
* flagged complete in localStorage, so the isFirstInstallPhase() gate (which
|
||||
* exists to keep ordinary re-logins quiet) would silence the one entrance
|
||||
* that SHOULD be loud.
|
||||
*/
|
||||
export function playDashboardLoadOomph(force = false) {
|
||||
if (!force && !isFirstInstallPhase()) return
|
||||
const ctx = getContext()
|
||||
if (!ctx) return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user