- Updated styles in DiaryParticipantsPanel to improve participant row layout and ensure proper word breaking for names.
- Adjusted styles in DiaryView for better mobile responsiveness, including changes to column display and sidebar padding.
- Ensured consistent minimum width settings across components to enhance overall UI coherence.
- Removed unnecessary subtitle and member statistics display for a cleaner interface.
- Introduced a collapsible section for advanced filters, improving user experience by organizing search and filter options.
- Maintained existing functionality while enhancing the overall layout and accessibility of member filtering features.
- Added a new method in MemberService to clean up inactive members who haven't trained in the last specified days, enhancing data management.
- Integrated the cleanup method into SchedulerService to run automatically via a scheduled job, improving system maintenance.
- Updated the MembersView to reflect changes in member data, ensuring a consistent user experience.
- Introduced age range inputs in the MembersOverviewSection for filtering members by age, allowing users to specify a minimum and maximum age.
- Updated the MembersView to handle new age range properties and emit corresponding updates.
- Enhanced the display of member scope chips by separating label and count for improved readability and styling.
- Refactored related components to ensure consistent functionality and styling across the application.
- Added new endpoints in the member controller for retrieving and refreshing TTR history.
- Integrated TTR history functionality into the member service, allowing for seamless data retrieval and updates.
- Updated the member model to include a field for TTR history player ID, enhancing data tracking.
- Enhanced the MembersView to display TTR history with a dedicated dialog for better user interaction.
- Improved the MyTischtennisClient to support fetching historical player IDs, enriching the data provided to users.
- Refactored various components to ensure consistent styling and functionality across the application.
- Added new npm scripts for auditing frontend size and inline TODOs, improving code quality management.
- Enhanced error handling in the `nuscoreApiRoutes` to return specific validation error statuses, improving API response clarity.
- Updated SQL migration documentation to establish a clear process for manual migrations and ensure backward compatibility.
- Refactored various components to align with new design standards, enhancing UI consistency across the application.
- Completed the componentization of `MembersView`, `TeamManagementView`, and `ScheduleView` to improve maintainability and reduce file sizes.
- Extracted specific sections into dedicated components, enhancing the focus on core functionalities within each view.
- Updated the optimization documentation to reflect the completion of these tasks, ensuring clarity on the current state of the project.
- Refactored the `autoFetchMatchResultsService` to separate single and double player statistics processing into distinct methods, improving code clarity and maintainability.
- Updated the README to reflect the current status of rating updates and match results, marking them as active and detailing their functionalities.
- Closed several TODOs in the optimization documentation, confirming the implementation of previously outlined tasks and ensuring no open inline TODOs remain in the main views.
- Updated various UI components to improve styling and user experience, including DialogExamples, DiaryParticipantsPanel, ImageViewerDialog, and MatchReportApiDialog.
- Introduced new participant status filter in DiaryParticipantsPanel, allowing for 'excused' status.
- Enhanced image upload section in ImageViewerDialog with improved layout and styling.
- Refactored MatchReportApiDialog to streamline pin input handling and feedback mechanisms.
- Added functionality to filter members in MemberGalleryDialog based on a new `shouldShowMember` prop.
- Improved styling in LogsView for better readability and user interaction.
- Refactored TeamManagementView to utilize a new TeamListCard component for better code organization and maintainability.
- Updated TournamentTab to enhance the tournament workspace header with improved data display and interaction.
- Expanded localization files to include new keys for participant status and other UI elements, enhancing accessibility for users in both English and German.
- Added functionality to update participant attendance status, allowing for 'excused' and 'cancelled' states.
- Enhanced the participant model to include a default attendance status and validation for status values.
- Updated participant routes to support status updates and integrated new status handling in the participant controller.
- Modified the DiaryParticipantsPanel to visually indicate participant status and added a toggle for changing status.
- Expanded localization files to include new keys for participant status, improving accessibility for users in both English and German.
- Updated the drag-and-drop functionality to correctly handle item indices during reordering, ensuring accurate updates to the training plan.
- Enhanced error handling by loading the training plan after a successful reorder, improving user experience and stability.
- Added a new class for sortable rows in the training plan table, improving the drag-and-drop experience.
- Updated the sortable initialization to target the new class, ensuring proper item handling during reordering.
- Implemented a check in the drag end event to prevent errors when no item is moved, enhancing stability.
- Updated the CourtDrawingDialog to conditionally render duration input fields based on the new `showDurationFields` property, enhancing user experience.
- Modified the DiaryView to pass the `show-duration-fields` prop, ensuring proper integration with the updated dialog functionality.
- Improved the overall logic for displaying diary fields, allowing for more dynamic user interactions.
- Introduced new diary fields in the CourtDrawingDialog for inputting duration as text and minutes, along with a group selection dropdown.
- Implemented logic to calculate duration from text input, enhancing user experience in managing diary entries.
- Updated the DiaryView to support the new diary fields, ensuring proper data handling and integration with existing functionalities.
- Expanded localization files for English and German to include new keys related to the diary fields, improving accessibility for users.
- Added new scheduler routes to manage scheduling functionalities.
- Updated match fetching logic to include a scope parameter for more flexible data retrieval.
- Introduced a new field `excludeFromStats` in the PredefinedActivity model to manage activity visibility in statistics.
- Enhanced the diary date activity controller to handle predefined activities, improving activity management.
- Refactored various services to support new features and improve overall data handling.
- Added new summary cards to display team statistics, including total teams, fully configured, partially configured, and teams without leagues.
- Implemented search and filter functionality for teams, improving user navigation and management.
- Expanded German localization file with new keys for team management features, enhancing the experience for German-speaking users.
- Updated the layout for automatic job information, improving clarity and user interaction.
- Introduced a new button in the DiaryParticipantsPanel for opening the gallery, with a loading state to indicate when the gallery is being created.
- Added a new `galleryLoading` property to manage the button's disabled state and text dynamically.
- Enhanced the layout of the participant toolbar for better user experience.
- Refactored the DiaryView to implement a tabbed overview for training day, details, and groups, enhancing user navigation.
- Added a readiness panel to display the status of training day elements, including training window, participants, and open plan items.
- Expanded the German localization file with new keys for readiness indicators and checklist items, improving the experience for German-speaking users.
- Added new sections in the DiaryView for displaying active training day details, including training window, participants, and free activities.
- Implemented toggle functionality for displaying training day and group details, improving user interaction.
- Expanded German localization file with new keys and translations related to training days, groups, and activities, enhancing the user experience for German-speaking users.
- Updated the member transfer service to only load active members with `testMembership = false`, improving data accuracy during transfers.
- Introduced new functions in the training stats service to count missed training weeks, enhancing training participation tracking.
- Expanded localization files for multiple languages, adding new keys and translations for member management features, improving user experience across the application.
- Implemented a new function `validateStageAdvancements` to ensure the integrity of stage advancements in tournaments, including checks for valid indices, types, and configurations.
- Enhanced the `isGroupAdvancementReady` function to verify group readiness based on match completion and participant positions.
- Updated the tournament management interface to include new validation logic, improving the overall robustness of tournament setup.
- Refactored tournament-related components to improve user experience and ensure accurate data handling across the application.
- Introduced a new admin panel for importing tournaments via PDF upload, enhancing user experience for tournament management.
- Reorganized the layout to include tabs for events and participations, improving navigation and accessibility of tournament data.
- Updated event listing with options to edit and delete tournaments, streamlining tournament management tasks.
- Enhanced the visual presentation with clearer headers and descriptions for better user guidance.
- Simplified the time checking logic for training start and end times, reducing redundancy.
- Introduced a mechanism to prevent repeated sound playback for the same activity marks.
- Enhanced sound playback functions to reset and play sounds more reliably, improving user experience during training sessions.
- Removed the myTischtennis club ID field from club settings and related backend logic.
- Updated the database migration to eliminate the my_tischtennis_club_id column.
- Adjusted frontend components and services to reflect the removal of the club ID, ensuring the use of association member number instead.
- Enhanced user interface hints to clarify the use of association member number for rankings.
- Added new fields for myTischtennis club ID, federation nickname, and auto-fetch rankings in the club settings.
- Updated the backend to handle the new settings in the updateClubSettings method.
- Implemented automatic ranking updates for clubs based on the new settings in the autoUpdateRatingsService.
- Enhanced the frontend to support the new settings, including validation and user interface updates for better user experience.
- Introduced additional steps to navigate to the participant registration section by clicking on 'Teilnehmeranmeldung'.
- Ensured the page waits for the DOM to load and dismisses consent overlays, improving user experience during the registration process.
- Added detailed diagnostics to capture page content and URLs during registration failures, improving error reporting.
- Implemented a function to build a debug HTML path for saving page content, aiding in troubleshooting.
- Updated error handling to include relevant diagnostic information in error messages, enhancing clarity for users.
- Streamlined the tournament search process by caching the results page URL to avoid redundant searches.
- Enhanced the link retrieval mechanism to focus on table rows, improving accuracy in finding relevant tournament links.
- Updated scoring criteria for link selection to better prioritize relevant entries based on tournament and competition context.
- Added a new method `_saveCompetitionRegistration` to handle the saving of competition registrations, improving code organization and readability.
- Replaced direct calls to clickTtPlayerRegistrationService for saving with the new method, enhancing maintainability.
- Implemented error handling to verify successful registration and provide feedback if the registration confirmation is not displayed.
- Updated link retrieval to target specific content areas, enhancing accuracy in finding tournament links.
- Added filters to exclude irrelevant links based on href patterns, improving the relevance of selected links.
- Enhanced scoring mechanism for link selection by incorporating additional criteria, ensuring better matching of tournament entries.
- Added functions to tokenize tournament titles and generate a search profile, improving the accuracy of title matching.
- Updated the link retrieval logic to utilize the new title processing methods, enhancing the selection of tournament links based on normalized and tokenized title data.
- Improved scoring mechanism for link selection to prioritize relevant tournament entries, ensuring better user experience during registration.
- Implemented a new endpoint to automatically register participants for official tournaments using the Click-TT service.
- Added a corresponding method in the frontend to trigger the auto-registration process, enhancing user experience by simplifying participant management.
- Updated the official tournament controller and routes to support the new functionality.
- Introduced a new property `detailsHtml` to the info dialog for rendering HTML content.
- Added a new method `showInfoHtml` to display messages with HTML details.
- Updated the Click-TT application submission flow to utilize the new HTML details feature for improved user feedback.
- Updated nationality selection to handle multiple selectors, enhancing flexibility in form filling.
- Added checks for 'WONoSelectionString' and specific values to improve validation during player registration.
- Streamlined the selection process by breaking out of the loop once a valid selection is made, improving efficiency.
- Updated error response structure in memberController to include detailed information instead of a trace array, enhancing clarity for the client.
- Enhanced ClickTtPlayerRegistrationService to capture and return detailed information about the selected search result and last submission attempt, improving error diagnostics.
- Modified frontend to format and display the new detailed error information, providing better context for users during registration failures.
- Introduced a new function to normalize comparable text for improved matching during application searches.
- Updated the _openApplicationAfterSearch method to accept member data, enhancing the accuracy of application link retrieval based on expected name and birth date.
- Improved error handling to provide clearer feedback when no matching application entry is found, ensuring better user guidance during the registration process.
- Modified nationality selection logic to include an additional condition for 'WONoSelectionString' and a specific value '209', enhancing form validation.
- Updated gender mapping to exclude disabled options, improving the accuracy of gender selection during player registration.
- Added directory creation for debug HTML file paths to ensure proper file generation during error handling.
- Improved diagnostics object to capture additional error context, including URL and sanitized body text, enhancing troubleshooting capabilities.
- Streamlined error handling to maintain partial diagnostics even when certain data retrieval fails, improving robustness in error reporting.
- Modified the buildDebugHtmlPath function to use path.join for constructing the file path, ensuring compatibility across different operating systems.
- This change enhances the maintainability of the code by standardizing file path handling.
- Introduced a new function to generate a timestamped HTML file containing the page content during error handling, improving diagnostics for failed registration attempts.
- Enhanced error reporting to include the path to the generated HTML file, providing better context for troubleshooting issues in the registration flow.
- Replaced direct option selection with a new method that selects options based on partial label matching, enhancing flexibility in form filling.
- Introduced the _selectOptionByLabelContains method to streamline the selection process for nationality and country fields, improving code maintainability.
- Updated the _fillApplicationForm method to include trace logging and improved handling of form fields, ensuring all necessary data is filled correctly.
- Introduced a new method to check and fill empty fields, streamlining the form completion process.
- Added consent overlay dismissal to improve user experience during the registration flow.
- Updated the _fillSearchForm method to include trace logging and improved error handling for missing search forms, ensuring better feedback during the registration process.
- Enhanced the _openApplicationEntry method to streamline application entry checks and improve error messaging for missing elements, contributing to a more robust registration flow.
- Replaced the method for ensuring application entry visibility with a more direct approach to open the application entry, improving code clarity and reducing complexity.
- Enhanced error handling to provide clearer feedback when the application entry cannot be found, ensuring better user guidance during the registration process.
- Added loading and error states to the club settings view, improving user feedback during data retrieval.
- Introduced new translations for error messages in the German locale, enhancing localization support.
- Updated the save method to alert users when no club is selected, ensuring clarity in user actions.
- Updated the club retrieval logic to include specific attributes, enhancing data accuracy.
- Enhanced error handling to provide detailed feedback when the association member number is missing, including the club name for better context.
- Integrated Club model to retrieve association member number during player registration, ensuring necessary data is available.
- Added methods to select club context and ensure application entry visibility, improving navigation within the Click-TT interface.
- Enhanced error handling for missing association member numbers, providing clearer feedback to users during the registration process.
- Updated consent overlay handling to streamline user interactions and improve automation in the registration flow.
- Added ClickTtAccount model and integrated it into the server and database synchronization processes.
- Updated ClickTtPlayerRegistrationService to utilize ClickTtAccount for user account management, enhancing the registration flow.
- Modified frontend components to include navigation to Click-TT account settings and updated routing to support the new account view.
- Improved error handling and user feedback in the registration process, ensuring clarity in account-related operations.
- Added a new constant for the Click-TT login URL to streamline navigation during the login process.
- Improved the login flow by directly navigating to the login URL if no direct login fields are found, enhancing user experience.
- Introduced a method to dismiss consent overlays, improving the automation of the registration process by handling consent banners effectively.