Commit graph

593 commits

Author SHA1 Message Date
45391cbaa1 Add ProfileService and integrate profiles management into NostrFeed module
- Introduced ProfileService to handle user profiles, including fetching and displaying profile information.
- Updated NostrFeed module to register ProfileService in the DI container and initialize it during installation.
- Enhanced NostrFeed.vue to utilize the profiles service for displaying user names alongside posts.
- Created useProfiles composable for managing profile-related functionality, including fetching and subscribing to profile updates.

These changes improve user engagement by providing richer profile information within the feed, enhancing the overall user experience.
2025-09-23 23:59:37 +02:00
310612a2c5 Update NostrFeed and Home components for improved styling and layout
- Modified NostrFeed.vue to enhance the post list styling with updated divider classes for better visual separation.
- Adjusted Home.vue button styles to include background color and border enhancements, improving the overall appearance and user interaction.

These changes refine the user interface, contributing to a more polished and engaging experience.
2025-09-23 23:59:37 +02:00
2d0aadccb7 Implement Note Composer and enhance NostrFeed interactions
- Added NoteComposer.vue for composing notes, including reply functionality and mention support.
- Integrated NoteComposer into Home.vue, allowing users to publish notes and reply to existing ones.
- Enhanced NostrFeed.vue to handle reply events, improving user engagement with notes.
- Updated Home.vue to manage note publishing and reply states effectively.

These changes enhance the user experience by providing a seamless way to compose and interact with notes within the feed.

Enhance NostrFeed and Home components for improved user experience

- Added compact mode support in NostrFeed.vue to optimize display for mobile users.
- Refactored layout in NostrFeed.vue for better responsiveness and usability, including adjustments to padding and spacing.
- Updated Home.vue to integrate a collapsible filter panel and a floating action button for composing notes, enhancing accessibility and interaction.
- Implemented quick filter presets for mobile, allowing users to easily switch between content types.

These changes improve the overall functionality and user engagement within the feed, providing a more streamlined experience across devices.

Enhance NoteComposer and Home components for improved note management

- Updated NoteComposer.vue to include a close button for better user control when composing notes.
- Modified Home.vue to handle the close event from NoteComposer, allowing users to dismiss the composer easily.

These changes enhance the user experience by providing a more intuitive interface for composing and managing notes.
2025-09-23 23:59:37 +02:00
77ed913e1b Add MarketProduct component and integrate into NostrFeed
- Introduced MarketProduct.vue to display market product details, including images, pricing, and availability status.
- Enhanced NostrFeed.vue to render MarketProduct components for market events, allowing users to view and share products.
- Implemented market data parsing in marketParser.ts to handle Nostr market events, ensuring structured data representation.

These changes improve the marketplace functionality within the feed, enhancing user engagement with market products.
2025-09-23 23:59:37 +02:00
f05398fa9e Enhance FeedService filtering logic
- Added a watch function in useFeed to log updates to filtered posts,
aiding in debugging.
- Updated content filters to include text notes in announcements and
marketplace presets, ensuring broader content visibility.
- Enhanced FeedService to log detailed information during custom
filtering, improving traceability of filtering logic.
- Modified Home.vue to always use custom filters for better consistency
in feed display.

These changes improve the reactivity, flexibility, and clarity of the
feed system, enhancing the overall user experience.
2025-09-23 23:59:37 +02:00
7025ea81c6 Refactor FeedFilters component to simplify custom filter display
- Replaced the Collapsible component with a conditional div for displaying custom filters, enhancing clarity and reducing complexity in the UI.
- Removed unused imports related to the Collapsible component to clean up the code.

These changes improve the maintainability and readability of the FeedFilters component.
2025-09-23 23:59:37 +02:00
e90c4992da Add collapsible components and feed filter functionality
- Introduced Collapsible, CollapsibleContent, and CollapsibleTrigger components for improved UI interactions.
- Added FeedFilters component to allow users to customize content visibility in the NostrFeed.
- Updated NostrFeed and Home components to integrate new filtering capabilities, enhancing user experience with customizable content display.
- Implemented content filter logic in FeedService to support dynamic filtering based on user selections.

These changes enhance the modularity and interactivity of the feed system, providing users with greater control over the content they see.
2025-09-23 23:59:37 +02:00
a5e6c301e1 Update FeedService to use direct connection status check
- Changed the connection status check in FeedService from an asynchronous health check to a direct property access on relayHub.
- Added a console log to output the current connection status for better debugging and monitoring.

These changes improve the efficiency of the connection status verification process in the FeedService.
2025-09-23 23:59:37 +02:00
6217e3b70a Add FeedService and integrate into NostrFeed module
- Introduced FeedService to manage feed functionality, including subscription and deduplication of posts.
- Updated NostrFeed module to register FeedService in the DI container and initialize it during installation.
- Refactored useFeed composable to utilize FeedService for managing feed state and loading posts.
- Enhanced NostrFeed component to display posts and handle loading states more effectively.
- Changed Home.vue to use the 'all' feed type for broader content display.

These changes improve the modularity and functionality of the feed system, providing a more robust user experience.
2025-09-23 23:59:37 +02:00
2e12315a35 fix: change "sats" to "sat" as is defined by nostrmarket ext db 2025-09-23 23:59:15 +02:00
578cd8f570 Merge branch 'refactor-send-receive-invoice-qrscanner' 2025-09-20 11:00:24 +02:00
de9a8efc2d Enhance README and wallet module documentation with new payment features
- Updated README.md to include new capabilities for Lightning invoice creation, smart payment scanning, universal payment support, and smart amount fields.
- Enhanced wallet-module documentation to reflect comprehensive Lightning Network wallet functionality, including detailed descriptions of payment processing, QR code scanning, and invoice management features.
- Added new sections for QR scanner component and payment flow architecture, improving clarity and usability for developers.

These changes provide clearer guidance on the application's features and improve the overall documentation quality.
2025-09-20 10:31:12 +02:00
95324c1260 Fix handleQRClick function closure in WalletPage.vue
- Closed the handleQRClick function properly by adding a closing brace, ensuring correct function definition and preventing potential runtime errors.

This change enhances the code structure and maintains the integrity of the QR code handling functionality.
2025-09-20 10:31:12 +02:00
d19f6ac685 Refactor SendDialog form validation schema for improved clarity
- Simplified the form validation schema to always include an optional amount field, enhancing consistency across payment types.
- Updated the custom validation logic to ensure proper handling of required fields based on payment type, improving user experience.
- Adjusted the effective amount computation to default to zero when no amount is provided, ensuring accurate state management.

These changes streamline the form validation process, making it more intuitive for users while maintaining robust payment handling.
2025-09-20 10:31:12 +02:00
0b98b29198 Implement payment request normalization in SendDialog
- Added a new function to normalize payment requests by stripping URI prefixes (lightning: and lnurl:) and handling BIP-21 Bitcoin URIs with Lightning fallback.
- Updated the destination parsing logic to utilize the normalization function, ensuring consistent handling of various payment formats.
- Enhanced the payment submission process by using the normalized destination for sending payments.

These changes improve the robustness of payment handling in the SendDialog, providing better support for different payment request formats.
2025-09-20 10:31:12 +02:00
42d16908e1 Enhance SendDialog with payment type detection and dynamic form validation
- Added support for parsing BOLT11 invoices, LNURLs, and Lightning addresses to improve payment destination handling.
- Implemented dynamic form validation schema based on detected payment type, ensuring appropriate fields are required.
- Introduced computed properties for displaying parsed invoice details, including amount and description.
- Enhanced user feedback by conditionally rendering input fields and descriptions based on payment type.

These changes streamline the payment process by providing clearer guidance and validation for different payment methods.
2025-09-20 10:31:12 +02:00
a5f800ef74 Enhance SendDialog and WalletPage with QR code scanning integration
- Added initialDestination prop to SendDialog for pre-filling the destination field.
- Implemented a watcher to update the destination field when initialDestination changes.
- Integrated QRScanner component into WalletPage, allowing users to scan QR codes for payment destinations.
- Updated SendDialog to accept scanned destination and improved user feedback with toast notifications.

These changes streamline the payment process by enabling QR code scanning directly within the wallet interface.
2025-09-20 10:31:12 +02:00
58b785724e Refactor QR code scanning result handling in SendDialog.vue
- Cleaned up the scanned result by removing the "lightning:" prefix if present before setting it in the destination field.
- Improved user feedback by ensuring only the cleaned result is processed, enhancing the overall scanning functionality.

These changes enhance the accuracy of QR code scanning results for payment destinations.
2025-09-20 10:31:12 +02:00
a9c07f6af3 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.

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.

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-20 10:31:12 +02:00
112b391a7e Refactor WalletPage.vue to streamline layout and enhance user experience
- Removed unused tab components and associated state management to simplify the codebase.
- Improved button and QR code display elements for better interaction and visibility.
- Adjusted layout for transaction history to enhance readability and organization.
- Cleaned up commented-out code and unnecessary variables, improving overall code clarity.

These changes contribute to a more efficient and user-friendly wallet interface.
2025-09-19 00:19:26 +02:00
91c76e80e7 Update QR code dimensions in WalletPage.vue for improved display
- Increased the size of the QR code display elements to enhance visibility and user interaction.
- Adjusted the layout to maintain consistency across different screen sizes, ensuring a better user experience.

These changes contribute to a more visually appealing and functional wallet interface.
2025-09-18 23:55:04 +02:00
82a5e40e8e Refactor WalletPage.vue for improved layout and styling
- Adjusted spacing and padding in the WalletPage layout for better visual consistency across different screen sizes.
- Updated text sizes and button dimensions to enhance readability and usability.
- Improved the structure of transaction and address sections for a more organized presentation of information.
- Enhanced QR code display and interaction elements for better user experience.

These changes streamline the user interface, making it more intuitive and visually appealing.
2025-09-18 23:53:41 +02:00
ab1a6747ce Enhance README and wallet module documentation with new payment features
- Updated README.md to include new capabilities for Lightning invoice creation, smart payment scanning, universal payment support, and smart amount fields.
- Enhanced wallet-module documentation to reflect comprehensive Lightning Network wallet functionality, including detailed descriptions of payment processing, QR code scanning, and invoice management features.
- Added new sections for QR scanner component and payment flow architecture, improving clarity and usability for developers.

These changes provide clearer guidance on the application's features and improve the overall documentation quality.
2025-09-18 23:23:30 +02:00
b8515c4598 Fix handleQRClick function closure in WalletPage.vue
- Closed the handleQRClick function properly by adding a closing brace, ensuring correct function definition and preventing potential runtime errors.

This change enhances the code structure and maintains the integrity of the QR code handling functionality.
2025-09-18 23:07:23 +02:00
46a5403b74 Refactor SendDialog form validation schema for improved clarity
- Simplified the form validation schema to always include an optional amount field, enhancing consistency across payment types.
- Updated the custom validation logic to ensure proper handling of required fields based on payment type, improving user experience.
- Adjusted the effective amount computation to default to zero when no amount is provided, ensuring accurate state management.

These changes streamline the form validation process, making it more intuitive for users while maintaining robust payment handling.
2025-09-18 23:02:56 +02:00
ab3a8ab296 Implement payment request normalization in SendDialog
- Added a new function to normalize payment requests by stripping URI prefixes (lightning: and lnurl:) and handling BIP-21 Bitcoin URIs with Lightning fallback.
- Updated the destination parsing logic to utilize the normalization function, ensuring consistent handling of various payment formats.
- Enhanced the payment submission process by using the normalized destination for sending payments.

These changes improve the robustness of payment handling in the SendDialog, providing better support for different payment request formats.
2025-09-18 23:02:56 +02:00
3c832e2706 Enhance SendDialog with payment type detection and dynamic form validation
- Added support for parsing BOLT11 invoices, LNURLs, and Lightning addresses to improve payment destination handling.
- Implemented dynamic form validation schema based on detected payment type, ensuring appropriate fields are required.
- Introduced computed properties for displaying parsed invoice details, including amount and description.
- Enhanced user feedback by conditionally rendering input fields and descriptions based on payment type.

These changes streamline the payment process by providing clearer guidance and validation for different payment methods.
2025-09-18 23:02:56 +02:00
f94dc1d03c Enhance SendDialog and WalletPage with QR code scanning integration
- Added initialDestination prop to SendDialog for pre-filling the destination field.
- Implemented a watcher to update the destination field when initialDestination changes.
- Integrated QRScanner component into WalletPage, allowing users to scan QR codes for payment destinations.
- Updated SendDialog to accept scanned destination and improved user feedback with toast notifications.

These changes streamline the payment process by enabling QR code scanning directly within the wallet interface.
2025-09-18 23:02:56 +02:00
ef818baed6 Enhance ReceiveDialog.vue with UI improvements and responsive design
- Updated styling for various components to improve visual hierarchy and responsiveness, including adjustments to padding, font sizes, and element spacing.
- Enhanced form field labels and descriptions for better clarity and accessibility.
- Improved error message display and button sizes for a more consistent user experience.
- Refined layout for invoice details and payment status messages to ensure better readability across different screen sizes.

These changes enhance the overall user experience by providing a more polished and responsive interface for managing Bitcoin payments.
2025-09-18 23:01:01 +02:00
7b240fc5be Refactor QR code scanning result handling in SendDialog.vue
- Cleaned up the scanned result by removing the "lightning:" prefix if present before setting it in the destination field.
- Improved user feedback by ensuring only the cleaned result is processed, enhancing the overall scanning functionality.

These changes enhance the accuracy of QR code scanning results for payment destinations.
2025-09-18 23:01:01 +02:00
7b762a1e4b Add Vue Reactivity Best Practices section to CLAUDE.md
- Introduced guidelines for handling complex object reactivity in Vue, addressing common issues such as input components not updating and computed properties not recalculating.
- Provided solutions including using Object.assign for object reactivity, dynamic keys for component re-renders, and safe navigation with fallbacks.
- Included practical examples to illustrate the application of these patterns in real scenarios, enhancing developer understanding of Vue's reactivity system.
2025-09-18 23:01:01 +02:00
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