Commit graph

10 commits

Author SHA1 Message Date
9ed674d0f3 Adds expense tracking module
Adds a new module for tracking user expenses.

The module includes:
- Configuration settings for the LNbits API endpoint and timeouts.
- An ExpensesAPI service for fetching accounts and submitting expense entries.
- A UI component for adding expenses, including account selection and form input.
- Dependency injection for the ExpensesAPI service.

This allows users to submit expense entries with account selection and reference data, which will be linked to their wallet.
2025-11-07 16:21:59 +01:00
9c663973b0 Implements user login and registration
Replaces the demo login page with a dedicated login and registration component.
This allows users to create accounts and log in, enabling authentication features.

Simplify Login, remove registration for now

Adds a login page with username and password fields.
Includes input validation, loading state, error handling,
and a success message after successful login.
Registration has been temporarily disabled.
2025-10-31 21:48:34 +01:00
f75aae6be6 Add wallet module with receive and send functionality
- Introduced a new wallet module that includes components for sending and receiving Bitcoin payments.
- Implemented WalletService to manage payment links and transactions, including methods for creating LNURL pay links and sending payments.
- Added dialogs for receiving and sending payments, enhancing user interaction with the wallet.
- Updated app configuration to enable the wallet module and integrated it into the main application flow.

These changes provide users with a comprehensive wallet experience, allowing for seamless Bitcoin transactions.
2025-09-14 23:08:01 +02:00
4feb5459cc Refactor authentication architecture to eliminate dual auth complexity
This major refactor consolidates the authentication system to use a single
source of truth, eliminating timing issues and architectural complexity
that was causing chat and payment functionality problems.

Key Changes:
• Remove old global useAuth composable and replace with useAuthService wrapper
• Update all 25+ files to use consistent auth pattern via dependency injection
• Eliminate dual auth detection workarounds from services (ChatService, PaymentService, etc.)
• Fix TypeScript errors and add proper Uint8Array conversion for Nostr private keys
• Consolidate auth state management to AuthService as single source of truth

Benefits:
• Resolves chat peer loading and message subscription timing issues
• Fixes wallet detection problems for Lightning payments
• Eliminates race conditions between global and injected auth
• Maintains API compatibility while improving architecture
• Reduces code complexity and improves maintainability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 00:47:02 +02:00
034f3ce80f Implement auth guard and app branding improvements
Auth & Routing:
- Initialize auth before router guards to prevent race conditions
- Default all routes to require auth unless explicitly set to false
- Add initial route check to redirect unauthenticated users to /login
- Remove duplicate auth initialization from base module

App Branding:
- Add VITE_APP_NAME environment variable for configurable branding
- Replace hardcoded "Ariège" references with environment variable
- Update index.html, market composable to use dynamic app name

Mobile UX:
- Fix mobile dropdown auto-close on navigation item selection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 19:29:48 +02:00
7145af3f83 Fix blank page issue on module route refresh
- Pre-register all module routes automatically from module definitions in router configuration
- Add useModuleReady composable for clean reactive loading states during module initialization
- Update ChatPage and EventsPage with proper loading/error states and computed service access
- Remove duplicate route registration from plugin manager install phase
- Maintain modular architecture while ensuring routes are available immediately on app startup

Resolves blank pages and Vue Router warnings when refreshing on /chat, /events, /my-tickets routes.
Users now see proper loading indicators instead of blank screens during module initialization.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 16:33:32 +02:00
ee8dd37761 Refactor imports and remove legacy composables for improved code clarity
- Simplify imports in app.ts by removing unused SERVICE_TOKENS.
- Eliminate the NavigationItem interface in Navbar.vue as its functionality is now managed by useModularNavigation.
- Introduce new legacy composable stubs for useNostrChat and useRelayHub, indicating a shift towards modular chat and relay services.
- Update MyTicketsPage.vue to correct the import path for useUserTickets, enhancing module organization.
- Refactor ChatService to improve type handling for event tags, ensuring better type safety.

Remove ChatComponent, useNostrChat composable, and ChatPage for a modular chat architecture

- Delete ChatComponent.vue to streamline chat functionality.
- Remove legacy useNostrChat composable, transitioning to a more modular chat service approach.
- Eliminate ChatPage.vue as part of the refactor to enhance code organization and maintainability.
2025-09-05 05:27:45 +02:00
284636dd55 Refactor authentication logic in app routing for improved clarity and performance
- Simplify the authentication guard by directly using the auth composable for user authentication checks.
- Enhance logging within the auth guard to provide better feedback during navigation based on authentication status.
- Remove unnecessary dependency on the auth service, streamlining the code for better maintainability.
2025-09-05 00:33:29 +02:00
e40ac91417 Enhance market module with new chat and events features
- Introduce chat module with components, services, and composables for real-time messaging.
- Implement events module with API service, components, and ticket purchasing functionality.
- Update app configuration to include new modules and their respective settings.
- Refactor existing components to integrate with the new chat and events features.
- Enhance market store and services to support new functionalities and improve order management.
- Update routing to accommodate new views for chat and events, ensuring seamless navigation.
2025-09-05 00:01:40 +02:00
519a9003d4 Implement modular architecture with core services and Nostr integration
- Introduce a modular application structure with a new app configuration file to manage module settings and features.
- Implement a dependency injection container for service management across modules.
- Create a plugin manager to handle module registration, installation, and lifecycle management.
- Develop a global event bus for inter-module communication, enhancing loose coupling between components.
- Add core modules including base functionalities, Nostr feed, and PWA services, with support for dynamic loading and configuration.
- Establish a Nostr client hub for managing WebSocket connections and event handling.
- Enhance user experience with a responsive Nostr feed component, integrating admin announcements and community posts.
- Refactor existing components to align with the new modular architecture, improving maintainability and scalability.
2025-09-04 23:43:33 +02:00