Commit graph

40 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
de8db6a12b feat: Enhance ticket purchasing and management with QR code support
- 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.
2025-08-03 11:20:58 +02:00
63d636a8a0 feat: Add My Tickets feature with ticket management
- 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.
2025-08-03 11:20:57 +02:00
f7450627bc refactor: Revamp PurchaseTicketDialog and introduce useTicketPurchase composable
- 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.
2025-08-03 11:20:57 +02:00
734122ad27 refactor: Simplify logout process and enhance routing in authentication components
- Remove unnecessary async handling in logout functions across UserProfile.vue and Navbar.vue.
- Integrate `useRouter` for consistent redirection to the login page after logout.
- Update `logout` method in useAuth.ts to clear local state without an API call.
2025-08-03 11:20:35 +02:00
6e653d584c feat: Enhance logout functionality and routing in authentication system
- Integrate `useRouter` in `UserProfile.vue` and `useAuth.ts` to manage navigation after logout.
- Update `handleLogout` in `Navbar.vue` to reflect that redirection is now handled within the `auth.logout()` function.
2025-08-03 11:20:35 +02:00
be4ab13b32 refactor: Transition to authentication system and remove identity management
- Replace identity management with a new authentication system across the application.
- Update App.vue to integrate LoginDialog and remove PasswordDialog.
- Modify Navbar.vue to handle user authentication state and logout functionality.
- Enhance Home.vue to display user information upon login.
- Implement routing changes in index.ts to enforce authentication requirements for protected routes.
2025-08-03 11:20:35 +02:00
5ceb12ca3b Squash merge nostrfeed-localStorage into ario 2025-08-03 11:09:42 +02:00
c05f40f1ec feat: Implement push notification system for admin announcements
- Add a notification manager to handle push notifications and integrate with Nostr events.
- Create a push notification service to manage subscription and permission requests.
- Introduce components for notification settings and permission prompts in the UI.
- Update Nostr store to manage push notification state and enable/disable functionality.
- Enhance NostrFeed to send notifications for new admin announcements.
- Implement test notification functionality for development purposes.
2025-07-12 18:10:33 +02:00
236a8a59b9 refactor: Simplify Nostr connection management and enhance store integration
- Refactor useNostr composable to utilize a centralized Pinia store for connection state and client management.
- Update NostrFeed and App components to leverage the new store-based approach for relay configuration and client instantiation.
- Remove direct relay URL handling from components, improving maintainability and consistency across the application.
2025-07-02 19:49:06 +02:00
0324cf8ec5 feat: Centralize configuration management for Nostr and API settings
- Introduce a new config module to manage Nostr relays, admin pubkeys, and API settings.
- Update components to utilize the centralized config instead of environment variables directly.
- Refactor relevant files to improve maintainability and reduce reliance on environment variables.
2025-07-02 19:47:55 +02:00
ee7eb461c4 feat: Implement comprehensive Nostr identity and social features
## Core Identity Management
- Add secure key generation and import functionality
- Implement AES-GCM encryption with PBKDF2 key derivation
- Create password-protected identity storage
- Add browser-compatible crypto utilities (no Buffer dependency)

## User Interface
- Build identity management dialog with tabs for setup and profile
- Add navbar integration with user dropdown and mobile support
- Create password unlock dialog for encrypted identities
- Integrate vue-sonner for toast notifications

## Nostr Protocol Integration
- Implement event creation (notes, reactions, profiles, contacts)
- Add reply thread detection and engagement metrics
- Create social interaction composables for publishing
- Support multi-relay publishing with failure handling
- Add profile fetching and caching system

## Security Features
- Web Crypto API with 100k PBKDF2 iterations
- Secure random salt and IV generation
- Automatic password prompts for encrypted storage
- Legacy support for unencrypted identities

## Technical Improvements
- Replace all Buffer usage with browser-native APIs
- Add comprehensive error handling and validation
- Implement reactive state management with Vue composables
- Create reusable crypto utility functions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-02 17:14:02 +02:00
3c05ddde51 chore: Update project metadata and dependencies
- Change project title from "Atitlán Directory" to "Ariège Hub" in index.html
- Update app title in meta tags for PWA support
- Add @tanstack/vue-table dependency for enhanced table management
- Refactor ConnectionStatus component to improve status variant logic
- Enhance useEvents composable for better error handling and sorting
- Add 'events' translation to Spanish and French locales
- Create a new Pinia store for Nostr state management
2025-03-19 23:02:30 +01:00
933b2f3af1 refactor(events): Improve error handling and UI text styling
- Enhance error handling in useEvents composable with computed error message
- Add text-foreground class to improve event card text visibility
- Update Button variant and size for better visual consistency
- Refactor event card text styling to use foreground color classes
2025-03-11 22:05:03 +01:00
b8c881dea2 feat(events): Add comprehensive events management with dynamic fetching and UI
- Integrate Reka UI Tabs component for event browsing
- Create useEvents composable for event data management
- Implement events API integration with error handling
- Add events page with upcoming and past events sections
- Configure environment variables for API connection
- Add internationalization support for events navigation
2025-03-11 22:05:03 +01:00
18ece1e3e7 feat(nostr): Add connecting state to Nostr connection management
- Introduce `isConnecting` state in useNostr composable
- Update ConnectionStatus component to handle connecting state
- Add warning variant to Badge for connecting status
- Implement dynamic status text, color, and animation for connection states
- Modify App.vue to pass new isConnecting prop to ConnectionStatus
2025-03-09 15:40:32 +01:00
2a83972b47 feat(nostr): Add Nostr relay connection and status management
- Integrate nostr-tools for Nostr relay connectivity
- Create NostrClient for managing relay connections
- Implement useNostr composable for reactive connection handling
- Add ConnectionStatus component to display relay connection state
- Configure environment variable for Nostr relay endpoints
- Update App.vue to manage Nostr connection lifecycle
2025-03-09 15:40:32 +01:00
f02576d94a feat(i18n): Enhance internationalization with dynamic locale management
- Add comprehensive locale management with `useLocale` composable
- Implement dynamic locale loading and persistent storage
- Create type-safe internationalization infrastructure
- Add flag emojis and locale selection utilities
- Expand English locale with more comprehensive message schemas
2025-03-09 13:27:45 +01:00
3d356225cd bare repo 2025-03-09 12:28:49 +01:00
2bbb9ae938 refactor 2025-02-16 11:00:41 +01:00
5eb46e96c3 refactor: improve nostr connection and message handling
- Add WebSocket manager class for better connection handling
- Split message handling into separate store
- Add encryption service class
- Create chat composable for reusable chat logic
- Add error handling service
- Add connection status indicators throughout app
- Add message persistence service
- Improve subscription reliability with EOSE handling
- Add connection state management
- Hide status text on mobile for better space usage

These changes improve code organization, reliability, and user experience by:
- Better separation of concerns
- More robust error handling
- Clearer connection status feedback
- Improved message persistence
- More maintainable WebSocket management
- Better mobile responsiveness

Breaking changes:
- Message handling moved to separate store
- WebSocket connections now managed through NostrWebSocketManager
- Encryption now handled through NostrEncryption service
2025-02-16 11:00:41 +01:00