Commit graph

21 commits

Author SHA1 Message Date
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
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
8a9ffc5918 feat: Implement secure VAPID key generation for push notifications
- Replace random key generation with the web-push library for generating cryptographically secure VAPID keys.
- Update console output to guide users on adding keys to their environment configuration.
- Enhance error handling for VAPID key generation issues.
- Add web-push dependency to package.json and package-lock.json for proper functionality.
2025-07-12 18:10:33 +02:00
cc6ba2612d feat: Update app configuration and enhance identity management
- Change app manifest details to reflect new branding for "Ario - Nostr Community Hub".
- Add new properties to the manifest, including categories and language support.
- Refactor identity handling in IdentityDialog and PasswordDialog components for improved profile initialization.
- Update event creation functions in events.ts to use the correct event type from nostr-tools.
2025-07-12 18:10:33 +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
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
adcba13806 feat: Refactor event fetching in NostrClient to use subscription method
- Replace the previous get() method with a subscription approach to retrieve multiple events from relays.
- Implement event collection with a timeout to ensure all stored events are fetched before closing the subscription.
- Adjust the format of collected events to match expected structure.
2025-07-02 19:21:43 +02:00
97db2a2fec feat: Add scripts for sending admin and test notes via Nostr
- Introduce `send_admin_note.js` for sending community announcements to Nostr relays.
- Implement `send_test_note.js` for testing note sending with specified private key and relay URL.
- Enhance `NostrFeed.vue` to filter notes based on admin pubkeys and display appropriate titles and descriptions for different feed types.
- Update `Home.vue` to use the announcements feed type for the Nostr feed component.
2025-07-02 19:14:56 +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
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
00f4bfa583 feat(nostr): Implement Nostr Feed with real-time note fetching
- Add NostrFeed component to display Nostr network notes
- Integrate date-fns for human-readable timestamp formatting
- Enhance NostrClient with fetchNotes and subscribeToNotes methods
- Implement loading, error, and empty state handling
- Add scrollable card-based UI for note display
- Configure dynamic relay selection with fallback to environment variables
2025-03-09 16:57:22 +01:00
903636b6f9 update shadcn/tailwind config 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
3d356225cd bare repo 2025-03-09 12:28:49 +01:00
2bbb9ae938 refactor 2025-02-16 11:00:41 +01:00
d1ac7da1a6 refactor for better message handling 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
d694f9b645 lots of login dialog and nostr subsription relate updates 2025-02-16 11:00:41 +01:00
ac906ca6c9 big milestone! 2025-02-16 11:00:41 +01:00
a44ee45a38 initial post-installation commit 2025-01-30 13:26:56 +01:00