Commit Graph

64 Commits

Author SHA1 Message Date
920798966a Fix bible reader version filtering and improve UI
- Fix API to show all 1416+ bible versions with language filtering toggle
- Add default language-specific filtering with option to show all versions
- Fix books API to work with cross-language version selection
- Add toggle button with visual feedback and version count display
- Improve dropdown scrolling and add language indicators
- Maintain backward compatibility while fixing core functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 12:27:21 +00:00
4adf1d286e Add comprehensive social media management system and improve admin pages
## Social Media Management System
- Add SocialMediaLink database model with platform, URL, icon, and ordering
- Create complete CRUD API endpoints for admin social media management
- Implement admin social media management page with Material-UI DataGrid
- Add "Social Media" menu item to admin navigation
- Update footer to dynamically load and display enabled social media links
- Support multiple platforms: Facebook, Twitter, Instagram, YouTube, LinkedIn, GitHub, TikTok
- Include proper icon mapping and fallback handling

## Admin Pages Improvements
- Replace broken TinyMCE editor with working WYSIWYG rich text editor
- Create SimpleRichEditor component with toolbar for formatting
- Fix admin authentication to use cookies instead of localStorage tokens
- Update all admin API calls to use credentials: 'include'
- Increase content editor height to 800px for better editing experience
- Add Lexical editor component as alternative (not currently used)

## Footer Pages System
- Create 8 comprehensive footer pages: About, Blog, Support, API Docs, Terms, Privacy, Cookies, GDPR
- Implement dynamic footer link management with smart categorization
- Separate Quick Links and Legal sections with automatic filtering
- Remove duplicate hardcoded links and use database-driven system
- All footer pages are fully written with professional content

## Database & Dependencies
- Add uuid package for ID generation
- Update Prisma schema with new SocialMediaLink model and relations
- Seed default social media links for Facebook, Twitter, Instagram, YouTube
- Add Lexical rich text editor packages (@lexical/react, etc.)

## Technical Improvements
- Fix async params compatibility for Next.js 15
- Update MUI DataGrid deprecated props
- Improve admin layout navigation structure
- Add proper TypeScript interfaces for all new components
- Implement proper error handling and user feedback

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 12:08:01 +00:00
3b34d7518b Fix admin authentication cookie handling
- Updated verifyAdminAuth to check for adminToken cookie in addition to Bearer token
- Added fallback to parse cookie from request headers when cookies() API fails
- This fixes admin dashboard login issues where authentication was failing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 10:06:29 +00:00
4303e48fac Fix Next.js 15 compatibility and TypeScript errors
- Update API route handlers to use async params for Next.js 15 compatibility
- Fix MUI DataGrid deprecated props (pageSize -> initialState.pagination)
- Replace Material-UI Grid components with Box for better compatibility
- Fix admin authentication system with proper request parameters
- Update permission constants to match available AdminPermission enum values
- Add missing properties to Page interface for type safety
- Update .gitignore to exclude venv/, import logs, and large data directories
- Optimize Next.js config to reduce memory usage during builds

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 09:54:13 +00:00
b0dd6c1a4b Remove deprecated swcMinify option from Next.js 15+ config
- SWC is now the default minifier in Next.js 15+
- Removes configuration warning during builds
- Maintains all other build optimizations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 08:27:08 +00:00
6c3943ffa3 Fix Next.js config and confirm build optimizations working
- Fix swcMinify configuration location (moved from experimental to root)
- Confirmed build time reduced from >2min timeout to 41 seconds
- Memory usage should be significantly lower with directory exclusions
- Build warnings are expected from existing admin auth imports

Build performance improvements achieved:
✓ 7GB+ bibles/ directory excluded from webpack processing
✓ scripts/ directory excluded from processing
✓ SWC minifier enabled for faster builds
✓ Webpack build worker enabled for parallel processing
✓ Memory limit reduced from unlimited to 2GB for fast builds

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 08:19:08 +00:00
fb4959a550 Exclude /bibles/ and /scripts/ folders from Next.js builds
Major performance optimization:
- Completely exclude /bibles/ (7GB+) and /scripts/ directories from webpack processing
- Add watchOptions to ignore these directories during development
- Install ignore-loader to skip large data files
- Update .nextignore with comprehensive exclusion patterns
- This should reduce build memory usage from 15GB to ~2-4GB

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 08:16:22 +00:00
cce9016e22 Add Google Analytics tracking code
- Added GA4 tracking code (G-KDVCM5G4H1) to head section
- Configured dataLayer and gtag for comprehensive analytics
- Applied to all localized pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 08:10:18 +00:00
95070e5369 Add comprehensive page management system to admin dashboard
Features added:
- Database schema for pages and media files with content types (Rich Text, HTML, Markdown)
- Admin API routes for full page CRUD operations
- Image upload functionality with file management
- Rich text editor using TinyMCE with image insertion
- Admin interface for creating/editing pages with SEO options
- Dynamic navigation and footer integration
- Public page display routes with proper SEO metadata
- Support for featured images and content excerpts

Admin features:
- Create/edit/delete pages with rich content editor
- Upload and manage images through media library
- Configure pages to appear in navigation or footer
- Set page status (Draft, Published, Archived)
- SEO title and description management
- Real-time preview of content changes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 07:26:25 +00:00
f81886a851 Fix logo branding: update from Romanian to English
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 07:06:44 +00:00
39b6899315 Complete admin dashboard implementation with comprehensive features
🚀 Major Update: v2.0.0 - Complete Administrative Dashboard

## Phase 1: Dashboard Overview & Authentication 
- Secure admin authentication with JWT tokens
- Beautiful overview dashboard with key metrics
- Role-based access control (admin, moderator permissions)
- Professional MUI design with responsive layout

## Phase 2: User Management & Content Moderation 
- Complete user management with advanced data grid
- Prayer request content moderation system
- User actions: view, suspend, activate, promote, delete
- Content approval/rejection workflows

## Phase 3: Analytics Dashboard 
- Comprehensive analytics with interactive charts (Recharts)
- User activity analytics with retention tracking
- Content engagement metrics and trends
- Real-time statistics and performance monitoring

## Phase 4: Chat Monitoring & System Administration 
- Advanced conversation monitoring with content analysis
- System health monitoring and backup management
- Security oversight and automated alerts
- Complete administrative control panel

## Key Features Added:
 **32 new API endpoints** for complete admin functionality
 **Material-UI DataGrid** with advanced filtering and pagination
 **Interactive Charts** using Recharts library
 **Real-time Monitoring** with auto-refresh capabilities
 **System Health Dashboard** with performance metrics
 **Database Backup System** with automated scheduling
 **Content Filtering** with automated moderation alerts
 **Role-based Permissions** with granular access control
 **Professional UI/UX** with consistent MUI design
 **Visit Website Button** in admin header for easy navigation

## Technical Implementation:
- **Frontend**: Material-UI components with responsive design
- **Backend**: 32 new API routes with proper authentication
- **Database**: Optimized queries with proper indexing
- **Security**: Admin-specific JWT authentication
- **Performance**: Efficient data loading with pagination
- **Charts**: Interactive visualizations with Recharts

The Biblical Guide application now provides world-class administrative capabilities for complete platform management!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 12:01:34 +00:00
Claude Assistant
ee99e93ec2 Implement dynamic daily verse system with rotating Biblical content
- Add daily-verse API endpoint with 7 rotating verses in Romanian and English
- Replace static homepage verse with dynamic fetch from API
- Ensure consistent daily rotation using day-of-year calculation
- Support both ro and en locales for verse content

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 19:22:34 +00:00
Claude Assistant
d4b0062521 Implement comprehensive homepage improvements and SEO optimization
Major homepage and SEO enhancements based on optimization document:

**Homepage Content Updates:**
- Updated H1 titles with SEO-optimized text for both RO/EN
- Enhanced hero descriptions with targeted keywords
- Improved feature descriptions for better clarity
- Updated daily verse section with keyword-rich titles
- Added new footer description with SEO focus

**SEO Implementation:**
- Added dynamic metadata generation with locale-specific SEO
- Implemented Open Graph tags for social media sharing
- Added Twitter Card metadata for enhanced sharing
- Integrated Schema.org JSON-LD structured data
- Set up hreflang tags for international SEO
- Added canonical URLs to prevent duplicate content
- Included targeted keywords for both languages

**Technical Improvements:**
- Migrated from Docker to PM2 deployment
- Removed Docker files and updated deployment scripts
- Updated README with PM2 instructions
- Fixed console log cleanup for production
- Added proper favicon with Next.js app directory
- Increased memory limit to 4GB for better performance
- Updated port configuration to 0.0.0.0:3010
- Set Romanian (/ro) as default locale with proper redirects

**Translation Updates:**
- Enhanced Romanian translations with SEO-optimized content
- Updated English translations with matching SEO improvements
- Added new 'seo' namespace for metadata translations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 18:40:21 +00:00
Claude Assistant
b24251eb2d Add simple Docker deployment setup without nginx/postgres
- Add docker-compose.yml with single app service on port 3010
- Add deploy.sh script to fetch latest production branch code
- Uses external PostgreSQL database via DATABASE_URL
- No nginx container - app exposed directly on port 3010
- Supports automated deployment from production branch

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 14:41:18 +00:00
Claude Assistant
5542a9d6a7 Prepare production branch: remove test files and add Dockerfile
- Remove all test files (__tests__, *.test.*, *.spec.*)
- Remove Jest configuration files (jest.config.js, jest.setup.js)
- Remove test-related scripts from package.json
- Remove Jest dependencies from package.json
- Add production Dockerfile for standalone Next.js app
- Update tsconfig.json exclusions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 14:38:19 +00:00
Claude Assistant
19d29032ae Fix TypeScript configuration by excluding test files
- Exclude __tests__ directory from TypeScript compilation
- Resolves Jest type definition errors in test files
- TypeScript now compiles cleanly without errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 14:33:06 +00:00
Claude Assistant
1257e9bdf7 Fix Next.js 15 Suspense boundary errors and remove Docker files
- Add Suspense boundaries for useSearchParams in bible and search pages
- Extract search page content to separate component for proper client-side rendering
- Remove all Docker configuration files and temp documentation
- Build now passes successfully without TypeScript or Suspense errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 14:26:23 +00:00
andupetcu
98c17d69bc Build fixes: offline-safe fonts, Next.js API route type updates, TS strict errors resolved, MUI import cleanup, chat markdown wrapper, Azure OpenAI typing, caching key + chapter API id types, and misc error-logging typings. 2025-09-22 17:07:31 +03:00
andupetcu
c82b3007fd Restructure chat interface to display history side-by-side with live chat
- Change chat layout from vertical stacking to horizontal side-by-side layout
- History panel (300px width) displays on left with conversation list
- Main chat area takes remaining space on right with messages and input
- Improves UX by making chat history visible alongside active conversation
- Fix JSX structure and nesting for proper component rendering

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:57:09 +03:00
andupetcu
24c0577f44 Fix chat history authentication and conversation saving
- Fix critical async/await bug in chat API token verification
- Add comprehensive authentication debugging logs
- Fix conversations API Zod schema validation for query parameters
- Remove problematic CircularProgress import causing build warnings
- Improve error handling and user feedback in chat component

The main issue was that verifyToken() was called without await, causing
the chat API to receive a Promise object instead of the user payload,
resulting in undefined userId and failed conversation persistence.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:47:59 +03:00
andupetcu
6295c15755 Fix AI chat conversation errors and history loading issues
- Fix CircularProgress import from correct MUI package
- Fix conversationId validation by omitting null values instead of sending them
- Fix conversations API Zod schema default values (string vs number mismatch)
- Remove debug logging from chat error handling
- AI chat conversations now work properly with authentication
- Chat history loading no longer fails with validation errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:20:35 +03:00
andupetcu
382fb93de2 Complete Phase 3: Add conversation management capabilities to AI chat
- Add conversation delete functionality with confirmation dialog
- Add conversation rename functionality with input modal
- Implement three-dot menu for each conversation item
- Add proper authentication token key consistency
- Fix JSX structure issues in floating chat component
- Integrate full CRUD operations with conversation API

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:05:03 +03:00
andupetcu
86b7ff377b Implement AI chat history system with enhanced memory (Phases 1 & 2)
Phase 1 - Database Schema & Basic API:
- Add ChatConversation and ChatMessage tables with proper relationships
- Create conversation CRUD API endpoints with authentication
- Update chat API to support persistent conversations
- Implement auto-generated conversation titles and language separation
- Add conversation soft delete and user-specific access control

Phase 2 - Enhanced Memory System:
- Implement intelligent context selection beyond simple chronological order
- Add relevance scoring for older messages based on keyword overlap and biblical references
- Create automatic message summarization for very long conversations
- Optimize token usage with smart context management (1500 token budget)
- Add biblical awareness with Romanian/English book name detection
- Implement time-based relevance decay for better context prioritization

Frontend Improvements:
- Add chat history button to floating chat header
- Create basic history panel UI with placeholder content
- Maintain backward compatibility for anonymous users

Database Changes:
- Enhanced schema with conversation relationships and message roles
- Proper indexing for performance and user-specific queries
- Migration completed successfully with prisma db push

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 11:33:36 +03:00
andupetcu
73a8b44f76 Fix Discuss this verse functionality and update live counter to static text
- Replace dynamic live counter with static "thousands of believers" text in both languages
- Fix Discuss this verse feature with proper timing and quote escaping
- Add setTimeout delay to ensure chat input is set after component renders
- Remove unescaped quotes from English daily verse text
- Merge duplicate hero translation objects in both language files
- Clean up debug console.log statements

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 10:57:45 +03:00
andupetcu
e2c7e21967 Implement comprehensive homepage enhancements and floating chat improvements
- Add dynamic date and year generation replacing static 2024 values
- Implement "Discuss this verse" feature with AI chat integration
- Fix translation key conflicts by merging duplicate hero objects
- Update Romanian translations with improved messaging
- Enhance floating chat to support initial messages via events
- Fix FORMATTING_ERROR for liveCounter with proper next-intl syntax

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 10:39:07 +03:00
andupetcu
72d39e74c8 Implement comprehensive homepage enhancements with 8 new sections
Features implemented:
1. Enhanced Hero Section with live user counter (simulated)
2. Interactive Demo Section with chat preview
3. Daily Verse Section with actions (discuss, save, share)
4. How It Works 3-step process visualization
5. Community Prayer Wall with live prayer examples
6. Testimonials Section with 4 realistic testimonials
7. FAQ Section with 6 common questions and expandable answers
8. Enhanced Footer with newsletter signup, quick links, legal, and social

Additional improvements:
- Added live counter showing active users studying
- Interactive demo showing AI chat conversation
- Newsletter subscription form
- Social media links and language indicators
- Comprehensive translations in English and Romanian
- Mobile-responsive design with flexbox layouts
- Modern Material-UI components with animations
- Enhanced visual hierarchy and user engagement
2025-09-22 09:48:11 +03:00
andupetcu
4fac06e94b Fix relativeTime API usage correctly
- Changed from incorrect f.relativeTime(number, unit, options) to correct f.relativeTime(date, now)
- The function expects two Date objects, not a number and unit string
- This properly eliminates the ENVIRONMENT_FALLBACK warning
- Simplified the implementation to use next-intl's built-in formatting
2025-09-22 09:25:58 +03:00
andupetcu
019e64d2ac Fix relativeTime warning in prayers page
- Added 'now' parameter to all relativeTime calls to prevent ENVIRONMENT_FALLBACK warning
- Ensures proper time reference for relative time calculations
- Maintains existing fallback for older browsers
2025-09-22 09:23:02 +03:00
andupetcu
30e5c8d931 Fix keyboard shortcuts conflict between bible reader and AI chat
- Added data-floating-chat attribute to chat component for easy detection
- Updated bible reader keyboard event handler to check if chat is open
- Prevent shortcuts from triggering when user is typing in input fields
- Check for dialogs, modals, and the floating chat before processing shortcuts
2025-09-22 09:21:56 +03:00
andupetcu
414876ec49 Fix JSX comment syntax errors in bible reader
- Fixed malformed comment closing tags (*/>  to */)
2025-09-22 08:58:01 +03:00
andupetcu
82ace8d145 Migrate all pages from Grid to Box components using flexbox layout
- Migrated search page to use Box with flexbox for responsive layout
- Updated bible reader controls to use Box instead of Grid
- Converted home page hero, features, and stats sections to flexbox
- Removed Grid imports and replaced with Box components across all pages
- Maintained responsive behavior using sx breakpoints and flex properties
2025-09-22 08:57:13 +03:00
andupetcu
5cbb20e96f Fix prayers page layout using flexbox instead of Grid
- Replaced Grid components with Box components using flexbox
- Sidebar now takes 25% width on desktop, 100% on mobile
- Prayer list takes remaining space with flex: 1
- Responsive layout switches to column on mobile
- Fixed side-by-side layout issue

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 23:24:33 +03:00
andupetcu
8cdb3b03bf Fix relativeTime warning by removing now parameter and adding fallback
- Removed 'now' parameter from relativeTime calls to avoid next-intl warning
- Added try-catch with fallback formatting for better error handling
- Provides manual time formatting if relativeTime fails

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 23:20:02 +03:00
andupetcu
f71b6d44c7 Fix prayer page errors: add missing translations and fix time formatting
- Added missing 'categories.all' translation in both ro.json and en.json
- Fixed relativeTime formatting by using new Date() instead of useNow hook
- Removed unused useNow import

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 23:18:48 +03:00
andupetcu
5a3c6a6691 Move Add Prayer button to sidebar and implement comprehensive prayer functionality
- Integrated prayer data with Prisma database schema
- Updated API endpoints to use actual database
- Implemented AI prayer generation with Azure OpenAI
- Added user authentication for prayer creation
- Moved Add Prayer button from FAB to sidebar top
- Added prayer count tracking and user prayer status

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 23:17:20 +03:00
andupetcu
6492601355 Implement comprehensive prayer writing and AI generation interface
- Add authentication-gated prayer creation with dual-mode interface
- Implement tabbed dialog: "Write Prayer" and "AI Generate" options
- Create AI prayer generation API endpoint with bilingual support (EN/RO)
- Add category-specific prayer templates with user prompt integration
- Include proper authentication checks and user-based prayer attribution
- Enhance UX with loading states, success feedback, and guided prompts
- Fix missing searchTypes translations in English locale for search functionality
- Restrict prayer creation to logged-in users with appropriate visual feedback
- Support both manual composition and AI-assisted prayer creation workflows

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 22:12:26 +03:00
andupetcu
508ab20725 Add URL parameter tracking for search functionality
- Implement search query parameters in URL for tracking and sharing capabilities
- Add support for q, testament, type, and books URL parameters
- Enable automatic search execution from URL parameters on page load
- Update URL dynamically when search is performed for shareable links
- Fix circular dependency issues with flag-based approach for URL-triggered searches
- Support browser back/forward navigation with search state preservation
- Enable bookmarking and analytics tracking of search queries

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 21:42:48 +03:00
andupetcu
1e9e8712f9 Fix search results navigation and Material-UI deprecation issues
- Fix search API to include bookId, verseId, and bookKey in response for proper navigation
- Update Bible reader to handle both book ID and bookKey matching for robust navigation
- Replace deprecated ListItem button prop with ListItemButton for Material-UI v5+ compatibility
- Add fallback logic in search result navigation to handle missing book identifiers
- Ensure "Go to" button takes users to exact verse with proper highlighting and scrolling

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 21:32:56 +03:00
andupetcu
4cd9b406ad Redesign search page with modern UX and user-specific features
- Complete redesign of search interface with auto-suggestions, advanced filtering, and professional result display
- Implement user-specific search history (stored per user ID) for privacy
- Move popular searches from sidebar to filters modal for better organization
- Make all page sections full width by removing container constraints
- Add comprehensive search functionality with context display, bookmarks integration, and result navigation
- Include proper Romanian translations for search types ("Căutare generală", "Căutare exactă")
- Enhance UX with skeleton loading, empty states, mobile responsiveness, and keyboard shortcuts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 21:23:05 +03:00
andupetcu
40c2df3b41 Update Romanian translations and improve chapter dropdown
- Change "Bookmark-uri" to "Favorite" throughout Romanian translations
- Update chapter dropdown to show full "Chapter X" labels instead of truncated text
- Add improved MenuProps for better dropdown UX with scrollable menu
- Enhance navigation clarity with non-truncated chapter selection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 21:10:25 +03:00
andupetcu
6eade8df49 Fix missing translation keys for Bible reader settings dialog
- Add theme button translations: light, dark, sepia
- Add close button translation for settings dialog
- Complete internationalization for Romanian and English locales

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 14:31:07 +03:00
andupetcu
a2380efadd Create enhanced Bible reader with modern UX and compact navigation
- Replace old Bible page with comprehensive reader component
- Add customizable reading preferences (font size, themes, line height)
- Implement in-page navigation instead of sidebar layout
- Add quick font size controls (A- / A+) in navigation bar
- Create fullscreen reading mode with distraction-free experience
- Include verse-level bookmarking and copy functionality
- Add keyboard shortcuts for navigation and settings
- Support URL parameters for bookmark navigation
- Responsive design optimized for mobile and desktop
- Complete internationalization for Romanian and English
- Center navigation controls for better visual balance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 14:20:05 +03:00
andupetcu
686f498300 Create comprehensive bookmarks management page
Add complete bookmarks page with navigation functionality:

Features:
- Dedicated /bookmarks page for viewing all saved bookmarks
- Support for both chapter and verse bookmarks in unified view
- Statistics dashboard showing total, chapter, and verse bookmark counts
- Tabbed filtering (All, Chapters, Verses) for easy organization
- Direct navigation to Bible reading page with URL parameters
- Delete functionality for individual bookmarks
- Empty state with call-to-action to start reading

Navigation Integration:
- Add Bookmarks to main navigation menu (authenticated users only)
- Add Bookmarks to user profile dropdown menu
- Dynamic navigation based on authentication state

Bible Page Enhancements:
- URL parameter support for bookmark navigation (book, chapter, verse)
- Verse highlighting when navigating from bookmarks
- Auto-clear highlight after 3 seconds for better UX

API Endpoints:
- /api/bookmarks/all - Unified endpoint for all user bookmarks
- Returns transformed data optimized for frontend consumption

Multilingual Support:
- Full Romanian and English translations
- Consistent messaging across all bookmark interfaces

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:29:46 +03:00
andupetcu
1b43b4e1e3 Implement complete bookmark functionality for Bible reading
Add both chapter-level and verse-level bookmarking capabilities:

Database Changes:
- Add ChapterBookmark table for chapter-level bookmarks
- Update schema with proper relationships to User and BibleBook models
- Maintain existing Bookmark table for verse-level bookmarks

API Endpoints:
- /api/bookmarks/chapter (GET, POST, DELETE) with check endpoint
- /api/bookmarks/verse (GET, POST, DELETE) with check and bulk-check endpoints
- JWT authentication required for all bookmark operations
- Multilingual error messages (Romanian/English)

Frontend Implementation:
- Chapter bookmark button in Bible page header with visual state feedback
- Individual verse bookmark icons with hover-to-reveal UI
- Highlighted background for bookmarked verses
- Efficient bulk checking for verse bookmarks per chapter
- Real-time UI updates without page refresh

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:25:50 +03:00
andupetcu
e4acac270e Fix profile name update persistence
Replace placeholder implementation with proper API integration:
- Create /api/user/profile PUT endpoint with JWT validation
- Update profile page to call actual API instead of setTimeout
- Use refreshUser() to update UI immediately after changes
- Ensure name changes persist to database and across page refreshes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:13:32 +03:00
andupetcu
196ca00194 Fix authentication state persistence and admin role display
- Implement complete authentication system with JWT token validation
- Add auth provider with persistent login state across page refreshes
- Create multilingual login/register forms with Material-UI components
- Fix token validation using raw SQL queries to bypass Prisma sync issues
- Add comprehensive error handling for expired/invalid tokens
- Create profile and settings pages with full i18n support
- Add proper user role management (admin/user) with database sync
- Implement secure middleware with CSRF protection and auth checks
- Add debug endpoints for troubleshooting authentication issues
- Fix Zustand store persistence for authentication state

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:06:30 +03:00
andupetcu
62ca73b2ac Fix relativeTime calls in prayers page by adding required now parameter
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 23:48:05 +03:00
andupetcu
e1146d39e0 Add rate-limited api.bible fetcher for English Bible (configurable Bible ID/abbr); outputs OT/NT JSON compatible with versioned import; resumable per-chapter cache. 2025-09-20 20:54:13 +03:00
andupetcu
5ddf62e5cf Vector schema per version: add ai_bible schema with per-version tables (bv_<lang>_<abbr>) in Python ingest; dynamic table resolution in vector-search with fallback to legacy table; sample pgAdmin queries printed. 2025-09-20 19:08:11 +03:00
andupetcu
8b26d72c1c Remove standalone /[locale]/chat page; enhance FloatingChat with fullscreen toggle via Launch icon; add global event to open chat (optionally fullscreen); wire home buttons/cards to open modal instead of routing. 2025-09-20 19:03:40 +03:00