Skip to content

feat: Flash Address + Flash UI rebrand#1

Open
forge0x wants to merge 98 commits intomainfrom
feat/flash-address-store
Open

feat: Flash Address + Flash UI rebrand#1
forge0x wants to merge 98 commits intomainfrom
feat/flash-address-store

Conversation

@forge0x
Copy link
Copy Markdown

@forge0x forge0x commented Mar 25, 2026

Flash Lightning Addresses as first-class wallet feature

What's in this PR

Flash Address system

  • FlashAddress store with local storage, auto-claim, P2PK support
  • ReceiveDialog updated with Flash Address panel + QR code
  • Background worker polls for pending payments

SetupWizard onboarding

  • FlashShell.vue: detects first visit, shows wizard
  • SetupWizard.vue: 3-step carousel (username, nostr key, done)
  • StepUsername.vue: claim Flash Address with live availability check
  • StepNostrKey.vue: generate or import Nostr key
  • StepDone.vue: completion screen

Flash UI rebrand

  • lnurlp/register.html: Flash design tokens, dark theme, #41AD49 green
  • lnurlp/claim.html: same Flash branding, one-tap wallet redirect
  • PWA manifest: name=Flash Ecash, short_name=Flash, theme_color=#41AD49

Docker fix

  • .dockerignore: excludes node_modules (fixes ENOSPC on build)
  • @quasar/app-vite upgraded 1.x → 2.x (fixes vite 4/5 conflict)
  • overrides.vite: ^5.0.0 ensures single resolution

Deploy steps for lnurlp HTML files

cp lnurlp/register.html /root/lnurlp/register.html
cp lnurlp/claim.html /root/lnurlp/claim.html
systemctl restart lnurlp

swedishfrenchpress and others added 30 commits November 13, 2025 11:21
updated type on dialog headers for payment request,receive ecash, sen…
callebtc and others added 30 commits February 20, 2026 12:49
…errors

fix(nostr): respect verbose flag in backup error notifications
Creates a complete translation file for pt-BR covering all 1,519 lines
of translatable strings, and registers the locale in the i18n index and
all three language-selector components (SettingsView, WelcomePage,
WelcomeSlide1).

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
Disabled HTTPS and changed port from 8080 to 8081 to allow local
browser access during development without certificate issues.

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
"Swap" is kept as an English loanword, consistent with standard
usage in Brazilian crypto apps.

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
"Buscar" sounds more natural than "Descobrir" in Brazilian Portuguese
for a search/find action.

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
"Rede" (network) is more natural than "Teia" (web) in Brazilian
Portuguese for this concept.

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
English stays first (default locale); remaining languages are ordered
alphabetically — Latin-script names first, then non-Latin scripts.
Português (Brasil) moves from last to between Italiano and Svenska.

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
- Revert quasar.config.js devServer to original settings (https, open, port 8080)
- Restore original language list order; place pt-BR after cs-CZ per reviewer's suggestion

https://claude.ai/code/session_011nb7L5wBaF4qJRNXptc7Ue
…nguage-availability-zi0RW

Add Brazilian Portuguese (pt-BR) language support
- New flashAddress.ts Pinia store: polls /api/claim/:username every 30s
- P2PK auto-claim using stored nsec privkey via receiveTokensStore
- Wired into workers.ts lifecycle (startFlashAddressWorker)
- WalletPage.vue starts worker on mount if address configured
- ReceiveDialog.vue: Flash Address row with QR panel + copy button
- register.html: writes cashu.flashAddress.* localStorage keys on registration
…ite conflict

- Add .dockerignore to exclude node_modules from Docker context (fixes ENOSPC)
- Upgrade @quasar/app-vite from 1.x to ^2.0.0 (uses vite 5 natively)
- Pin vitest to ^2.0.0 (compatible with vite 5)
- Add overrides.vite: ^5.0.0 to ensure single vite resolution
- Removes Missing './preload-helper' export error from vite 4/5 conflict
…tepNostrKey, StepDone

- Add FlashShell.vue wrapper that detects first visit and shows setup wizard
- Add SetupWizard.vue with 3-step carousel flow
- Add StepUsername.vue: claim Flash Address with live availability check
- Add StepNostrKey.vue: generate or import Nostr key
- Add StepDone.vue: completion screen with Flash Address display
- Wire FlashShell into WalletPage.vue as top-level wrapper
- Wizard auto-shows on first visit; skippable; persists completion to localStorage
- name: Flash Ecash, short_name: Flash
- theme_color: #41AD49 (Flash green)
- background_color: #0a0a0a (dark background)
- Updated description
Full Flash design system applied to lnurlp standalone pages:
- Background: #0a0a0a, Surface: #111114, Surface raised: #1a1a1e
- Border: rgba(255,255,255,0.08)
- Primary green: #41AD49 (replaces purple accent #a78bfa)
- Text: #f5f5f5 / #888
- Font: SF Pro Display / system-ui
- Radius: 16px cards, 12px inputs
- register.html: username availability check + pubkey entry + success state
- claim.html: check pending payments + one-tap wallet redirect
NOTE: Deploy to /root/lnurlp/ on server and run: systemctl restart lnurlp
- Background: #0a0a0a, Surface: #111114, Surface raised: #1a1a1e
- Primary green: #41AD49 (replaces purple #a78bfa throughout)
- Border: rgba(255,255,255,0.08), radius: 16px cards / 12px inputs
- Font: SF Pro Display / system stack
- Text: #f5f5f5 primary, #888 muted
- register.html: username + Nostr pubkey form with live availability check
- claim.html: check pending payments, redirect to wallet with token
- Files stored in lnurlp/ — deploy to /root/lnurlp/ on server + systemctl restart lnurlp
Regenerated after dependency upgrades to fix npm ci in CI
- Convert require() to import statements
- Convert module.exports to export default
- Add __filename/__dirname polyfills via fileURLToPath/dirname
- Also run prettier on lnurlp/register.html and lnurlp/claim.html
Remove extends from tsconfig-preset (removed in v2), inline required
compilerOptions. Use moduleResolution: bundler for vite 5 compat.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.