Commit graph

240 commits

Author SHA1 Message Date
55958a0822 style: Update ChatPage layout for improved height responsiveness
- Adjust the height of the chat container to use dynamic calculations based on viewport height, enhancing the layout for various screen sizes.
- Ensure the chat interface maintains a consistent appearance across different devices, improving overall user experience.
2025-08-10 10:50:14 +02:00
dd7d13f41b refactor: Improve chat component layout and message handling
- Ensure the chat header is always present to maintain layout consistency, even when no peer is selected.
- Update message display logic to only scroll to the bottom when new messages arrive, enhancing user experience.
- Refactor message input and display sections for better responsiveness and usability across devices.
2025-08-10 10:50:14 +02:00
d5e6b54c78 fix: Require VITE_NOSTR_RELAYS for chat functionality
- Update getRelays function to throw an error if VITE_NOSTR_RELAYS is not configured, ensuring proper relay setup for chat.
- Remove fallback relays to enforce the use of configured relays only, improving reliability in chat connections.
2025-08-10 10:50:14 +02:00
c30e4ba6c5 feat: Enhance Nostr chat functionality with improved authentication and error handling
- Integrate authentication token retrieval for loading peers and current user data.
- Update API endpoints to use a configurable base URL for better flexibility.
- Implement enhanced error handling for API responses, including JSON parsing and logging.
- Refactor relay connection logic to utilize a SimplePool for managing multiple relays efficiently.
- Improve user feedback with console logs for connection status and error details.
2025-08-10 10:50:14 +02:00
3bd87ee712 fix: Refine mobile chat layout and peer selection logic
- Adjust mobile chat component to ensure proper display of peer list and chat view based on selection.
- Enhance avatar and username rendering for selected peers, ensuring fallback options are in place.
- Improve responsiveness and usability of the chat interface, particularly for mobile users.
- Update message display logic to maintain consistency across different screen sizes.

refactor: Update desktop chat layout for improved structure

- Change the layout of the desktop chat component to use a full-height column flexbox, enhancing the overall structure and responsiveness.
- Ensure better alignment and spacing within the chat interface for a more organized appearance.
2025-08-10 10:50:14 +02:00
87663d1d87 feat: Enhance mobile chat experience with responsive design and navigation
- Implement mobile-first design for the chat interface, optimizing touch interactions and navigation.
- Introduce a peer list view that displays only peers until a selection is made, followed by a full-width chat view.
- Add a back button for easy navigation and ensure touch-friendly elements for better usability.
- Optimize message bubbles and avatars for mobile readability and visibility.
- Update documentation to reflect new mobile-responsive features and navigation improvements.
2025-08-10 10:50:14 +02:00
37642ca48c feat: Integrate chat feature into main navigation
- Add a "Chat" link to the main navigation for both desktop and mobile views.
- Include a message icon for visual identification and support for multiple languages (English, Spanish, French).
- Update documentation to reflect navigation integration and usage instructions for the chat feature.
2025-08-10 10:50:14 +02:00
0b62418310 feat: Add Nostr chat integration for LNBits users
- Introduce a new chat system that allows LNBits users to communicate via Nostr relays.
- Implement ChatComponent for real-time messaging, peer selection, and message display.
- Create useNostrChat composable to manage Nostr relay connections, message encryption, and user authentication.
- Develop ChatPage to serve as the main interface for the chat feature.
- Add API endpoints for retrieving current user and public keys for peer messaging.
- Ensure secure communication with encryption and admin-only access to private keys.
2025-08-10 10:50:14 +02:00
f4c3f3a0a3 update .env.example 2025-08-10 10:49:49 +02:00
c2f11f3d96 chore: update LNBits API configuration in environment and documentation
- Added VITE_LNBITS_API_URL to .env.example for LNBits API integration.
- Updated AUTHENTICATION.md to reflect changes in LNBits base URL configuration.
- Refactored ProfileDialog.vue and config files to use VITE_LNBITS_BASE_URL instead of VITE_API_BASE_URL for API calls.
2025-08-10 10:46:49 +02:00
7bee629e6b chore: update title translation fr,es 2025-08-07 06:18:03 +02:00
7bf05bc5ec refactor: Enhance stall and product loading logic in useMarket composable
- Update the loadStalls and loadProducts functions to filter events based on the active market's merchants instead of fetching from all authors.
- Improve logging to provide clearer insights into the loading process and the merchants involved.
- Add checks to handle cases where no active market or merchants are found, preventing unnecessary API calls.
2025-08-05 01:00:06 +02:00
ca3930296b refactor: Update event fetching logic in useMarket composable
- Modify the event fetching process to retrieve all stalls and products from all authors instead of filtering by market and stall pubkeys directly.
- Enhance logging to reflect the broader scope of data being loaded, improving clarity in the console output.
- Adjust comments to clarify the application logic for filtering events based on market and stall membership.
2025-08-05 00:57:31 +02:00
02371fe05d feat: Implement pending product processing in useMarket composable
- Introduce a queue for products that arrive before their corresponding stalls are loaded.
- Add a new function to process pending products and match them with available stalls.
- Enhance event handling to ensure pending products are processed when stalls are added, improving data integrity and user experience.
2025-08-05 00:37:14 +02:00
b453637867 feat: Add wallet opening functionality in ProfileDialog component
- 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.
2025-08-05 00:20:03 +02:00
7f05374dd5 refactor: Update fetchEvents function to use public endpoint
- 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.
2025-08-05 00:06:29 +02:00
e56dcb9e60 fix: Format price display in ProductCard component
- Update the price formatting in ProductCard.vue to use `toLocaleString` to add thousand mark separators.
2025-08-04 09:59:35 +02:00
c91e35ac50 refactor: Update event handling in useMarket to use stall IDs from product data
- 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.
2025-08-04 09:54:45 +02:00
d38978f446 feat: Prevent duplicate event processing in useMarket composable
- 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.
2025-08-04 08:49:28 +02:00
f3c66915a1 update market name and description 2025-08-03 11:34:36 +02:00
b9ae4a7309 refactor: Simplify loading state check in Market.vue
- Update the loading state check in Market.vue to directly reference marketStore.isLoading, improving code clarity and reducing unnecessary null checks.
2025-08-03 11:20:58 +02:00
35d2eba4ac Squash merge market-preload into market 2025-08-03 11:20:58 +02:00
8643eecfe7 refactor: Simplify useMarket composable by removing unused client references and improving parameter naming
- 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.
2025-08-03 11:20:58 +02:00
1fcc3706be refactor: Enhance useMarket composable to group and process recent stall and product events
- 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.
2025-08-03 11:20:58 +02:00
9e02574c27 refactor: Remove MarketTest page and update Navbar navigation
- 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.
2025-08-03 11:20:58 +02:00
670270ca91 fix: Update useMarket composable to use unique IDs for stalls and products
- 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.
2025-08-03 11:20:58 +02:00
1ed8759162 feat: Add MarketTest page and enhance error handling in market components
- 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.
2025-08-03 11:20:58 +02:00
1a3510becb fix: Improve loading state management in useMarket and Market.vue
- 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.
2025-08-03 11:20:58 +02:00
e66d976ee8 chore: Update logging and configuration in market-related files
- 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.
2025-08-03 11:20:58 +02:00
54044f165c feat: Enhance useMarket composable with improved error handling and sample data loading
- 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.
2025-08-03 11:20:58 +02:00
e6607509c5 refactor: Update useMarket composable to utilize fetchEvents method and improve subscription handling
- 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.
2025-08-03 11:20:58 +02:00
4c31ebaaa5 feat: Add .env.example file and update Navbar for market navigation
- 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.
2025-08-03 11:20:58 +02:00
21bb7372b4 refactor: Replace ShoppingCartIcon with ShoppingCart component in ProductCard and Market pages
- 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.
2025-08-03 11:20:58 +02:00
4d3d69f527 feat: Implement market functionality with ProductCard, useMarket composable, and market store
- 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.
2025-08-03 11:20:58 +02:00
2fc87fa032 feat: Update reka-ui dependency and add new UI components
- 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.
2025-08-03 11:20:58 +02:00
98bd504333 refactor: Comment out wallet balance display in Navbar for future adjustments
- 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.
2025-08-03 11:20:58 +02:00
941b4c3ec5 refactor: Clean up Navbar component and remove support link
- 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.
2025-08-03 11:20:58 +02:00
93d30c0255 refactor: Simplify CurrencyDisplay component by removing conditional rendering for zero values
- 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.
2025-08-03 11:20:58 +02:00
4b469ce82e feat: Add "My Tickets" button to Navbar for quick access
- Introduce a new button in Navbar.vue that allows users to navigate directly to their tickets, enhancing user experience and accessibility.
2025-08-03 11:20:58 +02:00
437da6ad72 feat: Integrate CurrencyDisplay component for wallet balance in Navbar
- 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.
2025-08-03 11:20:58 +02:00
4cf2b769d6 feat: Add wallet balance display and currency formatting
- 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.
2025-08-03 11:20:58 +02:00
c959cf8101 fix: Update manual payment message in PurchaseTicketDialog for clarity
- 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.
2025-08-03 11:20:58 +02:00
cd0016744b refactor: Simplify authentication and wallet logic by removing debug logs
- 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.
2025-08-03 11:20:58 +02:00
e1667461be fix: Update getCurrentUser method to use correct API endpoint
- Change the API request in getCurrentUser from '/user' to '/auth' to align with the updated authentication flow.
2025-08-03 11:20:58 +02:00
d9523cc784 refactor: Remove unused getCurrentUser function and clean up imports in events.ts
- 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.
2025-08-03 11:20:58 +02:00
0cc0bf3555 feat: Enhance authentication and user management with detailed logging
- 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.
2025-08-03 11:20:58 +02:00
217ca70334 refactor: Clean up imports and unused variables in ticket-related components
- 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.
2025-08-03 11:20:58 +02:00
deabf9464a feat: Enhance QR code generation and ticket navigation in MyTickets
- 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.
2025-08-03 11:20:58 +02:00
774df2757d feat: Implement ticket cycling functionality in MyTickets
- 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.
2025-08-03 11:20:58 +02:00
67e4c0db87 feat: Implement ticket grouping in MyTickets for improved organization
- 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.
2025-08-03 11:20:58 +02:00