Commit graph

162 commits

Author SHA1 Message Date
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
0923731ee9 feat(ui): Enhance ConnectionStatus and Badge components with dynamic status indicators
- Add animated ping effect to ConnectionStatus badge
- Update Badge variants with more subtle color schemes
- Implement success variant for online/offline states
- Reduce text size and improve visual hierarchy
- Use rounded-full badge design for better aesthetics
2025-03-09 15:40:32 +01:00
ea03290f84 refactor(ui): Improve Badge component styling and variants
- Change Badge component from div to span for semantic correctness
- Add whitespace-nowrap to prevent text wrapping
- Remove unnecessary shadow classes from default and destructive variants
- Enhance outline variant with border and hover states
- Update variant prop handling in Badge component
2025-03-09 15:40:32 +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
6a5b64a382 feat(styles): Add comprehensive border color utility classes
- Expand border color utility classes for more granular styling
- Add directional border color classes (border-x, border-y, border-t, border-r, border-b, border-l)
- Include border color utilities for various theme colors (primary, background, foreground, card, muted, accent, destructive)
- Enhance Tailwind CSS utility layer for more flexible border styling
2025-03-09 15:40:24 +01:00
8e87b81ba9 docs: Create comprehensive project improvements roadmap
- Add IMPROVEMENTS.md with detailed project enhancement strategy
- Document current project strengths across structure, i18n, theming, and performance
- Outline planned improvements in testing, error handling, performance monitoring, and more
- Define priority order for implementing project enhancements
- Include implementation guidelines and contribution recommendations
2025-03-09 14:14:42 +01:00
e8225446ac refactor(ui): Enhance Navbar styling with improved text and hover states
- Add text-foreground class to improve color consistency
- Implement hover states for logo, theme toggle, and mobile menu button
- Simplify mobile menu backdrop filter with more concise class
- Ensure consistent text and interaction styling across navbar components
2025-03-09 14:08:55 +01:00
ecc85ba98b feat(ui): Implement Dropdown Menu components for language switcher
- Add DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, and DropdownMenuItem components
- Refactor LanguageSwitcher to use new Dropdown Menu components
- Update Navbar to use LanguageSwitcher component with improved language selection UI
- Remove legacy language toggle logic from Navbar
2025-03-09 13:40:39 +01:00