Commit graph

14 commits

Author SHA1 Message Date
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
04d64fe116 1.3.6 Toast Notification Pattern: Add centralized ToastService abstraction
- Create ToastService extending BaseService with context-specific toast methods
- Add useToast composable for convenient dependency injection access
- Provide standardized toast patterns: auth, payment, clipboard, operations
- Include async operation support with automatic loading/success/error states
- Integrate with DI container and base module for automatic initialization
- Demonstrate refactoring in LoginDialog.vue with context-specific methods
- Eliminate duplicate vue-sonner imports across 20+ files for better maintainability
- Support custom ToastOptions interface with full TypeScript compatibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 12:24:05 +02:00
9e9137e6b0 refactor: Simplify Logout Confirmation Handling in Navbar
- Remove the showLogoutConfirm state variable from Navbar.vue to streamline the logout confirmation process.
- Update the LogoutConfirmDialog component to manage its own visibility state internally, enhancing encapsulation.
- Refactor the logout button to directly trigger the confirmation dialog, improving code clarity and user experience.

feat: Enhance Logout Confirmation Handling Across Components

- Introduce a showLogoutConfirm state variable in ProfileDialog.vue, UserProfile.vue, and Navbar.vue to manage the visibility of the Logout Confirmation dialog.
- Refactor logout buttons in these components to trigger the confirmation dialog, improving user experience and preventing accidental logouts.
- Update the LogoutConfirmDialog component to accept an isOpen prop for better control of its visibility, ensuring consistent functionality across the application.
2025-08-12 08:54:38 +02:00
442861e5a5 feat: Implement Logout Confirmation Dialog
- Introduce a new LogoutConfirmDialog component to confirm user logout actions.
- Update ProfileDialog.vue, UserProfile.vue, and Navbar.vue to utilize the new dialog for logout confirmation, enhancing user experience and preventing accidental logouts.
- Ensure consistent styling and functionality across all instances where logout confirmation is required.
2025-08-10 22:53:22 +02:00
c2f11f3d96 chore: update LNBits API configuration in environment and documentation
- Added VITE_LNBITS_API_URL to .env.example for LNBits API integration.
- Updated AUTHENTICATION.md to reflect changes in LNBits base URL configuration.
- Refactored ProfileDialog.vue and config files to use VITE_LNBITS_BASE_URL instead of VITE_API_BASE_URL for API calls.
2025-08-10 10:46:49 +02:00
b453637867 feat: Add wallet opening functionality in ProfileDialog component
- Introduce a new button to open the user's wallet in a new tab.
- Implement error handling for cases where the user ID is not available.
- Retrieve the API base URL from environment variables for constructing the wallet URL.
2025-08-05 00:20:03 +02:00
44b767a2e4 refactor: Remove unused icon imports in ProfileDialog component
- Update ProfileDialog.vue to eliminate unnecessary imports of Mail icon, streamlining the component and improving performance.
2025-08-03 11:20:57 +02:00
2f4a65d522 refactor: Enhance layout and responsiveness of Login components
- Update LoginDialog.vue to improve maximum width settings for better adaptability across different screen sizes.
- Adjust Login.vue to refine container padding and centering, ensuring a more consistent layout on various devices.
2025-08-03 11:20:48 +02:00
eb238ca380 feat: Add ProfileDialog component for user profile management
- Introduce ProfileDialog.vue to display user information and account settings.
- Integrate ProfileDialog into Navbar.vue for easy access to user profile.
- Implement logout functionality within the ProfileDialog, enhancing user experience.
2025-08-03 11:20:35 +02:00
734122ad27 refactor: Simplify logout process and enhance routing in authentication components
- Remove unnecessary async handling in logout functions across UserProfile.vue and Navbar.vue.
- Integrate `useRouter` for consistent redirection to the login page after logout.
- Update `logout` method in useAuth.ts to clear local state without an API call.
2025-08-03 11:20:35 +02:00
412849b312 refactor: Remove unused router import in UserProfile.vue
- Eliminate the `useRouter` import from UserProfile.vue as it is no longer needed for the logout functionality.
2025-08-03 11:20:35 +02:00
6e653d584c feat: Enhance logout functionality and routing in authentication system
- Integrate `useRouter` in `UserProfile.vue` and `useAuth.ts` to manage navigation after logout.
- Update `handleLogout` in `Navbar.vue` to reflect that redirection is now handled within the `auth.logout()` function.
2025-08-03 11:20:35 +02:00
90c2b445bd feat: Add logo and enhance login functionality
- Introduce a new logo asset for branding.
- Update LoginDialog.vue to include routing for successful login and registration.
- Modify Navbar.vue to integrate LoginDialog and manage its visibility.
- Revise Login.vue to update the logo and welcome title, along with routing enhancements post-login and registration.
2025-08-03 11:20:35 +02:00
be4ab13b32 refactor: Transition to authentication system and remove identity management
- Replace identity management with a new authentication system across the application.
- Update App.vue to integrate LoginDialog and remove PasswordDialog.
- Modify Navbar.vue to handle user authentication state and logout functionality.
- Enhance Home.vue to display user information upon login.
- Implement routing changes in index.ts to enforce authentication requirements for protected routes.
2025-08-03 11:20:35 +02:00