Commit Graph

668 Commits

Author SHA1 Message Date
Torsten Schulz (local)
003b8fd3bc feat(TournamentStats): update age class filtering UI and logic in InternalTournamentStats component
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 37s
- Replaced age class filtering with band and gender options for improved user selection.
- Introduced new methods for handling band and gender checkbox changes, enhancing the filtering logic.
- Updated the component's state management to accommodate selected bands and genders.
- Enhanced localization strings to support new filtering options, improving user accessibility and understanding.
2026-04-08 14:01:47 +02:00
Torsten Schulz (local)
bbd9f08e97 feat(TournamentStats): enhance internal tournament statistics with member profile integration
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 37s
- Integrated member profile data (birth date and gender) into the internal tournament statistics calculations for more accurate age class filtering.
- Removed deprecated age class filtering functions and streamlined the statistics computation process.
- Updated the InternalTournamentStats component to reflect changes in age class options and improved sorting logic.
- Enhanced localization strings across multiple languages to support new terminology related to age classes and gender, improving user accessibility and understanding.
2026-04-08 13:48:41 +02:00
Torsten Schulz (local)
30994adee8 feat(TournamentStats): enhance age class sorting and localization for tournament statistics
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 36s
- Improved the sorting logic for age class options in the InternalTournamentStats component, incorporating gender and name for better organization.
- Added new utility functions for handling gender labels and age class sorting values, enhancing clarity in tournament statistics.
- Updated localization strings across multiple languages to reflect changes in age class and gender terminology, improving user accessibility and understanding.
2026-04-08 13:12:19 +02:00
Torsten Schulz (local)
27f8186d91 feat(TournamentStats): enhance internal tournament statistics with age class filtering
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 37s
- Updated the `getInternalTournamentPlayerStats` endpoint to accept age class keys for more granular statistics.
- Introduced new utility functions for handling age class filtering in the internal tournament stats service.
- Enhanced the InternalTournamentStats component with a new age class filter UI, allowing users to select specific age classes for their statistics.
- Updated localization strings across multiple languages to support the new age class filtering feature, improving user accessibility and understanding.
2026-04-08 12:50:20 +02:00
Torsten Schulz (local)
c1b8b2c665 feat(TournamentStats): refine internal tournament scoring and enhance UI features
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 36s
- Updated the scoring logic for internal tournaments to reflect percentage-based placements, improving clarity and fairness in rankings.
- Refactored the `groupPointsFromRankings` function to `groupPercentFromRankings` for better readability and accuracy in calculations.
- Enhanced the InternalTournamentStats component with a new PDF export feature and improved dialog positioning for better user experience.
- Updated localization strings across multiple languages to align with the new scoring system and UI enhancements, ensuring better accessibility and understanding for users.
2026-04-08 11:20:46 +02:00
Torsten Schulz (local)
43dbd5442a feat(TournamentStats): update internal tournament scoring logic and UI enhancements
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 36s
- Revised scoring system for internal tournaments to assign points based on placement (1st = 100, 2nd = 99, etc.), with adjustments for tied ranks and a cap at 101 points.
- Refactored `groupPointsFromRankings` function for improved clarity and efficiency.
- Enhanced the InternalTournamentStats component UI, integrating a dialog for better user interaction and accessibility.
- Updated localization strings across multiple languages to reflect the new scoring system and UI changes, improving user understanding and experience.
2026-04-08 11:02:34 +02:00
Torsten Schulz (local)
4a53801a54 feat(TournamentStats): add internal tournament statistics endpoint and localization updates
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 37s
- Implemented a new endpoint `getInternalTournamentStats` in the tournament controller to retrieve statistics for internal tournaments based on club ID and selected months.
- Enhanced the tournament service to compute player statistics, including absolute and average rankings.
- Updated tournament routes to include the new statistics endpoint.
- Added localization strings for internal tournament statistics in multiple languages, improving user accessibility and experience.
- Integrated the new statistics component into the TournamentsView for better user interaction.
2026-04-08 10:40:33 +02:00
Torsten Schulz (local)
50fa07d0b7 feat(i18n): enhance localization files with new configuration prompts
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Added new localization strings across multiple languages for missing configuration prompts, including messages for league selection and MyTischtennis URL requirements.
- Updated TeamManagementView to display missing configuration alerts, improving user guidance during team setup.
2026-04-02 09:14:07 +02:00
Torsten Schulz (local)
a94ad55a2d Revert "feat(UI): enhance styling and accessibility across components"
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 34s
This reverts commit cf57ade3f0.
2026-04-02 08:46:52 +02:00
Torsten Schulz (local)
cf57ade3f0 feat(UI): enhance styling and accessibility across components
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Added `-webkit-overflow-scrolling: touch` and `overscroll-behavior-y: contain` to App.vue for improved scrolling behavior on touch devices.
- Updated DialogManager.vue to include `min-height: 0` and `overflow-x: hidden` for better content management.
- Set `min-height: 0` in TeamManagementOverview.vue and TeamManagementView.vue to ensure consistent layout.
- Enhanced localization files across multiple languages to include new terms for user administration, improving user experience.
2026-04-02 08:43:26 +02:00
Torsten Schulz (local)
8503c9a79d feat(TeamManagement): enhance TeamListCard and TeamManagementOverview with improved accessibility and styling
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 34s
- Updated TeamListCard to include keyboard accessibility features, allowing users to trigger edit actions via keyboard events.
- Refactored TeamListCard layout for better visual organization, including a new league row for improved information display.
- Enhanced styling for TeamListCard, including hover and focus states for better user interaction.
- Adjusted grid layout in TeamManagementOverview for improved responsiveness and spacing.
- Removed redundant styles from TeamManagementView, centralizing styling in TeamListCard for consistency.
2026-04-02 08:37:41 +02:00
Torsten Schulz (local)
68b8455340 feat(ClubTeam): add planned league name field and localization updates
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 34s
- Introduced a new field for planned league name in the ClubTeam model, allowing for better team categorization.
- Updated create and update club team endpoints to handle the new planned league name field.
- Enhanced the PDF generation feature to include planned league name in the output.
- Improved localization files across multiple languages to incorporate new terms related to the planned league, ensuring a consistent user experience.
- Updated the TeamManagementView to display and edit the planned league name, enhancing user interaction.
2026-04-02 08:17:13 +02:00
Torsten Schulz (local)
9454761e34 feat(PDFGenerator): add team lineup PDF generation and localization updates
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Implemented a new feature to generate a PDF for team lineups, including detailed information such as club name, team name, league, season, gender, and age group.
- Enhanced localization files across multiple languages to include new terms related to the PDF generation feature, ensuring a consistent user experience.
- Updated the TeamManagementView to include a button for downloading the lineup as a PDF, improving accessibility for users.
2026-04-02 08:07:38 +02:00
Torsten Schulz (local)
fd02655be4 style(MembersView): enhance age class line styling
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 36s
- Added white-space nowrap property to .tt-age-class-line and .tt-age-class-line--next classes to prevent text wrapping, improving the visual layout of age class lines in the MembersView component.
2026-04-02 07:25:54 +02:00
Torsten Schulz (local)
c76b5f32e2 fix(i18n): update last training filter hint across multiple languages
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Revised the lastTrainingFilterHint in localization files for German, English (AU, GB, US), and Swiss German to enhance clarity regarding the age-class column and details available on row hover.
- Improved consistency in terminology across different language files to ensure a better user experience.
2026-04-01 16:46:32 +02:00
Torsten Schulz (local)
2d43967c81 feat(MembersOverview): add last training filter and localization updates
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Introduced a new filter for last training in the MembersOverviewSection, allowing users to filter members based on their last training date.
- Updated the MembersView to handle the new last training filter state and integrate it into the member sorting and display logic.
- Enhanced localization files across multiple languages to include new terms related to the last training filter and its options.
- Improved member row tooltip to display last training information, enhancing user experience and clarity.
2026-04-01 16:41:54 +02:00
Torsten Schulz (local)
59034ff397 feat(MembersOverview): add training participations column toggle and localization updates
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 35s
- Introduced a checkbox in the MembersOverviewSection to toggle the visibility of the training participations column.
- Updated the MembersView to handle the new toggle state and display training participations accordingly.
- Enhanced localization files across multiple languages to include the new term for the training participations column.
- Refactored member age class display logic to improve clarity and maintainability.
2026-04-01 16:28:00 +02:00
Torsten Schulz (local)
8b9a4b7bca feat(MembersOverview): add season filter and enhance age group selection
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 37s
- Introduced a new season filter dropdown in the MembersOverviewSection for selecting the season start year.
- Enhanced age group selection by organizing options into groups for better clarity and added new age categories.
- Updated localization files to include new terms related to the season filter and age classifications across multiple languages.
- Improved the overall layout and styling of the filter components for a better user experience.
2026-04-01 15:26:08 +02:00
Torsten Schulz (local)
b62b61505c fix(deploy): update SSH key handling in deployment workflow
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 39s
- Changed the SSH key handling in the Gitea deployment workflow to use a base64 encoded key, improving security and compatibility.
- Updated the SSH connection commands to reference the new key file, ensuring successful deployment connections.
2026-03-31 15:50:13 +02:00
Torsten Schulz (local)
49df0cc381 chore(deploy): remove obsolete deployment script from Gitea workflows
Some checks failed
Deploy tt-tagebuch / deploy (push) Failing after 0s
- Deleted the deploy.sh script as it is no longer needed for the deployment process.
2026-03-31 13:49:38 +02:00
Torsten Schulz (local)
5eff1d63aa feat(ClubTeam): enhance club team management with lineup features and member eligibility
- Added teamGender and teamAgeGroup fields to ClubTeam model for better categorization.
- Updated create and update club team endpoints to handle new fields and default values.
- Implemented getClubTeamLineup and updateClubTeamLineup functions for managing team lineups.
- Enhanced member management with adultReleaseApproved and adultReserveApproved fields in Member model.
- Updated frontend views to support new lineup features and member eligibility flags.
- Improved localization for new terms related to team management and member eligibility across multiple languages.
2026-03-31 13:44:28 +02:00
Torsten Schulz (local)
cb7830571b feat(TrainingStats): enhance training statistics view and participant details
- Updated TrainingStatsService to include member details (first name, last name) in participant data.
- Modified TrainingDetailsDialog to remove unnecessary time display for training sessions.
- Added new filters for training days in TrainingStatsView, allowing users to select specific training days and view attending members.
- Enhanced localization files to support new training day filter and participant-related strings across multiple languages.
2026-03-28 13:35:34 +01:00
Torsten Schulz (local)
0df8674353 feat(TournamentService): implement seeded knockout match generation and enhance qualifier handling
- Added a new function to build seeded legacy knockout matches, improving match pairing logic based on group affiliations.
- Refactored qualifier selection process to utilize a ranked participants map, ensuring better handling of advancing participants and unused qualifiers.
- Updated knockout match handling to incorporate seeded results, enhancing the overall tournament flow and participant management.
2026-03-28 12:15:40 +01:00
Torsten Schulz (local)
2043942e02 feat(TournamentWorkspaceHeader): enhance UI layout and tab functionality
- Updated the TournamentWorkspaceHeader component to improve the layout with a new class for the workspace header.
- Introduced a tournament tabs panel with buttons for navigating between configuration, participants, groups, and results, enhancing user interaction.
- Added computed properties and methods for managing tab states and results sub-tabs, streamlining tournament management.
- Improved styling for better visual hierarchy and user experience.
2026-03-28 12:05:04 +01:00
Torsten Schulz (local)
e4be66b469 fix(i18n): update problem configuration description across multiple languages
- Simplified the problemConfigDescription in Spanish, Filipino, French, Italian, Japanese, Polish, Thai, Tagalog, and Chinese to remove the mention of "at least one class," ensuring clarity and consistency in translations.
2026-03-28 11:54:19 +01:00
Torsten Schulz (local)
0554a68eb7 feat(TournamentService, TournamentResultsTab): enhance knockout match handling and UI interactions
- Introduced new functions for determining knockout round order and building preferred knockout matches based on qualifiers.
- Updated TournamentResultsTab to include collapsible sections for group matches and knockout rounds, improving user experience.
- Added data properties and methods to manage the visibility of match sections and handle tournament class checks.
- Refined UI elements for better interaction, including toggle buttons and improved styling for match sections.
2026-03-28 11:48:10 +01:00
Torsten Schulz (local)
92d29dc64e feat(TournamentTab): improve knockout section handling and data validation
- Refactored stages and advancements data retrieval to ensure proper handling of empty or invalid responses.
- Added scrollToKnockoutSection method to enhance user experience by automatically scrolling to the knockout section after initiating tournament actions.
- Updated knockout operation flow to include scrolling behavior, ensuring better visibility of the knockout stage during tournament management.
2026-03-28 11:20:34 +01:00
Torsten Schulz (local)
2c11f6b975 chore(dependencies): update package versions in package-lock.json and package.json
- Upgraded nodemailer from version 7.0.9 to 8.0.4 for improved email handling.
- Updated brace-expansion, flatted, picomatch, and socket.io-parser to their latest versions across frontend and backend for better performance and security.
- Incremented versions of other dependencies like sequelize and jspdf to ensure compatibility and access to new features.
2026-03-28 11:18:16 +01:00
Torsten Schulz (local)
68f14eb5d6 feat(TournamentConfigTab, TournamentResultsTab): enhance stage configuration and knockout actions
- Added ensureStageConfigurationPersisted method to validate and save stage advancements, ensuring proper configuration before advancing stages.
- Updated advanceStage method to call ensureStageConfigurationPersisted, improving the flow of tournament advancement.
- Introduced primary action buttons in TournamentResultsTab for starting and resetting knockout rounds, enhancing user interaction during tournament management.
- Styled results-primary-actions for better visibility and usability in the results tab.
2026-03-28 11:15:38 +01:00
Torsten Schulz (local)
7fdbe85d3c feat(TournamentService, TournamentConfigTab): enhance tournament advancement logic and knockout stage handling
- Introduced a new function to compare advancement candidates based on multiple criteria, improving the selection process for tournament participants.
- Updated participant data structure to include additional metrics for better ranking and comparison.
- Enhanced the TournamentConfigTab to automatically configure knockout stage settings when applicable, ensuring a smoother user experience during tournament setup.
2026-03-28 11:09:40 +01:00
Torsten Schulz (local)
adefb120c0 feat(TournamentResultsTab, TournamentTab): add knockout operation handling
- Introduced knockoutOperationInProgress state to manage button states during knockout operations in TournamentResultsTab.vue.
- Updated button elements to disable during ongoing operations, enhancing user experience and preventing multiple submissions.
- Integrated knockoutOperationInProgress state in TournamentTab.vue to control the flow of knockout-related actions.
2026-03-28 10:57:29 +01:00
Torsten Schulz (local)
9d023b534d feat(SEO, Sitemap, Routing): enhance SEO and sitemap for new features
- Updated update-sitemap.sh to include new URLs for Vereinssoftware, Mitgliederverwaltung, Trainingsplanung, and Turniersoftware with appropriate lastmod dates and change frequencies.
- Enhanced server.js and seo.js with SEO configurations for the new pages, ensuring proper indexing and descriptions.
- Added new routes in router.js for the additional features, improving navigation and user access.
- Updated Home.vue to include links to the new features, enhancing user engagement and visibility.
2026-03-27 11:42:11 +01:00
Torsten Schulz (local)
a7d3e5b094 feat(Sitemap, SEO): update sitemap generation and SEO configurations
- Enhanced update-sitemap.sh to generate a new sitemap structure with lastmod dates for additional URLs.
- Updated SEO configurations in server.js and seo.js to allow indexing for impressum and datenschutz pages.
- Introduced a list of noindex prefixes to manage SEO settings dynamically based on route paths.
- Added structured FAQ schema in index.html to improve search engine visibility and user engagement.
2026-03-27 11:22:55 +01:00
Torsten Schulz (local)
ddb3025b84 feat(App): improve layout responsiveness and overflow handling
- Added min-width and max-width properties to App.vue for better layout control.
- Enhanced main-content and content classes with overflow-x hidden and box-sizing border-box to improve responsiveness and prevent overflow issues.
2026-03-27 10:57:52 +01:00
Torsten Schulz (local)
85cf0d0ddc feat(ScheduleLayoutShell, ScheduleView): refine layout and responsiveness
- Enhanced ScheduleLayoutShell.vue with improved width and box-sizing properties for better layout management.
- Updated ScheduleView.vue to ensure consistent width handling and overflow properties, enhancing mobile responsiveness and user experience.
2026-03-27 10:51:41 +01:00
Torsten Schulz (local)
37f9ba83aa feat(ScheduleLayoutShell, ScheduleView): enhance layout and overflow handling
- Updated ScheduleLayoutShell.vue to improve overflow properties and ensure better layout management for tab panels and workspace components.
- Enhanced ScheduleView.vue with max-width adjustments and touch-action properties for improved responsiveness and user interaction on mobile devices.
2026-03-27 10:23:54 +01:00
Torsten Schulz (local)
32ba433008 feat(AutoFetchMatchResultsService, ScheduleView): enhance date and time parsing for match results
- Implemented a new method in AutoFetchMatchResultsService to parse match date and time from various formats, improving robustness in handling date inputs.
- Updated storeMatchResult method to utilize the new date parsing logic, ensuring accurate match date handling.
- Enhanced ScheduleView to maintain consistent display of match dates and times, improving user experience in the schedule table.
2026-03-26 19:34:46 +01:00
Torsten Schulz (local)
c7d51efb5d feat(MatchReportApiDialog): implement meeting details polling functionality
- Added methods to start and stop polling for meeting details at regular intervals.
- Introduced logic to build a signature for meeting details to detect changes.
- Enhanced data handling to update meeting information based on the latest fetched details.
- Improved error handling during polling to ensure robustness in data retrieval.
2026-03-25 18:43:52 +01:00
Torsten Schulz (local)
c2a31d3b24 feat(Tournament): add doubles tournament support and related UI enhancements
- Updated tournamentController.js and tournamentService.js to include isDoublesTournament parameter for tournament creation and updates.
- Modified Tournament model to add isDoublesTournament field, allowing differentiation between singles and doubles tournaments.
- Enhanced frontend components (TournamentConfigTab, TournamentParticipantsTab, TournamentTab) to support doubles tournament configuration and display.
- Added internationalization keys for doubles tournament labels and hints in multiple languages.
- Improved participant assignment logic for doubles tournaments to ensure proper class assignments.
2026-03-25 11:49:47 +01:00
Torsten Schulz (local)
64090d9ff0 feat(MatchReportApiDialog, ScheduleLayoutShell, ScheduleView): enhance lineup management and layout improvements
- Updated MatchReportApiDialog.vue to improve lineup tab accessibility based on team status.
- Enhanced player selection filtering to ensure only valid players are displayed in lineups.
- Modified ScheduleLayoutShell.vue to adjust overflow properties for better layout handling.
- Improved ScheduleView.vue with new methods for sorting matches by date and combining league matches, enhancing match display and user experience.
- Added sticky header styling for better visibility in match lists.
2026-03-25 10:12:50 +01:00
Torsten Schulz (local)
02f1bed452 feat(MemberOrders): implement member orders feature
- Added new models and routes for managing member orders and order history.
- Updated server.js to include member order routes and sync functionality.
- Enhanced frontend with new components and dialogs for viewing and managing orders.
- Integrated internationalization support for order-related texts across multiple languages.
- Updated navigation and views to include access to the new orders feature, improving user experience.
2026-03-24 17:01:57 +01:00
Torsten Schulz (local)
e55ee0f88a style(App): update navigation icons for improved clarity
- Replaced navigation icons in App.vue to better represent their respective sections, enhancing user experience and visual consistency.
2026-03-20 10:53:58 +01:00
Torsten Schulz (local)
128b13c679 style(App): add padding adjustment for collapsed sidebar
- Introduced a new CSS rule to add top padding to the sidebar content when the sidebar is collapsed, improving layout consistency and visual appearance.
2026-03-20 10:43:23 +01:00
Torsten Schulz (local)
65d464eab9 style(App, ScheduleLayoutShell, ScheduleView): enhance layout for full-height routes
- Updated App.vue to conditionally apply full-height styles based on the current route.
- Modified ScheduleLayoutShell.vue to ensure proper height and overflow handling for better layout consistency.
- Adjusted ScheduleView.vue to support full-height content display, improving user experience on specific routes.
2026-03-20 10:40:42 +01:00
Torsten Schulz (local)
5a9e5913a6 style(DiaryParticipantsPanel, Home): enhance layout and responsiveness
- Added horizontal overflow to the diary sidebar for better content management.
- Updated participant row layout to use CSS grid for improved alignment and spacing.
- Adjusted participant name styling to prevent overflow and ensure text is truncated with ellipsis.
- Introduced new authentication action buttons in Home.vue for better user access to registration and login.
- Enhanced mobile responsiveness of the Home view with updated flex and grid properties.
2026-03-20 10:33:38 +01:00
Torsten Schulz (local)
80f8934bc8 style(ScheduleView): improve table responsiveness and layout
- Added minimum widths to player selection table and player name for better layout consistency.
- Adjusted checkbox cell width and added minimum width for improved alignment.
- Enhanced mobile responsiveness with media queries for table padding and minimum widths, ensuring a better user experience on smaller screens.
2026-03-20 10:27:21 +01:00
Torsten Schulz (local)
36690980b7 feat(ViteConfig, App, Router, DialogManager, MembersView, ScheduleView, ClubView, Home, TournamentsView, TrainingStatsView): enhance performance and responsiveness
- Updated Vite configuration to improve chunking strategy and set a chunk size warning limit.
- Refactored App.vue and DialogManager.vue to utilize async component loading for better performance.
- Modified router.js to implement lazy loading for various views, optimizing initial load times.
- Enhanced MembersView, ScheduleView, ClubView, and TournamentsView with responsive design adjustments for improved mobile usability.
- Improved styling and layout in Home.vue and TrainingStatsView to enhance user experience across different screen sizes.
2026-03-20 10:20:48 +01:00
Torsten Schulz (local)
cc6d1f6ebe feat(App, ScheduleView): implement mobile club picker and location dialog
- Added a mobile club picker dialog to enhance club selection on mobile devices, allowing users to select or create a club easily.
- Introduced a location dialog in ScheduleView to display match location details, improving user experience when viewing schedules.
- Updated internationalization files to include new translation keys for mobile club picker hints and location information.
- Enhanced responsive design in various components to ensure a seamless experience across different viewport sizes.
2026-03-20 10:02:38 +01:00
Torsten Schulz (local)
cbc5054f1f feat(i18n, CourtDrawingTool, MembersOverviewSection): enhance internationalization and UI components
- Added new i18n keys for improved translations in the CourtDrawingTool and MembersOverviewSection components.
- Updated CourtDrawingTool to utilize translation keys for various UI elements, enhancing user experience and accessibility.
- Enhanced MembersOverviewSection with translation support for search and filter functionalities, improving usability for non-German speakers.
- Introduced new scripts in package.json for i18n auditing and status checking, streamlining localization management.
2026-03-20 09:05:15 +01:00
Torsten Schulz (local)
542d741428 feat(MembersOverview, MembersView): add training group filtering and display enhancements
- Introduced a new training group filter in MembersOverviewSection for improved member management.
- Updated MembersView to support the new training group selection and display last training date for members.
- Enhanced computed properties to dynamically generate training group options based on member data.
- Improved filtering logic to include selected training group, refining member search capabilities.
2026-03-19 16:10:39 +01:00