Commit graph

570 commits

Author SHA1 Message Date
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
31fe244089 refactor: Adjust logo dimensions for improved responsiveness in Navbar and Login components
- Update logo sizes in Navbar.vue and Login.vue to enhance visual consistency and responsiveness across the application.
2025-08-03 11:20:35 +02:00
a461dd656e refactor: Update logo dimensions and enhance visual consistency in Navbar and Login components
- Replace logo image in Navbar.vue with a new asset and adjust dimensions for better responsiveness.
- Modify logo size in Login.vue to improve layout and maintain visual consistency across the application.
2025-08-03 11:20:35 +02:00
90c2b445bd feat: Add logo and enhance login functionality
- Introduce a new logo asset for branding.
- Update LoginDialog.vue to include routing for successful login and registration.
- Modify Navbar.vue to integrate LoginDialog and manage its visibility.
- Revise Login.vue to update the logo and welcome title, along with routing enhancements post-login and registration.
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
5e6bc32f02 update sonner; toast is still light 2025-08-01 14:11:17 +02:00
d5b762630c fix necessary import for sonner toast component
https://www.shadcn-vue.com/docs/components/sonner.html
2025-08-01 13:42:27 +02:00
f5e01c31f4 update logo icon; modify title 2025-07-29 21:38:54 +02:00
90b59dfe13 update 2025-07-29 21:25:53 +02:00
b20000c59c add .env.bak 2025-07-29 21:25:43 +02:00
25dde8b33e update pwa icons to cathar tower 2025-07-22 18:32:30 +02:00
ff5ae3f01d add nginx.conf example 2025-07-12 19:06:09 +02:00
0c90af01b1 feat: Enhance admin announcement functionality and introduce PWA installation prompt
- Update sendAdminAnnouncement to support multiple configured admin pubkeys and improve console output for clarity.
- Add new script send_posts_from_configured_admins.js to send posts from multiple admins for testing purposes.
- Implement PWAInstallPrompt component to guide users in installing the app, including handling installation status and browser compatibility.
- Integrate PWAInstallPrompt into Home.vue for improved user experience.
2025-07-12 18:10:33 +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
6c1caac84b add certs folder 2025-07-12 18:10:33 +02:00
cf7d288e50 feat: Enhance Navbar and IdentityDialog components with improved functionality and logging
- Update Navbar to close the mobile menu when opening the identity dialog.
- Add debug logging to IdentityDialog to track changes in the dialog's open state.
- Adjust styling for mobile menu and dialog content for better responsiveness.
2025-07-12 18:10:33 +02:00
5788b76000 fix vue-sonner Toast implementation
if there are ever issues with dialogs and toasts together, you may want
to add `pointer-events-auto` to the Toaster class
https://github.com/unovue/shadcn-vue/blob/dev/apps/www/src/content/docs/components/sonner.md#sonner-with-dialog
2025-07-12 18:10:26 +02:00
6ffcc759cf feat: Update Vite configuration for PWA support
- Add PWA metadata including app ID, categories, and language settings.
- Enhance configuration for better integration with social and utility features.
2025-07-07 01:53:03 +02:00
5175c20d82 feat: Enhance Navbar and IdentityDialog components with improved functionality and logging
- Update Navbar to close the mobile menu when opening the identity dialog.
- Add debug logging to IdentityDialog to track changes in the dialog's open state.
- Adjust styling for mobile menu and dialog content for better responsiveness.
2025-07-07 01:12:01 +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
17a1504771 feat: Enhance logging in send_test_note.js for better debugging
- Add logging of the hex public key to provide more context during note sending.
- Include instructions for making a note an admin post by adding the hex pubkey to the .env file.
2025-07-02 19:29:19 +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
bab4758f33 chore: Update nostr-tools dependency in package-lock.json
- Bump nostr-tools version from 2.10.4 to 2.15.0, updating resolved URL and integrity hash.
- Clean up optionalDependencies section in nostr-tools entry.
2025-07-02 19:21:14 +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
d3e8b23c86 add Archive 2025-07-02 16:24:17 +02:00
8515b1343e feat(ui): Add Toaster and Textarea components
- Introduce Toaster component using vue-sonner for notifications
- Implement Textarea component with v-model support and customizable classes
2025-07-02 16:24:12 +02:00
13b3adf876 add app specification 2025-07-02 16:23:48 +02:00
5b5a835d2c claude init 2025-07-02 16:18:37 +02:00
e892ba0324 add .vite 2025-07-02 16:18:28 +02:00
7fa7bfaa9c Remove .env from version control 2025-07-02 16:13:50 +02:00
2a8d7dcdcf npm audit fix 2025-03-20 16:28:26 +00:00
a74148a0da chore: Set up Electron configuration and update dependencies
- Add Electron Forge configuration in forge.config.js for packaging and building the app
- Create main Electron entry point in main.cjs for application initialization
- Update package.json scripts for Electron development and building
- Add necessary Electron dependencies to package.json
- Modify .gitignore to exclude build artifacts and temporary files
- Refactor Footer and Navbar components to remove unused imports
- Enhance NostrFeed component by removing unnecessary connection logic
- Update i18n setup for better type safety and locale management
- Refactor Home component to clean up unused code
- Extend Nostr store to manage account state with TypeScript interfaces
2025-03-20 17:26:15 +01: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
de73230525 replace heroicons with lucide-vue-next icon 2025-03-11 22:05:03 +01:00
c3a8abb252 feat(events): Add Lightning Network ticket purchase flow with QR code generation
- Integrate QRCode library for Lightning payment QR code generation
- Create PurchaseTicketDialog component for ticket purchase workflow
- Implement dynamic ticket purchase API integration with error handling
- Add Lightning wallet payment QR code and deep linking support
- Update events page to trigger ticket purchase dialog
- Configure environment variables for ticket purchase API endpoint
2025-03-11 22:05:03 +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
b8868f7971 improve colors 2025-03-11 22:04:58 +01:00
f5e22dedec update cattpuccin colors 2025-03-11 02:32:31 +01:00
55e8fa59d0 refactor(ui): Optimize LanguageSwitcher component rendering and type safety
- Simplify language display logic using computed property
- Add Locale interface for improved type checking
- Remove redundant v-for loops in template
- Enhance readability and performance of language selection rendering
2025-03-11 02:18:29 +01:00
3431dbdf97 add animations 2025-03-11 02:18:11 +01:00
f2a3f5e53e fix tailwind 2025-03-11 01:52:56 +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
68d6001880 feat(ui): Improve ConnectionStatus responsive design
- Add responsive classes to ConnectionStatus badge
- Hide status text on mobile screens
- Conditionally display error message on larger screens
- Enhance badge styling with transparent background on mobile
2025-03-09 15:40:32 +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