Commit graph

49 commits

Author SHA1 Message Date
c8860dc937 feat: extract and consolidate common UI patterns across market module
## Component Extraction
  - Create MarketSearchBar component with dual-mode support (enhanced/simple)
    - Enhanced mode: suggestions, keyboard shortcuts, category filters
    - Simple mode: basic search functionality
    - Dynamic imports for performance optimization
  - Extract LoadingErrorState component for consistent loading/error handling
    - Configurable compact/full modes with custom messages
    - Built-in retry functionality
    - Standardized spinner and error displays
  - Consolidate CartButton component (already extracted in previous commit)

  ## UI Standardization
  - Replace inline category badges in StallView with CategoryFilterBar component
  - Add missing state management for category filtering (filterMode, setFilterMode)
  - Ensure consistent filtering UI between MarketPage and StallView
  - Standardize loading states across MarketPage, ProductGrid, and MerchantStore

  ## Code Organization
  - MarketPage: Uses enhanced MarketSearchBar with full feature set
  - StallView: Uses simple MarketSearchBar for cleaner stall-specific search
  - Both views now share CategoryFilterBar, CartButton, and ProductGrid
  - LoadingErrorState provides unified loading/error UX patterns

  ## Technical Improvements
  - Eliminate code duplication following DRY principles
  - Improve maintainability with single source of truth for UI patterns
  - Optimize performance with conditional feature loading
  - Enhance accessibility with consistent keyboard shortcuts and ARIA labels
  - Ensure mobile-responsive designs with unified behavior

  BREAKING CHANGE: MarketFuzzySearch component replaced by MarketSearchBar
2025-09-27 09:45:33 +02:00
da5c4d6de1 feat: add CartButton component for consistent cart access across views
- Introduced a new CartButton component to encapsulate cart summary functionality, improving code reusability and maintainability.
- Updated MarketPage.vue and StallView.vue to utilize the CartButton component, enhancing user navigation to the cart.
- Removed redundant cart summary code from both views, streamlining the component structure.

These changes provide a unified and consistent user experience for accessing the cart across different market views.
2025-09-27 00:07:37 +02:00
56bcb8ec04 refactor: update ProductCard, ProductGrid, and MarketPage components for improved product handling and internal state management
- Removed direct store dependency from ProductCard.vue, replacing it with event emission for adding products to the cart.
- Enhanced ProductGrid.vue to manage product detail dialog internally, improving user interaction and state handling.
- Streamlined MarketPage.vue by removing redundant product detail dialog logic, focusing on cleaner component structure.
- Updated event handling for adding products to the cart with quantity support, enhancing flexibility in product management.

These changes improve the modularity and maintainability of the market components, providing a better user experience when interacting with products.
2025-09-26 23:56:37 +02:00
3f47d2ff26 feat: introduce CategoryFilterBar and ProductGrid components for enhanced product filtering and display
- Added CategoryFilterBar.vue to manage category filtering with AND/OR toggle options and clear all functionality.
- Implemented ProductGrid.vue to display products with loading and empty states, improving user experience.
- Refactored MarketPage.vue to utilize the new components, streamlining the layout and enhancing responsiveness.
- Updated StallView.vue to incorporate ProductGrid for consistent product display across views.

These changes enhance the overall usability and visual appeal of the market components, providing users with a more intuitive filtering and browsing experience.
2025-09-26 23:39:08 +02:00
25d17b481d refactor: consolidate Product types into single source of truth
- Replace dual Product interfaces with unified domain model in types/market.ts
  - Rename API response type to ProductApiResponse for clarity
  - Add mapApiResponseToProduct() function for clean API-to-domain conversion
  - Update MerchantStore.vue to use mapping function instead of manual property assignment
  - Fix CreateProductDialog.vue to properly handle type conversions for API calls
  - Resolve TypeScript readonly type conflicts using type assertions instead of array spreading
  - Add missing reactive references (searchQuery) and remove unused imports
  - Prevent Vue 3 recursion issues by maintaining original reactive object references

  This eliminates confusion between API response structure and application domain model,
  following single source of truth principle for better maintainability and type safety.
2025-09-26 17:29:06 +02:00
478b83ddd3 FIX BUILD ERRORS & AVOID INFINITE RECURSION: Enhance product enrichment and type definitions in MerchantStore component
- Updated the product enrichment logic in MerchantStore.vue to ensure all necessary properties match the Product interface, improving data consistency.
- Added optional properties for active status, pending state, and configuration in the Product interface within market.ts, enhancing flexibility for merchant store management.
- Improved type assertions in MarketPage.vue and StallView.vue to ensure proper type handling for product data, enhancing type safety and clarity.

These changes improve the robustness and reliability of product data handling across the market components, enhancing the overall user experience.
2025-09-26 17:20:59 +02:00
d98dcc58d7 BUILD ERRORS: Refactor MarketFuzzySearch component for improved input handling
- Updated the searchInputRef initialization to remove the explicit type declaration, simplifying the code.
- Enhanced input focus and blur handling by ensuring the existence of the $el property before accessing the input element, improving robustness.
- Streamlined the focus management logic in the handleClear and handleKeydown functions for better user experience.

These changes enhance the reliability and clarity of the MarketFuzzySearch component, improving overall usability.
2025-09-26 17:11:08 +02:00
a82360b283 Enhance MarketFuzzySearch component with responsive keyboard hints
- Updated the keyboard shortcuts hint to display only on desktop devices, improving usability for users on larger screens.
- Introduced responsive breakpoints to manage the visibility of the enhanced placeholder, ensuring a better user experience across different device sizes.

These changes refine the search component by tailoring the interface to the user's device, enhancing accessibility and interaction.
2025-09-26 17:02:01 +02:00
f2a432b6df Enhance MarketFuzzySearch component with improved suggestion display and input focus handling
- Added focus and blur event handlers to manage input focus state.
- Updated suggestion display to show both search suggestions and recent searches in a unified dropdown.
- Improved styling for suggestion buttons to enhance user interaction.
- Ensured input field is focused after clearing search, improving usability.

These changes enhance the search experience by providing clearer suggestions and better input management.
2025-09-26 17:02:00 +02:00
39ecba581f Implement AND/OR filter logic in useCategoryFilter and update MarketPage UI
- Added support for AND/OR filtering modes in the `useCategoryFilter` composable, allowing users to filter products based on all or any selected categories.
- Introduced reactive state management for filter mode and updated the filtering logic to accommodate the new functionality.
- Enhanced the MarketPage UI with a toggle for selecting filter modes, improving user experience and accessibility.
- Updated ARIA attributes for better screen reader support in the filter mode selection.

These changes significantly enhance the category filtering capabilities, providing users with more control over product visibility.

Refactor CreateProductDialog and MarketPage for improved category handling

- Updated CreateProductDialog to utilize `model-value` and `@update:model-value` for the CategoryInput component, enhancing reactivity in category selection.
- Enhanced MarketPage filtering logic to support AND/OR modes, allowing for more flexible product filtering based on selected categories.
- Improved category normalization and matching logic to ensure accurate filtering results.

These changes streamline the category management and filtering processes, providing users with a more intuitive experience when creating and finding products.
2025-09-26 00:42:05 +02:00
bb761abe75 Refactor CreateProductDialog and MerchantStore for improved product handling
- Updated CreateProductDialog to use `model-value` for Checkbox components, enhancing reactivity and consistency.
- Modified MerchantStore to only add active products to the market store, improving product visibility and management.

These changes streamline the product creation and management processes, ensuring better user experience and data integrity.
2025-09-26 00:42:02 +02:00
a75982f8ef Add CategoryInput component for category management in CreateProductDialog
- Introduced a new CategoryInput component to facilitate category selection with suggestions and popular categories.
- Updated CreateProductDialog to integrate the CategoryInput, enhancing the user experience for adding product categories.
- Improved accessibility and usability by allowing users to add categories via keyboard shortcuts and providing visual feedback for selected categories.

These changes enhance the product creation process by streamlining category management.
2025-09-26 00:40:40 +02:00
8aa575ffb1 Add MarketFuzzySearch component for enhanced product searching
- Introduced a new MarketFuzzySearch component to provide an advanced search interface with keyboard shortcuts, search suggestions, and recent searches functionality.
- Updated MarketPage and StallView to integrate the new fuzzy search component, replacing the previous search input implementations.
- Enhanced search capabilities with configurable options for better user experience and product discovery.

These changes improve the search functionality across the market module, making it easier for users to find products efficiently.
2025-09-25 23:02:47 +02:00
86d3133978 Add stall view and product detail dialog in market module
- Introduced a new route for viewing individual stalls, allowing users to navigate to a specific stall's page.
- Created a ProductDetailDialog component to display detailed information about products, including images, descriptions, and stock status.
- Updated MarketPage to handle stall navigation and integrate the new dialog for product details.

These enhancements improve the user experience by providing more detailed product information and easier navigation within the market module.
2025-09-25 22:53:12 +02:00
f2080abce5 Enhance product handling in MerchantStore and useMarket
- Enriched products with stall names in MerchantStore, ensuring each product displays the associated stall name or 'Unknown Stall' if not available.
- Updated product addition logic in useMarket to include stall names, improving clarity and consistency across the application.
- Enhanced error handling for product loading to maintain robust functionality.

These changes improve the user experience by providing clearer product information in the market interface.
2025-09-25 22:44:38 +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
16a96ebfc9 Remove dangling PaymentRequestDialog component (may contain confusing legacy code) 2025-09-14 17:58:44 +02:00
98544e2e79 Enhance CreateProductDialog and MerchantStore components for product editing functionality
- 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.
2025-09-09 03:35:43 +02:00
c00a172fb6 Refactor CreateStoreDialog component by removing unused imports
- Removed the unused Label import to clean up the code and improve readability.
- This change simplifies the component structure, enhancing maintainability.
2025-09-09 00:34:17 +02:00
a5764621c2 Refactor MerchantStore component for improved layout and user experience
- 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.
2025-09-08 23:39:13 +02:00
91c3dec064 Enhance CreateStoreDialog component with improved layout and functionality
- 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.
2025-09-08 23:31:44 +02:00
68f1e527eb Remove backup file for MerchantStore component to streamline codebase and prevent confusion. This cleanup enhances maintainability by eliminating unnecessary files. 2025-09-08 23:21:34 +02:00
378e534a66 Refactor CreateProductDialog and CreateStoreDialog components for improved form handling
- 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.
2025-09-08 23:20:17 +02:00
0c931cf457 Add CreateProductDialog and CreateStoreDialog 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.
2025-09-08 22:13:17 +02:00
d52d7f4d7f Complete product creation form implementation
- 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>
2025-09-08 19:50:10 +02:00
3e8df8efb1 Implement product management features in MerchantStore component
- 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.
2025-09-08 19:27:02 +02:00
4ce12bcbd3 Refactor MerchantStore component for improved form handling and validation
- 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.
2025-09-08 19:06:44 +02:00
c3e599b3e4 Enhance MerchantStore component with improved form handling and dialog management
- 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.
2025-09-08 18:44:36 +02:00
6f68c2320e Enhance MerchantStore component with improved stall management and loading states
- 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.
2025-09-08 17:46:54 +02:00
e6107839a0 Implement store creation dialog in MerchantStore component
- 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.
2025-09-08 16:58:10 +02:00
b8ba41d088 Enhance logging in MerchantStore and NostrmarketAPI for better debugging
- 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.
2025-09-08 16:58:10 +02:00
4ecec1aa78 Enhance MerchantStore component with merchant profile creation functionality
- 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.
2025-09-08 16:58:10 +02:00
b25e502c17 Add NostrmarketAPI integration and enhance MerchantStore component
- 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.
2025-09-08 16:58:10 +02:00
8cf62076fd Refactor MerchantStore component to enhance merchant profile management
- 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.
2025-09-08 16:58:10 +02:00
8e34f2c74e Enhance MerchantStore component with user store creation flow
- Introduce an empty state for users without a store, prompting them to create one.
- Implement computed property to check if the user has a store based on their order history.
- Update store statistics to reflect only the user's orders.
- Add a placeholder function for future store creation functionality.

These changes improve user experience by guiding new merchants to set up their stores effectively.
2025-09-08 16:58:10 +02:00
c284ad5778 Remove legacy compatibility layer and enforce modular architecture
- Delete src/stores/market.ts compatibility re-export file
- Update 15 files to import from proper module path @/modules/market/stores/market
- Add necessary type exports to market store for external consumers
- Remove empty src/stores/ directory completely
- Enforce clean modular architecture without global store shortcuts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 02:30:37 +02:00
14d6bc6329 Add NostrmarketService to dependency injection container
- Introduce NOSTRMARKET_SERVICE token in the DI container for better service management.
- Update market module to create and register NostrmarketService instance using the new DI pattern.
- Refactor components and composables to inject NostrmarketService via the DI container, enhancing modularity and testability.

These changes improve the architecture by ensuring consistent service injection and eliminating legacy singleton references, aligning with the overall dependency injection strategy.
2025-09-07 01:31:24 +02:00
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
46856134ef Complete legacy code cleanup and achieve full modular architecture
Major accomplishments:
- Remove duplicate components (market/, events/ legacy wrappers)
- Move services to appropriate modules (paymentMonitor, nostrmarketService)
- Relocate invoiceService to core/services as shared utility
- Clean up legacy re-export composables (useMarket, useMarketPreloader)
- Update all import paths to use proper module structure
- Fix circular imports and TypeScript errors
- Achieve successful production build (4.99s)

Architecture goals achieved:
 Module-first architecture with clean boundaries
 All duplicate patterns consolidated (1.3.1 through 1.3.6)
 Proper service organization and dependency injection
 Legacy code elimination with no backwards compatibility concerns
 30-40% reduction in duplicate code across modules

Build verification: All TypeScript errors resolved, production build successful

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 13:48:35 +02:00
e8b9f04494 Refactor PaymentService and related components for improved state management
- Reset payment state on initialization in PaymentService to prevent stuck states.
- Introduce forceResetPaymentState method for debugging purposes.
- Update useTicketPurchase and useLightningPayment composables to reflect changes in computed properties for better state handling.
- Ensure OrderHistory component resets payment state on mount to enhance user experience.
2025-09-05 16:18:13 +02:00
861c032300 Refactor imports and enhance type handling across components
- Update import paths for useTicketPurchase in PurchaseTicketDialog.vue to reflect new module structure.
- Adjust type handling in Navbar.vue and various market components to use 'any' for improved compatibility with existing data structures.
- Enhance useLightningPayment composable to include shipping zone details, ensuring better order management.
- Remove unused pages (events.vue, MyTickets.vue, OrderHistory.vue) to streamline the codebase and improve maintainability.
2025-09-05 05:42:44 +02:00
fbac1e079e Refactor OrderHistory to improve order status handling
- Update OrderHistory.vue to utilize a new method, getEffectiveStatus, for determining the effective order status based on payment and shipping conditions.
- Modify the display logic for pending orders to check if the order is paid before showing the waiting for invoice message, enhancing clarity for users.
- Ensure consistent status formatting by applying the new method across relevant components.
2025-09-05 05:16:31 +02:00
99bbde4d05 Refactor OrderHistory and introduce payment status checker
- Update OrderHistory.vue to utilize a new method for determining effective order status, enhancing clarity in payment and shipping status display.
- Add a new composable, usePaymentStatusChecker, to handle payment status checks via LNbits API, improving order payment verification.
- Modify nostrmarketService to streamline order updates with consolidated status handling for paid and shipped states.
- Enhance market store initialization to include payment status and paid fields for better order management.
- Update market types to include new fields for payment and shipping status, ensuring consistency across the application.
2025-09-05 05:16:25 +02:00
db9b50240d Implement Lightning payment handling in OrderHistory component
- Replace the existing openLightningWallet function with payWithLightning for improved payment processing.
- Introduce useLightningPayment composable to manage wallet payment logic and state.
- Update button text dynamically based on payment status and wallet availability.
- Enhance error handling and user feedback during payment attempts, ensuring a smoother user experience.
2025-09-05 04:50:35 +02:00
f5ea2a8d5e Refactor market components for improved structure and functionality
- Update imports in DashboardOverview.vue to use relative paths for better module organization.
- Modify OrderHistory.vue to replace 'lightningInvoice' with 'paymentRequest' for consistency in payment handling.
- Enhance order event handling in useMarket.ts by adding subscription and decryption logic for order-related DMs.
- Update nostrmarketService.ts to use relative imports, ensuring consistency across the module.
- Introduce error handling and logging for order updates, improving the robustness of the market module.
2025-09-05 04:38:51 +02:00
36638d1080 Remove useNostrOrders composable and related Checkout page
- Delete the useNostrOrders composable as it is no longer needed.
- Update MerchantStore.vue to utilize nostrmarketService for publishing orders instead of the removed composable.
- Refactor market store to check the readiness of nostrmarketService instead of useNostrOrders.
- Remove the Checkout.vue page, streamlining the checkout process and improving code maintainability.
2025-09-05 04:22:54 +02:00
6c1d040e60 Refactor DashboardOverview.vue to temporarily mock order events
- Comment out the useOrderEvents import and replace it with a temporary mock object for order events, indicating a future move to the market module.
- This change aims to improve modularity and maintainability within the market components.
2025-09-05 01:44:26 +02:00
17c07c37a0 Refactor chat and market modules for improved integration and maintainability
- Remove deprecated Nostr chat and relay hub components, transitioning to a modular chat service for better encapsulation.
- Update App.vue and Navbar.vue to utilize the new chat module, enhancing user experience with automatic peer management.
- Simplify event handling and connection logic in ChatComponent.vue, ensuring compatibility with the new chat service architecture.
- Adjust market settings and order history components to reflect changes in the chat module, improving overall coherence in the application structure.
- Clean up unused imports and streamline configuration access for better performance and maintainability.
2025-09-05 01:44:15 +02:00
e40ac91417 Enhance market module with new chat and events features
- Introduce chat module with components, services, and composables for real-time messaging.
- Implement events module with API service, components, and ticket purchasing functionality.
- Update app configuration to include new modules and their respective settings.
- Refactor existing components to integrate with the new chat and events features.
- Enhance market store and services to support new functionalities and improve order management.
- Update routing to accommodate new views for chat and events, ensuring seamless navigation.
2025-09-05 00:01:40 +02:00