- Introduce a new button to open the user's wallet in a new tab.
- Implement error handling for cases where the user ID is not available.
- Retrieve the API base URL from environment variables for constructing the wallet URL.
- Change fetchEvents to access the new public endpoint for retrieving events without authentication.
- Remove the allWallets parameter and the API key from the request headers for simplified access.
- Modify product and stall event processing to find stalls using stall IDs instead of pubkeys, improving data accuracy.
- Enhance logging for better visibility into event processing and stall matching, including detailed warnings when stalls are not found.
- Introduce a Set to track processed event IDs, ensuring that each event is handled only once.
- Update event handling logic to skip already processed events, improving efficiency and data integrity.
- Update the loading state check in Market.vue to directly reference marketStore.isLoading, improving code clarity and reducing unnecessary null checks.
- Eliminate unnecessary Nostr client retrieval in publishProduct and publishStall functions.
- Update parameter names in event processing functions for clarity, using underscores for unused parameters.
- Clean up imports in useMarket.ts to streamline the codebase.
- Implement grouping of stall and product events by their unique IDs to retain only the most recent versions.
- Update event processing logic to sort events by creation timestamp, ensuring the latest data is used for stalls and products.
- Improve logging for better visibility into the processing of events and the creation of market entities.
- Delete MarketTest.vue as it is no longer needed for testing purposes.
- Remove the corresponding route from the router configuration.
- Update Navbar.vue to eliminate the 'Market Test' navigation item, streamlining the navigation options.
- Modify the useMarket composable to utilize unique IDs from parsed stall and product data instead of Nostr event IDs for better data integrity.
- Implement logging for unsigned event creation, indicating that signing with the user's private key is required for publishing products and stalls.
- Introduce MarketTest.vue for testing market loading and state management.
- Update error handling in Market.vue and useMarket composable to utilize marketStore for consistent error reporting.
- Enhance logging throughout market loading processes for better debugging and user feedback.
- Update useMarket composable to set loading state in marketStore during market loading.
- Refine loading condition in Market.vue to only check marketStore.isLoading, enhancing clarity and performance.
- Enhance logging in useMarket and NostrClient to provide better insights during event fetching and market loading.
- Add local relay support in configuration for improved development and testing.
- Adjust delay in event fetching to ensure more reliable data collection from relays.
- Add detailed logging for market loading, configuration, stalls, and products to aid in debugging.
- Implement graceful error handling by creating default markets and stalls when data loading fails.
- Introduce a method to add sample products for testing when no products are found, improving development experience.
- Update market data fetching logic to ensure consistent handling of identifiers and event processing.
- Replace direct calls to fetchNotes with the new fetchEvents method in useMarket.ts for better event retrieval.
- Simplify event fetching logic by removing unnecessary filters and enhancing clarity.
- Implement individual relay subscriptions for market updates, allowing for more efficient event handling and cleanup.
- Introduce a new .env.example file for Nostr and API configuration, including settings for push notifications and market relays.
- Update Navbar.vue to include a new navigation item for the market, enhancing user access to market features.
- Extend localization support by adding market translations in English, Spanish, and French.
- Update ProductCard.vue and Market.vue to use the new ShoppingCart component from lucide-vue-next instead of the previous ShoppingCartIcon from heroicons.
- Adjust button and icon imports for consistency across the application.
- Add ProductCard.vue component for displaying product details, including image, name, description, price, and stock status.
- Create useMarket.ts composable to manage market loading, data fetching, and real-time updates from Nostr.
- Introduce market.ts store to handle market, stall, product, and order states, along with filtering and sorting capabilities.
- Develop Market.vue page to present market content, including loading states, error handling, and product grid.
- Update router to include a new market route for user navigation.
- Upgrade reka-ui to version 2.4.1 in package.json and package-lock.json for improved features and bug fixes.
- Introduce new Checkbox, HoverCard, Popover, Progress, RadioGroup, Separator, Skeleton, Slider, Switch, Tooltip components to enhance UI functionality.
- Ensure all new components utilize reactive props and maintain consistent styling with utility classes.
- Comment out the wallet balance display section in Navbar.vue to prepare for potential redesign or feature updates.
- Remove the border from the CurrencyDisplay component.
- Remove the "Support" link from the Navbar.vue navigation items to streamline the menu.
- Adjust formatting in Navbar.vue for improved readability and consistency in the template structure.
- Update i18n files to remove references to the "Support" string in English, Spanish, and French locales, enhancing localization accuracy.
- Remove conditional rendering for currency denominations in CurrencyDisplay.vue, ensuring consistent display regardless of value.
- Enhance code clarity by streamlining the template structure while maintaining visual representation of wallet contents.
- Replace formatted balance display with CurrencyDisplay component in Navbar.vue, enhancing the visual representation of wallet balances.
- Introduce CurrencyDisplay.vue to handle the display of various currency denominations, improving clarity for users regarding their wallet contents.
- Implement wallet balance computation and formatting in Navbar.vue, enhancing user experience by displaying wallet balance in both the main navigation and dropdown menu.
- Introduce currency conversion utilities in currency.ts to format wallet balances into EverQuest currency denominations, improving clarity for users.
- Change the manual payment message to specify that users need to fill their wallet or use an external payment method, enhancing user understanding of payment options.
- Eliminate console logging from the authentication initialization and login processes in useAuth.ts for cleaner code.
- Streamline wallet computation in useTicketPurchase.ts by removing unnecessary logging while maintaining functionality.
- Refactor LNBits API methods to reduce logging, enhancing code clarity and maintainability.
- Eliminate the unused getCurrentUser function from useAuth.ts to streamline authentication logic.
- Clean up imports in events.ts by removing the unused Event type, enhancing code clarity and maintainability.
- Add console logging for authentication initialization, login attempts, and user retrieval to improve debugging and traceability.
- Introduce a new getCurrentUser function in useAuth for better user data management.
- Update useTicketPurchase to include detailed logging for user wallets and balance checks, enhancing visibility into wallet states.
- Refactor LNBits API request and response logging for clearer error handling and debugging.
- Remove unused imports from PurchaseTicketDialog.vue and useUserTickets.ts for improved code clarity.
- Update events.ts to eliminate the unused paymentRequest parameter in payInvoiceWithWallet function.
- Simplify MyTickets.vue by removing the unused unregisteredTickets variable and related QR code generation logic, enhancing maintainability.
- Implement functionality to always generate QR codes for all tickets, improving accessibility.
- Refactor ticket navigation to automatically generate QR codes for the next and previous tickets when cycling through them.
- Update layout for better visibility of ticket details and QR codes, ensuring a consistent user experience across different ticket statuses.
- Introduce a watcher to generate QR codes when grouped tickets change, enhancing real-time updates.
- Add navigation buttons for cycling through tickets within each event group, enhancing user experience.
- Introduce state management for current ticket index, allowing users to view tickets sequentially.
- Update ticket display logic to reflect the currently selected ticket, ensuring accurate information presentation.
- Refactor layout to accommodate new ticket navigation features while maintaining a cohesive design.
- Enhance useUserTickets composable to group tickets by event, providing counts for paid, pending, and registered tickets.
- Update MyTickets.vue to display tickets in organized groups, improving user experience with clear event headers and ticket summaries.
- Refactor ticket display logic to accommodate grouped ticket views, ensuring a cohesive layout across different ticket statuses.
- Modify PurchaseTicketDialog.vue to improve the ticket purchase success message and display a ticket icon.
- Add a button for users to easily navigate to their tickets area.
- Refactor the layout for better visual presentation of ticket information.
- Update PurchaseTicketDialog.vue and MyTickets.vue to enhance the presentation of ticket IDs.
- Wrap ticket ID text in a styled container for better visibility and formatting.
- Ensure consistent styling across components for a unified user experience.
- Update PurchaseTicketDialog.vue to display a ticket QR code after successful purchase and manage its visibility.
- Refactor useTicketPurchase composable to include ticket QR code generation and state management.
- Introduce QR code functionality in MyTickets.vue for displaying ticket QR codes, allowing users to toggle visibility.
- Improve user experience by providing clear feedback on ticket purchase status and QR code availability.
- Introduce MyTickets.vue page to display user tickets with filtering options for paid, pending, and registered tickets.
- Implement useUserTickets composable for fetching and managing user ticket data.
- Update Navbar.vue to include a link to the My Tickets page.
- Enhance events API to support fetching user tickets.
- Define Ticket type in event.ts for better type safety.
- Update PurchaseTicketDialog.vue to integrate authentication checks and enhance ticket purchasing flow with wallet support.
- Implement useTicketPurchase composable for managing ticket purchase logic, including payment handling and QR code generation.
- Improve user experience by displaying user information and wallet status during the ticket purchase process.
- Refactor API interactions in events.ts to streamline ticket purchasing and payment status checks.
- Modify Login.vue to use v-if and v-else directives for better control over the display of the login and registration cards based on the showRegister state.
- Update Login.vue to enhance the overall layout by adjusting the container's height and centering.
- Refine padding and width settings to ensure a more consistent appearance across different screen sizes.
- Import `computed` and `useRoute` from Vue and Vue Router.
- Add a computed property to control the visibility of the navbar based on the current route.
- Update the App.vue template to conditionally render the navbar and footer only when not on the login page.
- Update LoginDialog.vue to improve maximum width settings for better adaptability across different screen sizes.
- Adjust Login.vue to refine container padding and centering, ensuring a more consistent layout on various devices.
- Adjust NostrFeed.vue to enhance the scroll area height for better adaptability across screen sizes.
- Update Home.vue to refine the container's padding and width for improved layout consistency on various devices.