- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Introduced CreateEventDialog.vue to facilitate the creation of new events with a comprehensive form for user input.
- Implemented form validation using Vee-Validate and Zod to ensure data integrity.
- Integrated event creation logic in the EventsApiService to handle API requests for creating events.
- Updated EventsPage.vue to include the CreateEventDialog, allowing users to open the dialog and submit event details.
These changes enhance the event management capabilities, providing users with a streamlined interface for creating events.
- Introduced getPreferredWallet() to consistently retrieve the first wallet from userWallets.
- Added getPreferredWalletAdminKey() to obtain the admin key of the preferred wallet for administrative tasks.
These enhancements improve wallet management and ensure consistent wallet selection across the application.
- Update CreateProductDialog to support both creating and editing products, with dynamic button text and pre-populated fields for existing products.
- Refactor product submission logic to handle updates, including error handling and user feedback.
- Modify MerchantStore to manage product editing state and integrate updated product handling in the dialog.
These changes improve the user experience by allowing merchants to easily edit existing products, enhancing the overall product management workflow.
- Removed the unused Label import to clean up the code and improve readability.
- This change simplifies the component structure, enhancing maintainability.
- Adjust padding and margins for better spacing and visual hierarchy.
- Enhance tab navigation with improved overflow handling and responsive design.
- Update button styles for better accessibility and consistency across different screen sizes.
These changes enhance the user experience on the Market Dashboard, making it more intuitive and visually appealing.
- Update the layout of the active store dashboard to enhance visual hierarchy and spacing.
- Improve button accessibility and responsiveness by adjusting sizes and adding conditional rendering for text.
- Refactor store stats display to use a more consistent structure, enhancing readability and alignment.
- Adjust padding and margins for better overall presentation of store information and statistics.
These changes streamline the MerchantStore interface, providing a more intuitive and visually appealing experience for users managing their stores.
- Update form structure to allow for better scrolling and overflow handling.
- Introduce collapsible section for creating new shipping zones, improving user experience.
- Refactor error display and footer layout for clearer interaction during store creation.
- Add scroll indicator for better navigation within the form.
- Implement logic to check if content is scrollable, enhancing usability.
These changes streamline the store creation process, providing a more intuitive and responsive interface for users.
- Remove unnecessary destructuring of form values in CreateProductDialog to simplify code.
- Enhance conditional rendering in CreateStoreDialog to ensure proper checks for selected countries.
- Update API request handling in CreateStoreDialog to enforce non-null assertions for required fields.
- Adjust MerchantStore component to use underscore-prefixed parameters in event handlers for clarity.
These changes streamline the form handling process and improve code readability across the components.
- Introduce CreateProductDialog for adding new products with comprehensive form fields including name, price, description, quantity, and active status.
- Implement validation using Zod and integrate auto-reply settings.
- Add CreateStoreDialog for creating new stores, allowing input for store name, description, currency, and shipping zones.
- Enhance user experience with loading states and error handling in both dialogs.
- Refactor MerchantStore component to utilize StoreCard for displaying user stalls, improving code organization and readability.
These changes enhance the merchant experience by streamlining product and store creation processes, ensuring better validation and user feedback.
- Add comprehensive product creation dialog with Zod validation
- Implement product form fields: name, price, description, quantity, active status
- Add auto-reply settings with checkbox and message configuration
- Create product management functions: loadStallProducts, addProduct, createProduct
- Add products grid display with loading states and product cards
- Integrate with NostrmarketAPI for full CRUD operations
- Include placeholder sections for categories and image upload (future features)
- Follow Shadcn/UI form patterns with proper error handling and validation
- Complete merchant workflow: Create merchants → Create stores → Add products
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add a new section for displaying products, including loading states and messages for when no products are available.
- Introduce a dialog for adding new products, with a placeholder message indicating that the product creation form is in development.
- Enhance the NostrmarketAPI with new methods for product management, including fetching, creating, updating, and deleting products.
- Implement state management for product loading and display, improving the overall user experience for merchants managing their inventory.
These changes provide a foundational structure for product management within the MerchantStore, enhancing functionality and user engagement.
- Remove unnecessary keys from form fields in the stall creation dialog to simplify the structure.
- Ensure the description field is now required, enhancing validation for store creation.
- Update the dialog button to type "button" for better clarity in user interactions.
- Streamline the handling of the description field in the API request, ensuring it defaults to an empty string if not provided.
These changes enhance the user experience during store creation by improving form validation and simplifying the component structure.
- Introduce keys for reactivity in the stall creation dialog and form elements to ensure proper rendering and state management.
- Implement autocomplete and spellcheck attributes for input fields to enhance user experience during store creation.
- Refactor form initialization and reset logic to ensure a clean state upon dialog opening and closing, improving usability.
- Add validation triggers after loading data to ensure form integrity and user feedback during the stall creation process.
These changes streamline the store creation experience, providing a more responsive and user-friendly interface for merchants.
- Refactor the MerchantStore component to display a grid of user stalls, including loading indicators and action buttons for managing stalls and viewing products.
- Introduce a new card for creating additional stores, enhancing the user experience for merchants.
- Update the NostrmarketAPI to correct the endpoint for fetching stalls, ensuring accurate data retrieval.
- Implement state management for user stalls and active stall selection, improving the overall functionality and responsiveness of the component.
These changes streamline the stall management process for merchants, providing a more intuitive interface and better feedback during interactions.
- Introduce a dialog for creating new stores, allowing users to input store name, description, currency, and shipping zones.
- Add functionality to manage shipping zones, including the ability to create new zones and select existing ones.
- Enhance the stall creation process with error handling and loading states, providing better user feedback during store setup.
- Update the NostrmarketAPI to support fetching available currencies and shipping zones, improving integration with the backend services.
These changes streamline the store creation experience for merchants, ensuring a more intuitive and guided process.
Refactor getCurrencies method in NostrmarketAPI to improve currency retrieval logic
- Introduce base currencies and enhance the logic to combine them with API currencies, ensuring no duplicates.
- Update debug logging to provide clearer information on currency retrieval outcomes.
- Simplify fallback mechanism to use base currencies directly in case of API failures.
These changes enhance the reliability and clarity of currency data handling in the NostrmarketAPI.
Refactor MerchantStore component to use NATIVE checkbox selection and add debug information
- Replace Checkbox component with native input checkboxes for zone selection, simplifying the binding with v-model.
- Enhance the user interface by adding debug information displaying the store name, selected zones count, and creation status.
- These changes improve the clarity of the zone selection process and provide useful debugging insights during store creation.
Enhance zone selection functionality in MerchantStore component
- Replace v-model with native checkbox handling for zone selection, improving clarity and user interaction.
- Add debug information to display currently selected zones, aiding in user understanding of their selections.
- Implement a new method to manage zone toggling, ensuring accurate updates to the selected zones array.
These changes streamline the zone selection process and provide better feedback for users during stall creation.
Improve zone selection handling and debugging in MerchantStore component
- Update zone selection to use a custom Checkbox component, enhancing user interaction and clarity.
- Add detailed debug information for selected zones, including raw array output and type, to aid in troubleshooting.
- Refactor the zone toggle logic to handle various input types, ensuring accurate updates to the selected zones array.
These changes enhance the user experience during stall creation by providing better feedback and more robust zone selection functionality.
Refactor Checkbox handling in MerchantStore component for improved zone selection
- Update zone selection to utilize the Shadcn/UI Checkbox component with v-model for better state management.
- Remove manual zone toggle logic and debug information, streamlining the component's functionality.
- Enhance user interaction by following recommended patterns for checkbox usage, ensuring reliable selections.
These changes improve the clarity and reliability of zone selection during stall creation.
Refactor MerchantStore component to utilize Shadcn Form components and improve form handling
- Replace existing form elements with Shadcn Form components (FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage) for better structure and validation.
- Integrate vee-validate and zod for type-safe form validation, enhancing user experience and error handling.
- Update shipping zone selection to use the new form structure, improving clarity and accessibility.
- Implement form submission logic with validation checks, ensuring required fields are filled before submission.
These changes enhance the overall form handling and user interaction during the store creation process.
- Implement a specific error message for 403 responses, indicating that the NostrMarket extension may not be enabled for the user.
- This change enhances user feedback and clarifies access issues related to the Nostrmarket service.
- Update the MerchantStore component to include detailed logging during merchant profile creation, capturing wallet ID and admin key details.
- Improve NostrmarketAPI request logging to include method type, headers with masked API key, and a preview of the request body.
These changes aim to facilitate easier debugging and provide more context during API interactions and merchant profile creation.
- Implement asynchronous merchant profile creation logic, including user authentication and wallet validation.
- Introduce loading and error handling states during the merchant creation process to improve user feedback.
- Update the button UI to reflect the creation status, providing a better user experience.
- Integrate toast notifications for success and error messages related to merchant profile creation.
These changes streamline the process for users to create their merchant profiles, ensuring they receive real-time feedback and guidance throughout the process.
- Introduce NostrmarketAPI service for improved merchant profile management.
- Update MerchantStore component to handle loading and error states during merchant profile checks.
- Implement logic to check for merchant profiles using the new API, enhancing user experience.
- Refactor computed properties and lifecycle methods to accommodate the new API integration.
These changes streamline the process of checking and managing merchant profiles, providing users with real-time feedback and improving overall functionality.
- Update empty state messaging to guide users in creating a merchant profile before setting up a store.
- Introduce computed properties to check for user merchant profile and stalls, improving user experience.
- Rename functions and variables for clarity, ensuring better alignment with user actions.
- Prepare for future implementation of merchant profile and stall creation functionalities.
These changes streamline the onboarding process for new merchants and clarify the steps needed to start selling on the platform.
- Introduce computed properties to count orders based on the current user's public key.
- Update orderCount to reflect only the user's orders as a buyer.
- Update pendingOrders to count only the user's pending orders as a seller.
- Improve user experience by providing personalized order statistics.
These changes ensure that users can easily track their own orders and pending transactions within the MarketDashboard.