68 Commits

Author SHA1 Message Date
7b83e39e94 Update npm 2026-01-19 16:36:54 +01:00
6ca3228527 Hello 2025-12-27 14:13:53 +01:00
18ec84ff9f Merge remote main with local changes 2025-09-23 14:17:49 +02:00
58b5e6b074 Update 2025-09-23 14:13:24 +02:00
9a704a59f3 Add Wiki Achievement System page 2025-09-23 14:07:07 +02:00
5c01dce9a9 Add Wiki API Referenz page 2025-09-23 14:06:04 +02:00
d60dce87c8 Add Wiki Schnellstart page 2025-09-23 14:05:03 +02:00
ad387a33b4 Add Wiki Home page 2025-09-23 14:04:38 +02:00
5831d1bb91 Viel Push und achivements + AGB 2025-09-16 23:41:34 +02:00
b2fc63e2d0 Diverse änderungen am Push system 2025-09-16 21:00:12 +02:00
69e3985af3 Statistiken und Analytics im dashboard gefixed 2025-09-16 01:40:40 +02:00
10a150cb39 Diverse Fixes nach refactoring 2025-09-16 01:31:22 +02:00
5ca7b0b19c Div Erweiterungen 2025-09-15 23:52:59 +02:00
ad6ba66220 Achivements überarbeitet 2025-09-15 20:23:20 +02:00
7cce818932 Remove Ki-Moderator add more backlist 2025-09-15 18:59:25 +02:00
6d5dc9eb7a Komplettes AdivmentSystem überarbeitet! 2025-09-11 17:07:43 +02:00
28616b3b0c Zulassen von Anonymen RFID updates verlinkung der UUID wenn spieler angelegt wurde 2025-09-11 16:33:22 +02:00
d2a1bb16ea Fix HTML formatting in translated text
- Update translateElement function to support HTML tags
- Settings modal note now displays with proper <strong> formatting
- Applied to both dashboard and leaderboard
- Text with HTML tags now uses innerHTML instead of textContent
2025-09-10 19:54:57 +02:00
340e22a815 Add real country flags to language selector
- Replace emoji flags with SVG-based country flags
- German flag: Black-Red-Gold (official colors)
- USA flag: Red-White-Blue with stars
- Dynamic flag switching on language change
- Applied to both dashboard and leaderboard
- Database achievements now support English translations
- Extended achievements table with name_en and description_en columns
- Updated API routes to return English translations
- Simplified frontend translation system to use database translations
2025-09-10 19:40:57 +02:00
11d0647ab9 Leaderboard 2025-09-10 18:44:27 +02:00
936db67ba4 Add bilingual support (German/English) with language selector
- Added language selector in top-left corner
- Implemented data attributes for all translatable text
- Created language management system with localStorage persistence
- Updated all JavaScript functions to support both languages
- Added translations for notifications, error messages, and UI elements
- Maintained existing functionality while adding language switching
2025-09-10 18:42:56 +02:00
c84d38b48f remove server.log 2025-09-08 22:16:44 +02:00
c2188b862a 🎨 Fix inline style color for page visit count
- Changed inline style color from #1e3c72 to #00d4ff
- Page visit count now matches cyan accent color theme
- Consistent with other statistics numbers
2025-09-08 22:13:45 +02:00
117e75fcfe 🔧 Fix table hover effects and text visibility
- Updated .data-table tr:hover to use subtle dark background
- Fixed .data-table th background and text colors
- Updated table cell text colors to white
- Fixed border colors to match dark theme
- Table text is now readable on hover
2025-09-08 22:05:33 +02:00
f95beac6be 🔧 Fix remaining white page-stat-card elements
- Updated .page-stat-card background to dark theme
- Changed border-left color to cyan accent
- Updated h3 text color to white
- Fixed close button hover color
- All page statistics cards now fully dark
2025-09-08 22:02:39 +02:00
4443a71a98 🎨 Fix white page-stats-content cards in admin-dashboard
- Added dark background to .page-stats-content container
- Updated .page-item cards with subtle dark background
- Added hover effects for better interactivity
- Improved visual consistency with dark theme
- All page statistics cards now match dark design
2025-09-08 22:00:30 +02:00
0b8cbc7313 🔧 Fix remaining white sections in admin-dashboard
- Fixed .modal-content background to dark theme
- Fixed .link-stat-card background to dark theme
- Updated text colors in link statistics cards
- Changed close button color to match dark theme
- All sections now consistently use dark design
2025-09-08 21:58:31 +02:00
450dc0f73a 🔧 Fix white page-stats-section in admin-dashboard
- Updated .page-stats-section background to dark theme
- Changed text colors to white for better contrast
- Updated border colors to match dark theme
- Changed page-count badges to cyan accent color
- Fixed 'Hauptseiten besucher' section to match overall dark design
2025-09-08 21:56:27 +02:00
9ad828a6eb 🎨 Unify design across all pages to match dashboard theme
- Updated adminlogin.css to use dark theme with Inter font
- Updated generator.css to use dark theme with Inter font
- Updated admin-dashboard.css to use dark theme with Inter font
- All pages now use consistent:
  * Dark background with radial gradients
  * Inter font family
  * Dark containers with glassmorphism effect
  * White text on dark backgrounds
  * Consistent color scheme (#00d4ff accents, #8892b0 secondary text)
  * Unified border and shadow styling
- Improved visual consistency across entire application
2025-09-08 21:52:40 +02:00
ee910aecf0 🔧 Fix footer positioning in adminlogin and generator pages
- Added proper HTML/body height: 100% for full viewport height
- Changed body to flex-direction: column for proper footer positioning
- Updated footer CSS with margin-top: auto for sticky footer behavior
- Added flex-grow: 1 to containers for proper space distribution
- Footer now properly sticks to bottom of viewport
- Improved responsive layout for both adminlogin and generator pages
2025-09-08 21:48:48 +02:00
b610d85313 🔧 Fix location name logic: User determines name, API only provides coordinates
- Removed automatic API location name usage
- User input from locationSearch field is used as location name
- API search only provides coordinates (latitude/longitude)
- User has full control over location naming
- Search functionality purely for coordinate lookup
2025-09-08 21:44:18 +02:00
7d88ad036d 🔧 Fix location name: Use real location name from API instead of search term
- Added hidden field 'realLocationName' to store actual location name from Nominatim API
- Updated location saving to use real location name (display_name) instead of search term
- Fallback to search term if real location name not available
- Now saves proper location names like 'Marienplatz, Altstadt-Lehel, München, Bayern, Deutschland' instead of just 'München'
- Improved location data quality in database
2025-09-08 21:41:58 +02:00
2becf784bd 🔧 Fix settings modal: Load current user preferences
- Added show_in_leaderboard to user-player API response
- Improved loadSettings() function with better error handling
- Added console logging for debugging
- Settings modal now shows current user preference instead of always 'off'
- Fixed dependency on currentPlayerId (now uses currentUser.id directly)
2025-09-08 19:18:35 +02:00
fbd8677709 🔧 Fix settings API: Use public endpoint for logged-in users
- Changed from /api/v1/private/update-player-settings to /api/v1/public/update-player-settings
- Removed API key requirement for logged-in users
- Added both public and private endpoints for flexibility
- Fixed 401 Unauthorized error in settings modal
2025-09-08 19:16:57 +02:00
70ceb2da25 🔒 Add privacy settings for leaderboard visibility
 Features:
- Added show_in_leaderboard column to players table (default: false)
- Replaced Quick Actions with Settings section in dashboard
- Added toggle switch for leaderboard visibility
- Created settings modal with privacy controls

🔧 API Changes:
- Added /api/v1/private/update-player-settings endpoint
- Updated best-times queries to filter by show_in_leaderboard
- Updated times-with-details to respect privacy settings
- Added updated_at column to players table

🎨 UI/UX:
- Modern toggle switch design
- Responsive settings modal
- Success/error notifications
- Clear privacy explanation

🔐 Privacy:
- Default: Times are NOT shown in global leaderboard
- Users can opt-in via settings
- Personal dashboard always shows own times
- Global leaderboard only shows opted-in users
2025-09-08 19:14:17 +02:00
ecb6291c74 🔧 Fix API documentation: Correct base URL
- Updated base URL from 'https://ninja.reptilfpv.de' to 'https://ninja.reptilfpv.de/api'
- All API endpoints now correctly prefixed with /api
- Fixes 404 errors when accessing API endpoints
2025-09-08 18:05:43 +02:00
c74bfb4394 🔧 Fix CORS: Allow all origins for development
- Simplified CORS configuration to allow all origins (*)
- Removed origin restrictions for easier development
- Fixed CORS preflight request handling
- Now allows requests from any domain including 192.168.1.96
2025-09-08 18:02:00 +02:00
c347ddb7b4 📚 Add comprehensive API documentation
- Created detailed API.md with all endpoints
- Documented Public, Private, Web, Admin and Achievements APIs
- Added request/response examples for all routes
- Included data models and error handling
- Added authentication methods and status codes
- Comprehensive documentation for 55+ API endpoints
2025-09-08 17:33:23 +02:00
ab4560fbbd Add.pgpass 2025-09-08 14:35:51 +02:00
53db3137ff 🔐 Update project: Add .gitignore and GCP credentials
- Added comprehensive .gitignore for Node.js project
- Excluded MCP server directories (gitea-mcp, gcp-mcp)
- Added GCP service account credentials
- Updated project structure for better organization
2025-09-08 14:33:02 +02:00
70d4db9901 PWA improvements 2025-09-07 17:10:50 +02:00
5bed125cf6 Achivements abends um 19 uhr 2025-09-07 16:54:09 +02:00
8342d95a13 Notifications, div fixes, kekse für last location 2025-09-06 12:37:10 +02:00
61d5ef2e6f Achivement System 2025-09-05 17:56:23 +02:00
a78a8dc3ce edia all routes 2025-09-05 13:15:11 +02:00
3872397082 Mobile desighn Adjustments 2025-09-05 12:37:33 +02:00
00849e6d15 better gitignore 2025-09-05 07:45:02 +02:00
4d00be8127 Keks notice! 2025-09-05 07:42:07 +02:00
b0b5149069 Add Google Login 2025-09-05 06:51:31 +02:00
54353e06f2 .gitignore and server.log added 2025-09-04 17:28:15 +02:00