Standalone app: Extract wallet module as independent PWA #19

Closed
opened 2026-04-20 05:47:14 +00:00 by padreug · 0 comments
Owner

Summary

Apply the standalone app isolation pattern (used for activities/sortir.ariege.io) to the wallet module.

Pattern to follow

Reference: src/activities-app/ and vite.activities.config.ts

  1. Create wallet.html entry point at project root
  2. Create src/wallet-app/ with main.ts, app.ts, App.vue (bottom nav), app.config.ts (base + wallet modules only)
  3. Create vite.wallet.config.ts with own PWA manifest, SPA fallback plugin, dist-wallet/ output
  4. Add dev:wallet, build:wallet, preview:wallet npm scripts
  5. Bottom navigation tailored to wallet (Balance, Send, Receive, Transactions, Settings)

Considerations

  • Wallet module depends on base module for auth and LNbits API
  • WebSocket real-time balance updates must work in standalone mode (VisibilityService integration)
  • Determine domain: portefeuille.ariege.io? wallet.ariege.io?
  • Consider whether this standalone wallet should support lightning.pub as an alternative backend (PaymentProvider abstraction)
  • PWA manifest in French with wallet-specific metadata
  • May need QR scanner access (camera permissions in PWA manifest)
  • Activities standalone app: src/activities-app/, vite.activities.config.ts
  • Memory note: project_standalone_app_pattern.md
## Summary Apply the standalone app isolation pattern (used for activities/sortir.ariege.io) to the wallet module. ## Pattern to follow Reference: `src/activities-app/` and `vite.activities.config.ts` 1. Create `wallet.html` entry point at project root 2. Create `src/wallet-app/` with `main.ts`, `app.ts`, `App.vue` (bottom nav), `app.config.ts` (base + wallet modules only) 3. Create `vite.wallet.config.ts` with own PWA manifest, SPA fallback plugin, `dist-wallet/` output 4. Add `dev:wallet`, `build:wallet`, `preview:wallet` npm scripts 5. Bottom navigation tailored to wallet (Balance, Send, Receive, Transactions, Settings) ## Considerations - Wallet module depends on base module for auth and LNbits API - WebSocket real-time balance updates must work in standalone mode (VisibilityService integration) - Determine domain: `portefeuille.ariege.io`? `wallet.ariege.io`? - Consider whether this standalone wallet should support lightning.pub as an alternative backend (PaymentProvider abstraction) - PWA manifest in French with wallet-specific metadata - May need QR scanner access (camera permissions in PWA manifest) ## Related - Activities standalone app: `src/activities-app/`, `vite.activities.config.ts` - Memory note: `project_standalone_app_pattern.md`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/webapp#19
No description provided.