Commit Graph

123 Commits

Author SHA1 Message Date
poprhythm f916cfad6b Refactor event occurrence parsing by introducing modular components for improved maintainability
This commit restructures the EventOccurrenceParser by breaking down its functionality into modular components, including EventDefinitionResolver, LineClassifier, LocationPatternMatcher, SectionHeaderMatcher, TimeLocationParser, and TimeParser. This refactoring enhances code readability and maintainability, allowing for easier updates and testing. Additionally, the TextUtil class has been updated to include input sanitization methods. Comprehensive unit tests have been added to ensure the correctness of the new parsing logic and to validate the handling of various event occurrence scenarios.
2026-01-08 20:23:57 -05:00
poprhythm 7ddc55f672 Refactor event occurrence parsing to use dynamic month parsers and improve input normalization
This commit replaces individual month parsers with a dynamic array of month names, enhancing maintainability. The EventOccurrenceParser has been updated to utilize this new structure, ensuring consistent parsing of month names. Additionally, input normalization has been improved by standardizing hyphen handling and ensuring that all relevant parsing methods utilize the sanitized input. This change streamlines the parsing process and enhances overall robustness.
2026-01-08 08:46:11 -05:00
poprhythm f32ce649cd Add Sprache package and enhance event occurrence parsing with new grammar rules 2026-01-08 08:23:31 -05:00
poprhythm 5fdd5fadba Enhance event occurrence parsing with new location patterns and improved issue handling
This commit updates the LocationParsingConfiguration to include additional location patterns such as "Exhibit Hall *", "Mtg. Room *", and "Online". The EventOccurrenceParser has been enhanced to better handle parsing issues, including skipping comment and continuation lines, and cleaning up location text. New methods for analyzing location parsing failures and categorizing issues have been added to improve reporting. Additionally, the UI has been updated to support larger input sizes for event occurrence text, ensuring a smoother user experience during data import.
2026-01-08 08:08:36 -05:00
poprhythm c937192496 Add tests for event occurrence parsing results for 2024 and 2025 competitions
This commit introduces new unit tests in EventOccurrenceParser_Tests to analyze and validate the parsing results for the 2025 Nationals, 2025 State, and 2024 State competitions. Each test verifies that the parser returns valid results without exceptions and provides detailed output on the total lines, occurrences parsed, and issues found. Additionally, a new method in TestEntityHandler has been added to retrieve the 2024 State competition event times file, supporting the new tests.
2026-01-07 08:37:00 -05:00
poprhythm 2d3b29176f Enhance event occurrence parsing with detailed issue reporting and location configuration
This commit introduces a new structure for handling parsing issues in the EventOccurrenceParser, allowing for detailed reporting of parsing problems such as unmatched lines, missing event definitions, and parsing failures for time, date, and location. A new ParsingIssue class has been added to encapsulate these details. Additionally, a LocationParsingConfiguration class has been implemented to support customizable location patterns, enhancing the flexibility of the parser. The EventOccurrenceParserService has been updated to utilize this configuration, and new tests have been added to ensure robust issue detection and reporting. Furthermore, the UI has been updated to display parsing issues, improving user feedback during the import process.
2026-01-06 23:08:42 -05:00
poprhythm c73fdbfba4 Update MainLayout.razor to conditionally render app bar title based on drawer state
Modified the MainLayout component to display the app bar title only when the drawer is closed, enhancing the layout's responsiveness and user experience. This change improves the visual clarity of the application when navigating between different sections.
2026-01-06 15:07:55 -05:00
poprhythm db4f1ba6fc Update DEPLOYMENT.md to enhance Docker image publishing instructions
Revised the section on building and running Docker images to include a recommended PowerShell script for publishing to a Docker registry. Added detailed options and examples for using the script, while maintaining the manual build instructions for flexibility. This update improves clarity and usability for developers deploying the application.
2026-01-05 23:06:00 -05:00
poprhythm 76f285b3af Update MainLayout.razor to add bottom margin to MudContainer for improved layout spacing 2026-01-05 21:44:32 -05:00
poprhythm 87db67f979 Refactor MudPaper component styling across various features for consistency
Updated the MudPaper component styling in multiple files to use a consistent padding class of "pa-3 pa-md-6" instead of "pa-6". This change enhances the visual consistency of the UI across the Calendar, Events, Students, and Teams components, improving the overall user experience.
2026-01-05 14:01:46 -05:00
poprhythm 2aaefb2491 Implement enhanced static file caching and improve calendar event loading with detailed logging
This commit introduces a new static file caching strategy in Program.cs, optimizing cache headers for Blazor assets to improve performance and ensure fresh content after deployments. Additionally, the Calendar component in Index.razor has been updated to include comprehensive logging for event loading, handling null occurrences, and error management during calendar item creation. The CalendarEventItem model is also initialized to prevent null reference issues. These changes enhance the application's reliability and user experience.
2026-01-05 13:21:03 -05:00
poprhythm 01056401e5 Remove obsolete files and components from the Web-Original project
This commit deletes various files including configuration settings, controllers, models, views, and third-party libraries that are no longer in use. The removal of these files helps streamline the project and reduces clutter, ensuring a cleaner codebase for future development. Key files removed include appsettings, controllers, views related to home and events, and Bootstrap and jQuery libraries.
2026-01-04 14:58:51 -05:00
poprhythm 83522ac52c Refactor Teams components for improved sorting and filtering functionality
Updated the Teams Index and Printout components to prioritize sorting by EventFormat, enhancing the organization of team data. Introduced a regional filter toggle in the Teams Index to allow users to view only regional teams. Adjusted the ScheduledTeamsList to sort teams by EventFormat first, ensuring consistent ordering across components. Additionally, added necessary using directives for improved code clarity.
2026-01-04 14:56:28 -05:00
poprhythm c6fb00c7f4 Enhance CareerField and CareerMapping components with descriptions
Added a Description property to the CareerField class to provide a short overview of each career field. Updated the CareerFieldDefinitions to include descriptions for all career fields. Modified the CareerMapping component to display the description of the selected career field or event, improving user experience by providing more context about each node.
2025-12-29 21:31:33 -05:00
poprhythm 3bd076afb3 Enhance CareerMapping component with node click functionality and detailed career display
Updated the CareerMapping component to allow users to click on nodes for detailed information about career fields and related careers. Introduced a new SelectedNodeInfo class to manage the display of selected node details. Improved data handling for career field and event nodes, ensuring accurate representation of related careers. Adjusted the network click event to trigger updates in the UI, enhancing interactivity and user experience.
2025-12-29 21:19:08 -05:00
poprhythm 1d3167710d Add VisNetwork integration to CareerMapping component
Updated the CareerMapping component to utilize VisNetwork for visualizing relationships between events and career fields. Replaced the previous Mermaid diagram implementation with a network graph, enhancing interactivity and visual clarity. Adjusted data generation logic to support the new network structure and updated relevant namespaces in the project files.
2025-12-29 12:58:30 -05:00
poprhythm 7266ab609b Enhance CareerMapping component to reflect career fields instead of careers
Updated the CareerMapping component to improve clarity by changing terminology from "careers" to "career fields" throughout the UI. Enhanced the diagram generation logic to filter events based on related career fields, ensuring accurate representation of relationships. Added styling for event and field nodes in the Mermaid diagram for better visual distinction.
2025-12-29 10:54:30 -05:00
poprhythm 2c9aa1c223 Add Career Mapping feature to Events section
Introduced a new CareerMapping component that visualizes relationships between events and related careers using a Mermaid diagram. Updated the Events Index page to include a navigation button for accessing the Career Mapping feature. Added Blazorade.Mermaid package for diagram rendering and updated _Imports.razor to include necessary namespaces.
2025-12-28 21:55:35 -05:00
poprhythm 065a83442c Add FormValidationService and EventDefinitionService to dependency injection
Enhanced the application's service layer by adding FormValidationService and EventDefinitionService to the dependency injection container in Program.cs. Updated Create, Edit, and other relevant components to utilize these services for improved form validation and event processing functionality.
2025-12-28 19:56:16 -05:00
poprhythm 0358763601 Refactor string length validation in EventDefinition entity properties
Removed minimum length constraints from SemifinalistActivity and Notes properties in the EventDefinition class to simplify validation requirements. This change enhances flexibility in data entry while maintaining the maximum length restrictions.
2025-12-28 18:17:51 -05:00
poprhythm 06b2db0b4c Add Related Careers functionality to EventDefinition entity and update related components
Introduced a many-to-many relationship between EventDefinition and Career entities, allowing for the association of multiple careers with an event. Updated the AppDbContext to include a DbSet for Careers and modified the EventDefinitionConfiguration to handle the new relationship. Enhanced the Create, Edit, and Details components to support input and display of related careers, including normalization and processing logic for career names. Updated the database schema to reflect these changes.
2025-12-28 15:22:03 -05:00
poprhythm 8967d0f8a4 Add Authentication Setup Guide for TSA Chapter Organizer application
This new documentation file provides comprehensive instructions on configuring login credentials, generating password hashes, and managing user roles for both development and production environments. It includes best practices for security and troubleshooting tips to enhance user experience and system integrity.
2025-12-28 15:21:21 -05:00
poprhythm d0fd7469af Replace MudText with MudChip in EventAttributes component for enhanced styling and visual consistency 2025-12-28 14:51:12 -05:00
poprhythm f144f0f8f0 Update icon representation in AppIcons model for improved visual clarity 2025-12-28 12:55:59 -05:00
poprhythm 62b6ae06fd Update icons in Calendar, Students, and Home components for consistency and improved UI 2025-12-28 10:42:53 -05:00
poprhythm b3d7577c32 Add Handout button to Teams page and remove links from NavMenu 2025-12-27 23:06:09 -05:00
poprhythm c9ef169989 Refactor Calendar and Home components for improved navigation and user experience
Updated the Calendar component's route from "/event-calendar" to "/calendar" for clarity. Enhanced the Home component to provide dynamic content based on the presence of students and teams, introducing new sections for "Getting Started" and "Team Building". Improved the DashboardCard component to support emphasized styling for better visual hierarchy. Updated the navigation menu to reflect these changes and ensure a more intuitive user experience.
2025-12-27 22:01:41 -05:00
poprhythm c462ed4561 Enhance event definitions and parsing logic for new event types
Added new event definitions for "Meet the Candidates", "Chapter Officer Meeting", "Voting Delegate Meeting", and "Social Gathering". Updated the EventOccurrenceParser to handle these new event types and modified related services and views to accommodate the changes. Improved test coverage for the new event definitions and ensured proper parsing and display in the calendar components.
2025-12-27 19:32:54 -05:00
poprhythm cd34be1f82 Add EventOccurrenceParserService and update service registrations
Registered the new EventOccurrenceParserService in Program.cs to handle event occurrence parsing. Updated the _Imports.razor file to reflect the renaming of the EventCalendar component to Calendar. Removed the obsolete EventCalendar component to streamline the codebase.
2025-12-27 18:57:56 -05:00
poprhythm 3a809f18a6 Add EventOccurrence entity and update DbContext
Created the EventOccurrence entity with properties for event details and added it to the AppDbContext. Updated the model snapshot to reflect the new entity and its relationships, ensuring proper database schema generation.
2025-12-27 15:59:48 -05:00
poprhythm eaefdfaedd Refactor Event Calendar component for improved performance and usability
Optimized the Event Calendar component by enhancing the event fetching logic and improving the rendering efficiency. Updated the user interface for better accessibility and responsiveness. Added additional tests to ensure reliability of the event occurrences service integration.
2025-12-27 13:48:04 -05:00
poprhythm 9668ec162d Add Event Calendar feature with event occurrences service integration
Introduced a new Event Calendar component that displays scheduled events using the Heron.MudCalendar. Implemented IEventOccurrenceService to fetch event occurrences, and added mock data for initial testing. Updated navigation menu to include a link to the Event Calendar.
2025-12-27 13:25:17 -05:00
poprhythm 5c1e0b7444 Update padding for MudPaper components across various features
Increased padding from 'pa-4' to 'pa-6' for MudPaper components in Events, MeetingSchedule, Students, and Teams features to ensure consistent styling and improved visual spacing.
2025-12-27 10:43:15 -05:00
poprhythm d19326781a Add loading states to MudDataGrid components
Implemented loading indicators and progress colors for all MudDataGrid instances across Events, Students, Teams, and Registration components to enhance user experience during data loading operations.
2025-12-27 10:39:16 -05:00
poprhythm cb362d6754 Add micro-interactions and transitions for page and table elements
Wrap page content in a new div for animation effects and implement fade-in transitions for table rows.
2025-12-27 10:35:40 -05:00
poprhythm 872a1cae64 Clean up test filenames 2025-12-27 10:29:07 -05:00
poprhythm dbe2b259f6 Clean up test data 2025-12-27 10:25:15 -05:00
poprhythm 58cae98357 Wrap pages in consistent container styling
Remove Back to List
2025-12-26 23:45:32 -05:00
poprhythm 4c05188867 Improve Form Layout 2025-12-26 18:56:24 -05:00
poprhythm 057aa31bf8 Enhance Event Rank Color System 2025-12-26 16:54:16 -05:00
poprhythm ed9487a5ad Consistent Typography in Details pages. 2025-12-26 16:35:09 -05:00
poprhythm 75a64faff0 Improve Table Density and Spacing 2025-12-26 16:02:55 -05:00
poprhythm 768b46da2d Start of some style improvments.
Logout button now matches.
2025-12-26 15:53:48 -05:00
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