Commit graph

512 commits

Author SHA1 Message Date
d31db59359 Fix QR scanner loading state condition and remove unused video element reference
- Updated the loading state condition in qr-scanner.vue to check for camera permission correctly.
- Removed the unused videoElement reference in useQRScanner.ts to clean up the code.

These changes improve the functionality and clarity of the QR scanner component.
2025-09-18 23:01:01 +02:00
0bab2ec444 Enhance ReceiveDialog.vue with improved invoice handling and payment status display
- Updated invoice assignment to ensure reactivity by using Object.assign, improving state management.
- Enhanced QR code generation logic to utilize either payment_request or bolt11 for better flexibility.
- Added conditional rendering for payment status messages, providing clear feedback for confirmed and failed payments.
- Improved input handling for displaying payment request and hash, ensuring accurate data representation.

These changes enhance the user experience by providing clearer feedback on payment statuses and improving invoice management functionality.
2025-09-18 23:01:01 +02:00
bebdc3c24c Add QR code scanning functionality with new QRScanner component
- Introduced a new QRScanner component to facilitate QR code scanning within the application.
- Integrated QR code scanning capabilities into the SendDialog.vue, allowing users to scan QR codes for payment destinations.
- Updated package.json and package-lock.json to include the qr-scanner library for QR code processing.
- Enhanced user experience by providing visual feedback and error handling during the scanning process.

These changes improve the payment workflow by enabling users to easily scan QR codes for transactions.
2025-09-18 23:01:01 +02:00
af898ab1a3 Enhance payment status handling in ReceiveDialog and WalletService
- Introduced computed properties in ReceiveDialog.vue to dynamically display payment status, including color coding and status text based on transaction updates.
- Updated WalletService.ts to improve payment status mapping, handling various payment states more explicitly and ensuring accurate timestamp parsing.
- Adjusted the transaction display logic to convert amounts from millisats to sats for better clarity.

These changes improve the user experience by providing real-time feedback on payment statuses and ensuring accurate transaction information.
2025-09-18 23:01:01 +02:00
c849258b5f Enhance QR code interaction in ReceiveDialog.vue
- Updated the QR code display to include a clickable area that allows users to copy the invoice directly to the clipboard.
- Added a descriptive message below the QR code to inform users about the copy functionality, improving usability and accessibility.

These changes enhance the user experience by making it easier to interact with the QR code for invoice management.
2025-09-18 23:01:01 +02:00
21e1c8f7c0 Refactor ReceiveDialog.vue for Lightning invoice creation
- Updated the form to create Lightning invoices instead of LNURL addresses, changing the validation schema and input fields accordingly.
- Introduced new state management for created invoices and adjusted the submission logic to handle invoice creation.
- Enhanced the UI to display invoice details, including amount, memo, and QR code generation for the invoice.
- Removed unused components and streamlined the dialog's functionality for a more focused user experience.

These changes improve the functionality and user interface of the ReceiveDialog component, facilitating easier invoice management for Bitcoin payments.
2025-09-18 23:01:01 +02:00
27070c0390 Implement copy functionality for LNURL and Lightning Address in WalletPage.vue
- Added a copyToClipboard function to enable users to copy LNURL and Lightning Address directly from the wallet interface.
- Enhanced the QR code display to allow clicking for copying the LNURL.
- Introduced visual feedback with icons indicating successful copy actions.

These changes improve user experience by simplifying the process of sharing wallet information.
2025-09-18 23:00:55 +02:00
5293f2f4c2 Enhance LoginDemo.vue with loading overlay and updated account creation feedback
- Added a loading overlay to indicate account creation progress in demo mode.
- Removed the display of generated credentials and updated the success message to show the created username.
- Adjusted button text and added info text regarding automatic credential generation for improved user experience.

These changes improve the clarity and responsiveness of the demo account creation process.
2025-09-18 20:51:16 +02:00
1511505d0f Refactor LoginDemo.vue for improved layout and accessibility
- Adjusted layout classes for better responsiveness and spacing in the login demo page.
- Updated text sizes and spacing for headings and paragraphs to enhance readability across different screen sizes.
- Modified button sizes and styles for a more consistent user experience.
- Improved accessibility by ensuring proper semantic structure and spacing in demo and login sections.

These changes enhance the overall user interface and experience of the LoginDemo component.
2025-09-18 20:51:07 +02:00
fe7ed67946 Merge branch 'websocket-wallet-tx-updates' 2025-09-18 11:56:51 +02:00
ed92c7ba87 Enhance WebSocket service with polling fallback and improved diagnostics
- Added configuration options for polling fallback and polling interval to the WebSocket service, enabling a backup mechanism for real-time updates when WebSocket connections fail.
- Implemented detailed logging for WebSocket events, including connection status, message handling, and error diagnostics, to improve monitoring and debugging capabilities.
- Updated connection handling to manage polling effectively, ensuring users receive timely updates even during WebSocket disruptions.

These changes enhance the reliability and transparency of the WalletWebSocketService, contributing to a better user experience.
2025-09-18 11:52:02 +02:00
5df65a50d2 Merge branch 'websocket-wallet-tx-updates' 2025-09-18 11:21:57 +02:00
37a07c0c12 Refactor ping mechanism in WalletWebSocketService for improved connection stability
- Updated the ping method to send a simple text message instead of using the unsupported ping method in browser WebSocket implementations.
- Enhanced logging to indicate potential connection instability when ping fails.

These changes improve the reliability of the WebSocket connection management, contributing to a more stable user experience.
2025-09-18 11:21:44 +02:00
ffef1bfb1d Merge branch 'websocket-wallet-tx-updates' 2025-09-18 11:19:22 +02:00
15a7540515 Update WebSocket configuration and enhance connection handling in WalletWebSocketService
- Increased reconnect delay from 1 second to 2 seconds and reduced max reconnect attempts from 5 to 3 to minimize server load.
- Improved logging messages for connection status and abnormal closures, providing clearer insights during reconnection attempts.
- Added a ping mechanism to test connection stability and handle network connectivity issues more effectively.

These changes enhance the reliability and performance of the WebSocket service, contributing to a better user experience.
2025-09-18 10:30:33 +02:00
6a1e70303d Update WebSocket configuration and enhance logging in WalletWebSocketService
- Modified WebSocket configuration to allow enabling/disabling via environment variable, improving flexibility.
- Enhanced logging in WalletWebSocketService to provide clearer messages during reconnection attempts and notify users of WebSocket issues.

These changes improve the configurability and user experience of the wallet's WebSocket interactions.
2025-09-18 10:25:17 +02:00
23726f09ec Enhance documentation for Lightning Wallet integration and real-time features
- Expanded CLAUDE.md to include detailed information about the new Wallet Module, emphasizing its functionality for Lightning wallet management and real-time balance updates.
- Updated README.md to reflect the modular architecture, key features, and real-time wallet capabilities, including WebSocket configuration and connection management.
- Added sections on WebSocket real-time features, including automatic balance updates, live notifications, and battery optimization strategies.

These enhancements improve the clarity and accessibility of the wallet integration documentation, aiding developers in implementation and usage.
2025-09-18 09:56:55 +02:00
71cec00bfc Add Wallet Module documentation and WebSocket integration
- Introduced comprehensive documentation for the new Wallet Module, detailing its purpose, features, and key components.
- Added WebSocket integration documentation, outlining real-time balance updates, connection management, and error handling.
- Updated README and module index files to include references to the Wallet Module, enhancing overall module visibility and accessibility.

These changes improve the clarity and usability of the Wallet Module, providing developers with essential information for implementation and integration.
2025-09-18 09:56:19 +02:00
832bf4d4ca Remove deprecated updateWalletBalance method from AuthService
- Eliminated the deprecated updateWalletBalance method from AuthService, which redirected calls to PaymentService for wallet balance updates.
- This change streamlines the codebase by removing outdated functionality and encourages the use of the new PaymentService method for better maintainability.

These updates contribute to a cleaner architecture and improved service consistency.
2025-09-18 09:31:15 +02:00
f93058add2 Implement updateWalletBalance method in PaymentService and deprecate AuthService method
- Added updateWalletBalance method in PaymentService to handle wallet balance updates from WebSocket notifications, improving wallet management.
- Deprecated the existing updateWalletBalance method in AuthService, redirecting calls to the new PaymentService method for better consistency and maintainability.
- Updated WalletWebSocketService to utilize PaymentService for balance updates, ensuring accurate wallet state management.

These changes enhance the architecture of wallet balance handling and streamline the update process across services.
2025-09-18 09:31:15 +02:00
49e94a894c Add WebSocket support for wallet transactions and balance updates
- Introduced WalletWebSocketService to manage WebSocket connections for real-time wallet updates.
- Implemented methods to handle incoming messages, including wallet balance updates and transaction notifications.
- Updated WalletService to add transactions based on WebSocket notifications, ensuring accurate wallet state.
- Enhanced app configuration to support WebSocket settings, improving flexibility in connection management.

These changes enhance the wallet module's responsiveness and user experience by providing real-time updates on wallet activities.

Enhance WalletWebSocketService with improved logging and authentication event handling

- Added detailed logging throughout the WalletWebSocketService to aid in debugging and monitoring.
- Integrated eventBus to listen for authentication events, enabling automatic connection and disconnection based on user login status.
- Adjusted WebSocket connection logic to handle wallet credentials more effectively and ensure accurate balance updates.
- Improved error handling and connection management for a more robust WebSocket experience.

These enhancements improve the reliability and transparency of the wallet's WebSocket interactions, contributing to a better user experience.

Enhance wallet balance update logic and logging in WalletWebSocketService

- Improved logging for wallet balance updates to provide clearer insights into balance changes and payment adjustments.
- Refined balance adjustment logic to correctly handle outgoing and incoming payments, ensuring accurate wallet state.
- Updated AuthService to log both the old and new wallet balance during updates, enhancing debugging capabilities.

These changes improve the reliability and transparency of wallet balance management, contributing to a better user experience.

Refactor wallet balance update logic in AuthService and WalletWebSocketService

- Enhanced the updateWalletBalance method in AuthService to accept an optional walletId, allowing for more flexible wallet balance updates.
- Improved logging to indicate which wallet's balance is being updated, aiding in debugging.
- Updated WalletWebSocketService to retrieve the wallet ID from PaymentService before updating the balance, ensuring accurate wallet state management.

These changes improve the robustness and clarity of wallet balance handling across the application.
2025-09-18 09:31:15 +02:00
e5db949aae Refactor wallet balance handling and integrate PaymentService for centralized management
- Replaced direct wallet balance computation in Navbar and WalletPage with a centralized totalBalance property from PaymentService, improving code maintainability.
- Updated CreateProductDialog, CreateStoreDialog, and MerchantStore components to utilize PaymentService for retrieving wallet admin and invoice keys, enhancing consistency across the application.
- These changes streamline wallet management and improve the overall architecture of the wallet module.
2025-09-17 20:23:46 +02:00
c064b0b40d Add module development checklist and critical requirements to CLAUDE.md
- Introduced a comprehensive module development checklist to ensure consistency and quality in module implementation.
- Added critical service and module installation requirements, emphasizing proper service initialization, dependency management, and configuration usage.
- Included common mistakes to avoid during module development to guide developers in best practices.

These updates enhance the documentation for module development, promoting better adherence to standards and improving overall code quality.
2025-09-17 20:23:32 +02:00
453bb53282 Merge branch 'send-receive-satoshis' 2025-09-17 14:24:59 +02:00
4a590bacae Comment out NotificationPermission component in Home.vue for future push notification implementation. Added TODO notes for re-enabling once properly implemented. 2025-09-17 11:55:37 +02:00
ddb961c55a stop tracking .obsidian files 2025-09-17 11:48:31 +02:00
b4e157ab5c Enhance Navbar component with improved wallet button layout and new icon
- Added ChevronRight icon to the mobile wallet button for better visual indication of navigation.
- Adjusted button styling for improved spacing and alignment of elements, enhancing user interaction.
- Wrapped wallet icon and balance display in a div for better layout consistency.

These changes improve the overall usability and aesthetics of the Navbar component.
2025-09-15 01:14:05 +02:00
cf994a2930 Refactor Navbar component for improved mobile wallet interaction
- Changed the mobile wallet balance display from a div to a button for better accessibility and interaction.
- Updated the button to navigate to the wallet page and close the dropdown when clicked, enhancing user experience.

These changes streamline the navigation and improve the overall functionality of the Navbar component.
2025-09-15 00:58:03 +02:00
d5a90c793b Refactor wallet module components for improved code organization and performance
- Updated import paths in the wallet module to enhance clarity and maintainability.
- Removed unused imports in ReceiveDialog and SendDialog components to streamline the code.
- Introduced a computed property in WalletPage to extract the base domain from the payment service configuration, improving readability and error handling.

These changes contribute to a cleaner codebase and enhance the overall performance of the wallet module.
2025-09-15 00:54:01 +02:00
cdd00bf747 Implement QR code generation for LNURL payment links in WalletPage
- Added functionality to generate a QR code for the first available pay link using LNURL encoding.
- Introduced reactive properties to manage QR code state and generation status.
- Updated the onMounted lifecycle hook to generate the QR code upon component mount if a pay link is available.
- Enhanced the UI to display the generated QR code along with payment range and lightning address information.

These changes improve the user experience by facilitating quick payment link sharing through QR codes.
2025-09-15 00:52:52 +02:00
895887c465 Update Badge styling in WalletPage for improved interaction
- Modified the Badge component to include 'pointer-events-none' class, preventing interaction with the tag badge.
- This change enhances the user experience by ensuring that the badge does not interfere with other interactive elements in the transaction display.
2025-09-15 00:42:19 +02:00
a22864f7e0 Update WalletPage styling for improved transaction display
- Increased spacing between transaction items for better visual separation.
- Changed tag badge variant to 'secondary' for enhanced visibility and updated its position.
- Adjusted icon size for improved consistency in transaction representation.

These changes enhance the overall clarity and aesthetics of the transaction display in the WalletPage.
2025-09-15 00:39:40 +02:00
c2208ab5d7 Enhance transaction display in WalletPage with tag badges
- Added a tag badge to the top-left corner of each transaction item for improved visibility of transaction categorization.
- Removed redundant tag badges from the transaction details section to streamline the layout.
- Adjusted styling for transaction items to maintain a consistent and organized appearance.

These changes enhance the user experience by providing clearer transaction information and improving the overall layout of the WalletPage.
2025-09-15 00:32:30 +02:00
bff5a7cb37 Refactor WalletPage layout for improved transaction display and responsiveness
- Enhanced the desktop layout for better space management and alignment of transaction items.
- Updated transaction description and timestamp handling for improved readability and flexibility.
- Adjusted styling for transaction amounts to ensure consistent visibility and formatting.

These changes contribute to a more organized and user-friendly interface in the WalletPage, enhancing the overall user experience.
2025-09-15 00:11:48 +02:00
3d428719be Refactor transaction display logic in WalletPage for improved status handling
- Updated the getTransactionIcon and getTransactionColor functions to accept transaction status, allowing for dynamic icon and color changes based on transaction state.
- Removed the getStatusColor function as its functionality is now integrated into the updated color logic.
- Enhanced transaction display in the WalletPage to reflect pending status with appropriate styling, improving user visibility of transaction states.

These changes enhance the clarity and responsiveness of transaction information presented in the wallet module.
2025-09-15 00:07:47 +02:00
d2a5d90427 Enhance WalletService and WalletPage for improved timestamp handling and layout
- Updated WalletService to robustly handle various timestamp formats, ensuring accurate transaction date representation.
- Enhanced WalletPage layout for better responsiveness, including mobile and desktop views, and improved transaction display with clearer formatting.
- Adjusted transaction item styling for consistency and better user experience across different screen sizes.

These changes improve the reliability and usability of transaction data presentation in the wallet module.
2025-09-15 00:05:29 +02:00
42b4af8fa5 Enhance WalletPage layout and button styles for improved user experience
- Updated the WalletPage layout to better accommodate different screen sizes, enhancing responsiveness.
- Increased font size for balance display and adjusted button sizes for consistency.
- Improved button icon sizes for better visibility and usability.

These changes contribute to a more user-friendly interface on the WalletPage, making it easier to interact with wallet functionalities.
2025-09-14 23:59:02 +02:00
f445e60a1b Fix close on x for ReceiveDialog functionality
- Updated the onOpenChange method to handle dialog open/close state changes more effectively.
- Added cleanup logic for when the dialog is closed, resetting the form and selected payment link.

These changes improve the user experience by ensuring the dialog state is managed consistently, enhancing overall usability.
2025-09-14 23:46:44 +02:00
87895091d8 Refactor WalletPage layout for improved responsiveness and user experience
- Updated the layout of WalletPage to use a flex column for better alignment on smaller screens.
- Adjusted button styles to ensure consistent sizing and spacing across different screen sizes.
- Enhanced the overall structure for a more organized presentation of wallet information.

These changes improve the usability of the WalletPage, making it more accessible on various devices.
2025-09-14 23:46:13 +02:00
981fc23422 Enhance ReceiveDialog and WalletService for LNURL handling and transaction tagging
- Added functionality to encode LNURL for QR code generation in ReceiveDialog, improving payment link sharing.
- Updated WalletService to include a tag property for transactions, allowing for better categorization and display in WalletPage.
- Enhanced WalletPage to display transaction tags, improving user visibility of transaction details.

These changes improve the user experience by providing clearer payment information and enhancing the functionality of the wallet module.
2025-09-14 23:42:09 +02:00
86b1710030 Update WalletService to adjust transaction amount and fee calculations
- Modified the transaction amount to be divided by 1000 for accurate representation.
- Updated the fee calculation to also divide by 1000, ensuring consistency in transaction data.

These changes enhance the accuracy of transaction details displayed in the wallet module.
2025-09-14 23:23:55 +02:00
876eb4f20b Update WalletService and WalletPage to handle timestamps more robustly
- Modified WalletService to set a default timestamp when payment time is not provided, ensuring consistent date handling.
- Enhanced WalletPage to validate timestamps before formatting, preventing potential errors and improving user experience by displaying a placeholder for invalid timestamps.

These changes improve the reliability of transaction data presentation in the wallet module.
2025-09-14 23:23:23 +02:00
e5054fdb9d Refactor WalletService to use config for API endpoints and improve error handling
- Updated WalletService to utilize the centralized config for API base URLs, enhancing maintainability.
- Replaced logger calls with console statements for error handling and success messages to simplify debugging.
- Refactored the onInitialize method and other service methods to improve clarity and error management.

These changes streamline the service's functionality and ensure consistent API endpoint usage.
2025-09-14 23:20:05 +02:00
f275d317ed Update import path for BaseService in WalletService.ts
- Changed the import statement for BaseService from '@/core/services/BaseService' to '@/core/base/BaseService' to reflect the new directory structure.

This change ensures that the WalletService correctly references the BaseService, maintaining the integrity of the service layer.
2025-09-14 23:09:31 +02:00
f51c03f838 Refactor error handling in SendDialog component
- Replaced the Alert component with a custom error display using a div for better styling and user experience.
- Updated the error message presentation to enhance visibility and maintain consistency with the overall UI design.

These changes improve the user feedback mechanism in the SendDialog, ensuring errors are communicated effectively.
2025-09-14 23:08:13 +02: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
c74945874c fix build errors 2025-09-14 19:13:20 +02:00
963aa42662 Fix EventsPage button layout for mobile view
- Updated the layout of the EventsPage component to improve responsiveness, including adjustments to flex properties and spacing.
- Modified heading sizes for better visibility on different screen sizes.
- Improved user feedback for authentication status with dynamic text based on screen size.
- Ensured button labels adapt to screen size for a more streamlined user experience.

These changes enhance the overall usability and accessibility of the EventsPage component.
2025-09-14 19:13:20 +02:00
f7ac12bf76 Enhance CreateEventDialog with dynamic currency selection and improved validation
- Integrated currency selection using a dropdown, replacing the static input field for currency.
- Removed the wallet input field, now auto-selecting the preferred wallet for event creation.
- Updated form validation to remove the wallet and closing date fields, ensuring ticket sales close when the event ends.
- Added functionality to load available currencies from the EventsApiService when the dialog opens, improving user experience.

These changes streamline the event creation process and enhance the overall usability of the CreateEventDialog component.
2025-09-14 18:50:34 +02:00
1544126d17 Refactor CreateEventDialog and EventsPage components to integrate wallet selection
- Removed the wallet input field from CreateEventDialog, now auto-selecting the preferred wallet using PaymentService.
- Updated event creation logic in EventsPage to retrieve the wallet's admin key dynamically, ensuring better wallet management.
- Added error handling for wallet availability, enhancing user feedback during event creation.

These changes streamline the event creation process by automating wallet selection, improving the overall user experience.
2025-09-14 18:07:16 +02:00