- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.