feat(lite): first-run welcome prompt (create / restore)
Replace the bare "land on main UI with a No-wallet overlay" first-run with a
lite welcome modal, shown when no wallet file exists yet (lite_wallet_ present,
not open, walletExists() false):
- "Create new wallet" — one-click createWallet({}); on success, notifies the user
to back up their recovery phrase and navigates to Settings (Backup & keys),
where the seed can be revealed/copied via the existing backup UI.
- "Restore from seed" — navigates to Settings (Lite wallet request → Restore).
- "Later" — dismiss for the session.
Routes to the already-built + verified create/restore/backup flows rather than
re-implementing seed display in the modal (no new secret-handling surface).
Dismissed once an action is chosen; never shown again once a wallet exists.
Full-node is unaffected (renderLiteFirstRunPrompt() returns early when
lite_wallet_ is null). English i18n built-ins added.
Verified: fresh-HOME lite launch shows the prompt, clean run + shutdown, no
crash/RPC noise; tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -579,6 +579,15 @@ void I18n::loadBuiltinEnglish()
|
||||
// strings when no wallet is open (isConnected() tracks the lite wallet in lite builds).
|
||||
strings_["lite_no_wallet"] = "No wallet open — create or open one in Settings";
|
||||
strings_["lite_no_wallet_short"] = "No wallet open";
|
||||
// Lite first-run welcome prompt (shown when no wallet file exists yet).
|
||||
strings_["lite_welcome_title"] = "Welcome to ObsidianDragon Lite";
|
||||
strings_["lite_welcome_msg"] = "You don't have a wallet yet. Create a new one or restore from a recovery phrase.";
|
||||
strings_["lite_welcome_create"] = "Create new wallet";
|
||||
strings_["lite_welcome_restore"] = "Restore from seed";
|
||||
strings_["lite_welcome_later"] = "Later";
|
||||
strings_["lite_welcome_created"] = "Wallet created — back up your recovery phrase now in Settings → Backup & keys";
|
||||
strings_["lite_welcome_restore_hint"] = "Restore your wallet under Settings → Lite wallet request";
|
||||
strings_["lite_welcome_create_failed"] = "Could not create wallet";
|
||||
|
||||
// Send Tab
|
||||
strings_["pay_from"] = "Pay From";
|
||||
|
||||
Reference in New Issue
Block a user