- 23 Feb, 2026 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
- Added Print Matches button in header - Added print modal with options to print all or last N matches - Added professional print layout with fixture info, summary, and match table - Print includes cashier username and timestamp
-
- 22 Feb, 2026 28 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- API now returns is_today, is_past, and fixture_venue_date flags - JavaScript filterFixtures() uses server-provided is_past flag instead of browser timezone - renderFixturesTable() uses server-provided is_today/is_past for date badges - Fixes fixtures not showing when browser timezone differs from venue timezone
-
Stefy Lanza (nextime / spora ) authored
- get_fixtures() now uses get_today_venue_date() instead of date.today() - calculate_fixture_status() converts UTC start_time to venue timezone before date comparison - Fixes fixtures not showing when start_time is today in local time but yesterday in UTC
-
Stefy Lanza (nextime / spora ) authored
- Remove active_status=True filter when finding pending matches with results - Re-activate matches that had active_status=False (partially processed) - This fixes match 426 being skipped because it had active_status=0
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Fix cross-day fixture handling: don't add matches to yesterday's fixture, finalize pending matches with results, bump version to 1.0.16
-
Stefy Lanza (nextime / spora ) authored
- Fixed bug in _update_bet_results where match.result was incorrectly set to UNDER/OVER when selected_result was UNDER/OVER - Now properly looks for actual fight winner (WIN1, DRAW, WIN2, etc.) from winning outcomes or match outcomes - Added print functionality to fixture details page with options to: - Print all matches or last N matches - Include/exclude completed or pending matches - Added print-specific CSS for clean printouts
-
Stefy Lanza (nextime / spora ) authored
- Added _refresh_endpoints_from_config() method that checks for URL/token changes - Called before each scheduled request to ensure config changes are immediately applied - URL changes trigger endpoint URL updates for fastapi_main, reports_sync, reports_last_sync - Token changes update authentication configuration and enable/disable endpoints accordingly - Interval changes are also detected and applied dynamically - Combined with existing immediate trigger on config save, this ensures seamless config updates
-
Stefy Lanza (nextime / spora ) authored
- Add visible 'Back to Dashboard' button in profile.html header - Add visible 'Back to Dashboard' button in wallet.html header - Add logout function to wallet.html - Both buttons use role-based navigation (player -> player.html, broker -> broker.html)
-
Stefy Lanza (nextime / spora ) authored
- Add role-based access control: brokers cannot access player.html and players cannot access broker.html - Update profile.html header to match player/broker dashboard style with dropdown menu - Update wallet.html header to match player/broker dashboard style with dropdown menu - Remove hardcoded player.html link from profile.html, use role-based dashboard link - Fix authentication token key consistency (authToken instead of access_token)
-
Stefy Lanza (nextime / spora ) authored
The previous commit added g.user_id = ... but forgot to import 'g' from Flask. This was causing 500 errors on all authenticated API endpoints.
-
Stefy Lanza (nextime / spora ) authored
- Add detailed logging for debugging 500 errors - Log when API or user_id is not available - Include traceback in error logs
-
Stefy Lanza (nextime / spora ) authored
- Check if api_bp.db_manager is available before accessing it - Return overlay_data gracefully if database not available
-
Stefy Lanza (nextime / spora ) authored
The /api/wallet endpoint was returning 401 because it checks g.user_id but the auth decorators only set request.current_user. Now both are set. - Fixed require_auth decorator in auth.py to set g.user_id - Fixed get_api_auth_decorator in routes.py to set g.user_id
-
Stefy Lanza (nextime / spora ) authored
- Add token verification before redirect - Add detailed logging for API requests - Increase redirect delay to ensure localStorage sync
-
Stefy Lanza (nextime / spora ) authored
- Add Authorization header passthrough in nginx config - Add cookie passthrough for session authentication - Improve apiRequest error handling for non-JSON responses - Only redirect to login on protected pages when auth fails
-
Stefy Lanza (nextime / spora ) authored
- Remove /api prefix from profile endpoints since API_BASE_URL already includes it - Fixes /api/api/profile 404 error
-
Stefy Lanza (nextime / spora ) authored
- Add API_BASE_URL prefix to fetch calls in the second apiRequest function - Fix wallet endpoint URLs to not double-prefix /api - This fixes the 401 errors and redirect loop
-
Stefy Lanza (nextime / spora ) authored
- Add all current files in web directory - Include wallet.html, profile.html, privacy.html, member.html - Update JavaScript files list (player.js, broker.js, overlay-controller.js) - Document symlinks to js/ and templates/ directories
-
Stefy Lanza (nextime / spora ) authored
- Update index.html dropdown to match player.html and broker.html - Add Wallet and Profile Settings links with icons - Add dropdown divider for visual separation - Add UI Consistency Requirements section to AI.PROMPT - Document header and dropdown menu consistency requirements
-
Stefy Lanza (nextime / spora ) authored
- Change 'access_token' to 'authToken' throughout - Change 'refresh_token' to 'refreshToken' throughout - Fix redirect loop caused by token name mismatch
-
Stefy Lanza (nextime / spora ) authored
- Change token check from 'access_token' to 'authToken' in wallet.html - Add wallet.html to protected pages list in app.js - Fix token name consistency across the web app
-
Stefy Lanza (nextime / spora ) authored
- Add !important to background and color properties - Ensures styles are not overwritten by other CSS rules
-
Stefy Lanza (nextime / spora ) authored
- Remove duplicate .balance-display definition - Use dark blue background (#1a5a7a) with white text for better contrast - Add border and shadow for better visibility
-
Stefy Lanza (nextime / spora ) authored
- Use solid #00d4ff background instead of gradient - Add border for better definition - Increase font weight to 700 - Add box shadow for better visibility
-
Stefy Lanza (nextime / spora ) authored
- Add --card-bg CSS variable for consistent background colors - Make dropdown menu background solid (#2a2a2a) instead of transparent - Add border and stronger shadow to dropdown for better visibility - Change balance button to gradient background with dark text - Add shadow to balance button for better readability
-
Stefy Lanza (nextime / spora ) authored
- Match Qt player behavior: wait 5 seconds after result video ends - Switch to black screen during the 5-second delay - Send PLAY_VIDEO_RESULT_DONE after delay to allow results overlay to display - Clear result data after the done message is sent
-
Stefy Lanza (nextime / spora ) authored
- Query ExtractionAssociationModel for winning outcomes based on match result - Include under_over_result in winning outcomes list - Match Qt player's getWinningOutcomes() logic in API endpoint - Results overlay now correctly shows fighter names, result, winning outcomes, and under/over result
-
- 21 Feb, 2026 11 commits
-
-
Stefy Lanza (nextime / spora ) authored
Fix results overlay template to display fighter names, main result, under/over result, and winning outcomes - Added separate HTML sections for main result and under/over result display - Added updateMainResultDisplay() and updateUnderOverResultDisplay() functions - Updated prepareResultsAnimation() to call both new display functions - Under/over result now shows with distinct styling (green for UNDER, orange for OVER) - web/templates is a symlink to mbetterclient/qt_player/templates
-
Stefy Lanza (nextime / spora ) authored
- Added user dropdown menu with avatar, wallet and profile links - Integrated Gravatar support with MD5 hash for email-based avatars - Added dropdown toggle functionality with click-outside-to-close - Fixed balance display colors for better readability - Added dropdown divider styling
-
Stefy Lanza (nextime / spora ) authored
- Add MD5 hash function for Gravatar URL generation - Display avatar from custom URL or Gravatar (with email hash) - Show real_name or username as display name - Show email from database - Format member since date nicely - Add fallback for avatar load errors - Update back button based on user role
-
Stefy Lanza (nextime / spora ) authored
- Create wallet.html with full wallet management UI - Fix player.js to show actual username (real_name or username) instead of 'Player' - Add Wallet links to player.html and broker.html headers - Wallet page includes balance overview, deposit/withdraw modals, transaction history
-
Stefy Lanza (nextime / spora ) authored
- Add WalletModel and WalletTransactionModel for balance tracking - Add wallet API endpoints: balance, deposit, withdraw, transactions - Add profile API endpoints: password change, email change with verification, avatar upload - Create profile.html page with wallet and profile management UI - Update player.html and broker.html with profile links - Add wallet and profile JavaScript functions to app.js - Add comprehensive CSS styling for profile and wallet components
-
Stefy Lanza (nextime / spora ) authored
- Fix overlay controller to properly handle video phase state machine - Stop template rotation during match/result phases - Fetch match data with fighter names from database for match phase - Send match data to match_video template via matchUpdate message - Handle result_data properly in result phase - Update match_video template to process match data from web player - Update overlay-web-adapter to emit match data directly This fixes the issue where the web player overlay was cycling between fixtures and match templates instead of showing the match_video template during match video playback, and not showing results either.
-
Stefy Lanza (nextime / spora ) authored
- Updated main.py version to 1.0.15 - Updated build.py app_version to 1.0.15 - Updated MbetterClient.spec version to 1.0.15 - Updated mbetterclient/__init__.py __version__ to 1.0.15 - Updated mbetterclient/config/settings.py version to 1.0.15 - Updated mbetterclient/config/settings.py user_agent to MbetterClient/1.0r15 - Updated mbetterclient/web_dashboard/app.py app_version to 1.0.15
-
Stefy Lanza (nextime / spora ) authored
- Added guard in loadTemplate() to skip if template already loaded - Fixed executePhaseTransition() to properly pass match data to results template - Removed duplicate match_video loading logic in fetchOverlayData() - Template names are now normalized to prevent case-sensitivity issues
-
Stefy Lanza (nextime / spora ) authored
- Fixed overlay controller to check video phase before loading templates - Prevented template rotation during match and result phases - Fixed resultUpdate message handling in overlay-web-adapter.js - Template rotation now only runs during idle/intro phases - match_video template now correctly displays during match video - results template now correctly displays during result video
-
Stefy Lanza (nextime / spora ) authored
- Set video_phase='match' in rtsp_streamer._switch_to_video() when playing UNDER/OVER videos - Stop template rotation immediately when match/result phase detected in overlay-controller.js - This prevents the overlay from cycling between fixtures/match templates during match video - Results template now properly displays after match video ends
-
Stefy Lanza (nextime / spora ) authored
- Added _cached_today_fixture_id and _today_fixture_cache_time to cache today's fixture - Cache is valid for 60 seconds to prevent race conditions - This prevents multiple fixtures being created when _get_or_create_today_fixture is called multiple times in quick succession - Also provides MySQL queries for user to clean up duplicate fixtures
-