Commit Graph
7 Commits
Author SHA1 Message Date
Mathieu Moran 4308d6babf Implement en/fr localization across admin and user UIs
Introduce client-side localization helper and en/fr locale bundles.

Route admin control, picks, movies, stats, winners and settings UIs through i18n keys instead of hardcoded text.

Remove French text from the English UI and standardize shared messages (saving, network errors, confirmations).

Update .gitignore to ignore editor metadata and localization helper artifacts.
2026-02-01 20:20:02 -05:00
Mathieu Moran d10164076c Refactor control panel: merge Lecteur tab into Visibilité and add loading bar to Mes picks
- Remove 'Lecteur' subtab from Réglages section
- Move player UI settings (show Source/Progress) into Visibilité tab
- Consolidate reload/save buttons to use single set for both visibility and player UI settings
- Simplify visibility tab formatting with minimalistic, consistent styling
- Add loading bar progress indicator to Mes picks tab matching movies/checklist/stats pages
- Update JavaScript to handle both visibility config and player UI settings together
- Improve code organization and user experience
2025-12-28 02:20:21 -05:00
Mathieu Moran 6a2ec537e9 Fix category management and remove import feature
- Fix category editing: Added GET /api/categories/:categoryId endpoint to fetch single category by ID, fixing 'Category not found' error when editing categories for active year
- Fix picks handling: Filter out picks for deleted categories when submitting, loading, and calculating scores to prevent errors
- Fix scores display: Always calculate scores from pickDetails instead of stored score value to ensure accuracy when categories are removed
- Add picks cleanup: Automatically clean up picks for deleted categories in database when categories are deleted or scores are fetched
- Fix winner clearing: Allow clearing winners by accepting empty/null winnerName in PUT /api/categories/:categoryId/winner
- Enable category number editing: Made category number editable in edit modal with validation and conflict checking; automatically updates all related picks when category number changes
- Add bulk category management: Added bulk select and delete functionality in Liste tab with select all checkbox and bulk delete button
- Remove import feature: Completely removed PDF/image import functionality including OCR, file upload, and all related UI components
- Update dependencies: Removed unused packages (tesseract.js, sharp, pdfjs-dist, canvas) after removing import feature
- Improve file cleanup: Added retry logic for file deletion to handle Windows file locking issues
2025-12-28 00:48:48 -05:00
Mathieu Moran 7d8077774b Add unsaved changes tracking with banner and button state management in picks tab 2025-12-27 23:38:23 -05:00
Mathieu Moran b39849f745 Filter out scores for removed users in Scores tab (prevent Unknown user display) 2025-12-27 23:21:32 -05:00
Mathieu Moran 70b309d1ae Add visibility toggle for picks features and rename Mes choix to Mes picks
- Renamed 'Mes choix' to 'Mes picks' across all pages and JavaScript files
- Added visibility toggle in control panel (Réglages > Visibilité) to control:
  - Display of 'Mes picks' button in navigation
  - Display of 'Bon picks' column in user statistics
- Combined both visibility options into single toggle for simplicity
- Added backend API endpoints for visibility configuration
- Implemented localStorage caching for instant visibility updates
- Fixed flash of content issues when navigating between pages
- Updated stats endpoint to calculate correct picks on-the-fly from current winners
- Renamed 'Bonnes réponses' to 'Bon picks' in user statistics table
2025-12-27 22:03:01 -05:00
quoije 1281d77c4e WIP: Add points system for movies and picks, admin configuration, and stats page updates 2025-12-26 12:37:30 -05:00