Commit Graph

13 Commits

Author SHA1 Message Date
poprhythm e17d15aaff Hover color on the delete buttons 2025-12-26 14:09:49 -05:00
poprhythm f395dba043 Address compiler warnings 2025-12-26 13:58:41 -05:00
poprhythm f2389fa1c1 Moved crud operations to the title field 2025-12-26 10:35:37 -05:00
poprhythm 19a7164b8b Discard in-memory changes when editing 2025-12-26 10:04:37 -05:00
poprhythm 77b5683804 tracks form changes and warns users before navigation 2025-12-25 23:55:04 -05:00
poprhythm 059a16b958 Move action buttons after the forms. 2025-12-25 23:42:18 -05:00
poprhythm 023e6c289a Use PageHeader throughout the system 2025-12-25 21:53:15 -05:00
poprhythm 1e36a5661b PageHeader component introduced. 2025-12-25 20:10:06 -05:00
poprhythm fa13039203 Add class for pre-wrap-text 2025-12-25 20:04:29 -05:00
poprhythm aedf168e8a Update icons for event attributes 2025-12-25 20:03:50 -05:00
poprhythm 1c7e704ad3 Add comprehensive validation system with runtime configuration
Implements a flexible validation framework for student rankings, team assignments, and team composition with administrator-configurable rules and thresholds.

Validation System:
- Reflection-based rule discovery eliminates manual registration
- Base classes (RequiredEventTypeRuleBase, EventCountThresholdRuleBase) reduce code duplication by ~250 lines
- 12 validation rules covering event requirements, counts, and team constraints
- Configurable severity levels (Warning/Error) per rule type
- ValidationService with caching for optimal performance
- Rules apply contextually (StudentRanking, StudentAssignment, TeamComposition)

Configuration & Admin UI:
- ValidationSettings admin page for editing thresholds and severity levels
- ChapterSettings admin page for editing chapter information
- Settings stored in Data/appsettings.json for runtime configuration
- JSON config works in both development and production environments
- Auto-creates Data directory and config template on first run

User Experience:
- ValidationWarnings component displays inline warnings/errors
- Integrated in Event Ranking, Registration, and Team Assignment pages
- Color-coded severity indicators (warning yellow, error red)
- Includes "Too Many Regional Events" rule (max 3 recommended)

Technical Improvements:
- Template Method pattern for rule base classes
- Singleton rule instances with lazy initialization
- Configuration loaded via IConfiguration with fallback to defaults
- Safe JSON updates preserve other appsettings sections
2025-12-13 22:15:16 -05:00
poprhythm 27dc995bb8 Improvements for home page and formatting 2025-12-11 14:17:33 -05:00
poprhythm 2d5d075879 Feature-based folder structure
1. Created feature-based folder structure - Components now organized by domain feature
  2. Moved all components - 20+ files moved to new locations
  3. Updated _Imports.razor - Added all new namespace paths for global component access
  4. Updated CustomThemes.cs namespace - Changed from WebApp.Components.Layout to WebApp.Components.Shared.Layout
  5. Removed old using directives - Cleaned up Login.razor and Routes.razor
  6. Removed empty directories - Cleaned up old folder structure
2025-12-03 22:04:23 -05:00