- Replaced loading state with listFetching for clearer intent in managing exercise list fetching.
- Introduced search title suggestions for improved user experience during exercise searches.
- Updated UI elements to reflect changes in loading states and added datalist for search inputs, enhancing usability.
- Adjusted text for loading indicators to provide a more localized experience.
- Added support for saving and restoring text selection in the RichTextEditor, improving user experience during formatting.
- Updated CSS styles for the RichTextEditor to enhance list formatting and overall appearance.
- Introduced new ExerciseVariantFields component to streamline the editing of exercise variants, including fields for variant name, description, execution changes, and more.
- Enhanced ExerciseFormPage to manage exercise variants more effectively, including improved state handling and UI updates for variant selection.
- Incremented application version to 0.7.9 and updated changelog to reflect new features.
- Added support for creating, updating, and deleting exercise variants via new API endpoints.
- Implemented functionality for reordering exercise variants, improving user experience in managing exercise options.
- Enhanced frontend components to display and manage exercise variants, including detailed information and editing capabilities.
- Incremented application version to 0.7.8 and updated database schema version to 20260427030.
- Added support for including exercise variants in the exercise listing API, improving training planning capabilities.
- Enhanced training unit creation and update logic to validate exercise variant IDs, ensuring proper associations.
- Updated frontend components to support exercise variant selection, improving user experience in training planning.
- Removed the countActiveFilterGroups function and replaced it with a more comprehensive filterChips implementation to manage active filters.
- Improved the rendering of active filters with dynamic chips that allow users to remove individual filters.
- Updated the UI to reflect the new filtering logic, enhancing user experience and interaction with the filter options.
- Adjusted the layout and styling for better visibility and usability of the filter components.
- Added a new exercise filter modal with improved layout and styling for better user experience.
- Introduced initial filter state and logic to count active filter groups, enhancing the filtering capabilities on the ExercisesListPage.
- Updated CSS styles to support the new modal and improve overall UI consistency.
- Implemented keyboard accessibility for closing the filter modal, enhancing usability.
- Introduced multi-select functionality for filtering exercises by focus areas, style directions, training types, target groups, and skills, allowing users to select multiple options.
- Updated the ExercisesListPage to utilize the new multi-select component, improving the user experience for filtering exercises.
- Enhanced backend filtering logic to support new array-based query parameters, ensuring efficient handling of multiple filter criteria.
- Adjusted CSS styles for better layout and usability of the exercise filters.
- Added support for style direction mappings in the backend, allowing for improved categorization of exercises.
- Introduced a new function to normalize property synonyms, enhancing the mapping of exercise properties.
- Updated the exercise catalog assignment logic to include style directions, ensuring proper database entries.
- Enhanced the ExercisesListPage with new filtering options for style directions, improving user experience and search capabilities.
- Updated capability level mappings in the backend to reflect new terminology (e.g., "einsteiger" to "basis" and "experte" to "optimierung").
- Refactored the exercise management logic to normalize skill levels using canonical slugs, improving consistency across the application.
- Enhanced the ExercisesListPage with additional filtering options for style direction, training type, and target group, along with AI search capabilities.
- Incremented application version to 0.7.7 and updated changelog to document these changes.
- Introduced listTrainingStyles function to the API utility, enhancing the capabilities for managing training styles.
- This addition supports improved data retrieval for training-related features in the application.
- Introduced a new utility function to streamline SQL query construction for active status filtering, improving code reusability across multiple endpoints.
- Updated existing query logic in the catalogs and skills routers to utilize the new utility function, ensuring consistent handling of active status.
- Refactored the ExerciseFormPage to remove deprecated age group handling, simplifying the form structure.
- Enhanced the RichTextEditor component with improved link handling and formatting options for better user experience.
- Updated API utility functions to support new AI features for exercise suggestions and regeneration, expanding the capabilities of the exercise management system.
- Added support for training types in exercise creation and updates, allowing for better categorization of exercises.
- Implemented a rich text editor for exercise descriptions, improving content formatting capabilities.
- Updated the ExerciseDetailPage to display training types and enhanced the layout for better user experience.
- Refactored ExerciseFormPage to accommodate new multi-association fields for training styles, types, and target groups.
- Improved API payload handling to include training types and ensure proper data structure for exercise management.
- Enhanced the ExercisesListPage with improved loading and filtering functionalities for better performance.
- Introduced new API endpoints for managing exercise media, including upload, update, delete, and reorder functionalities.
- Updated the exercise creation and update logic to ensure goal and execution fields are validated and normalized.
- Refactored frontend components to support the new exercise media features, including a dedicated import section for complete stack files.
- Removed the deprecated ExercisesPage component and replaced it with a more modular structure for exercise management.
- Incremented database schema version to 20260427028 and updated changelog to reflect these changes.
- Incremented application version to 0.7.6 and updated maturity models version to 1.4.0.
- Introduced new API endpoints for exporting and importing matrix stack bundles, enhancing the capabilities for managing maturity models and context bindings.
- Updated frontend components to support the new matrix stack export and import features, including UI elements for stack management.
- Documented changes in the changelog for version 0.7.6, detailing the new matrix stack functionality and its usage.
- Incremented application version to 0.7.5 and updated maturity model version to 1.3.1.
- Improved binding logic to ensure that only relevant entries are considered based on the presence of context bindings.
- Updated documentation to clarify the behavior of binding resolution and its impact on legacy model resolution.
- Documented changes in the changelog for version 0.7.5, detailing the new binding resolution rules.
- Incremented application version to 0.7.4 and updated database schema version to 20260427027.
- Enhanced maturity model context bindings to support new filtering options for training styles.
- Introduced new API endpoints for importing and exporting maturity model bundles.
- Updated frontend components to include a matrix view and improved admin UI for managing maturity models.
- Documented changes in the changelog for version 0.7.4, detailing new features and improvements.
- Incremented application version to 0.7.3 and updated database schema version to 20260427026.
- Enhanced maturity model context bindings with new hierarchical resolution logic for focus areas, style directions, and training types.
- Added new API endpoints for managing maturity model context bindings.
- Updated frontend components to support the new context binding functionality and improved admin UI for better user experience.
- Documented changes in the changelog for version 0.7.3, including new features and improvements.
- Added new styles and layout for the maturity models admin panel, improving user experience.
- Removed unused multi-selection component for focus areas, style directions, and target groups.
- Updated skills catalog functionality to support editing and sorting of main categories and skills.
- Introduced a modal for editing main categories, categories, and skills with improved accessibility.
- Enhanced responsiveness and visual consistency across admin components.
- Introduced endpoints for managing skill main categories, including CRUD operations.
- Enhanced skills catalog endpoint to support hierarchical sorting by main category and category.
- Updated frontend API utility functions to include new skill main category operations.
- Improved admin interface for skills management with new layout and styles.
- Documented changes in the changelog for better tracking of new features and updates.
- Incremented application version to 0.7.2 and updated database schema version to 20260427025.
- Enhanced maturity models functionality to support M:N relationships for focus areas, style directions, and target groups.
- Updated frontend to allow multi-selection for focus areas, style directions, and target groups.
- Documented changes in the changelog for version 0.7.2, including new migration details and UI improvements.
- Introduced new maturity models feature with CRUD operations in the API.
- Added routes and frontend components for managing maturity models.
- Updated version to 0.7.1 with corresponding build date and schema version.
- Enhanced admin navigation to include maturity models section.
- Documented changes in the changelog for version 0.7.1.
Split 1200+ line file into clean modular architecture:
- FocusAreaNode.jsx - Tree nodes with nested style directions + training types
- HierarchyTab.jsx - Tab 1 with tree view and detail panel
- CatalogsTab.jsx - Tab 2 with global catalogs (Target Groups, Skill Categories, Training Characters)
- AssignmentsTab.jsx - Tab 3 with M:N checkbox matrix (Style Directions ↔ Target Groups)
- DetailPanel.jsx - All edit forms (Focus Area, Style Direction, Training Type) + create forms
Fixes ESBuild parser error from large file size.
Implements full CRUD: create, edit, delete, reassign focus areas.
Responsive design with mobile/desktop layouts.
Large AdminHierarchyPage.jsx (1200+ lines) causes ESBuild parser error.
Using simplified version temporarily while investigating the issue.
Broken version saved as AdminHierarchyPage.broken.jsx for debugging.
Will split into modules and restore full functionality.
Create Functions:
- '+ Neu' buttons for Style Directions and Training Types
- Create forms with focus area context
- Auto-assigns to parent focus area
- Loading states + validation
Reassignment:
- Focus area dropdown in edit forms
- Move style directions between focus areas
- Move training types between focus areas
- Updates hierarchy immediately after save
Full CRUD now complete:
- Create: new elements under focus area
- Read: tree view with nested elements
- Update: edit + reassign to different focus area
- Delete: with confirmation dialogs
Mobile + Desktop responsive design maintained.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Features:
- Edit forms for Style Directions and Training Types (working)
- Delete functions with confirmation dialogs
- Responsive layout: mobile (stacked), tablet/desktop (side-by-side)
- Back button on mobile to return to tree view
- Full CRUD except create (can use old catalogs page for now)
Mobile UX:
- Tree view fills screen
- Click item → detail panel replaces tree
- Back button → return to tree
- Safe bottom padding for navigation
Desktop UX:
- 400px tree + fluid detail panel
- Both always visible
- No back button (not needed)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Import TrainerContextsPage in App.jsx
- Add route /trainer-contexts
- Add 'Meine Bereiche' to main navigation (appNav.js)
- Icon: Target (Zielscheibe) für Trainer-Bereiche
- Visible in both desktop sidebar and mobile bottom nav
version: 0.5.0
module: TrainerContextsPage 1.0.0
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Frontend API Layer:
- 5 neue api.js Funktionen für M:N Management
- listTrainingStyleTargetGroups(filters) - Liste mit Filtern
- createTrainingStyleTargetGroup(data) - Neue Zuordnung
- updateTrainingStyleTargetGroup(id, data) - is_primary ändern
- deleteTrainingStyleTargetGroup(id) - Zuordnung löschen
- getTrainingStylesHierarchy() - Hierarchische Struktur für Tree-View
Pattern: Konsistent mit bestehenden Catalog-Funktionen
Export: Alle Funktionen zum api-Objekt hinzugefügt
Version: 0.3.4 (Phase B)
Problem: Navigation-Link zeigte /admin, aber Route war /admin/catalogs
Folge: Klick auf 'Admin' führte zu 404 (Catch-all Redirect zu /)
Fix: Redirect-Route von /admin zu /admin/catalogs hinzugefügt
version: 0.3.3
Backend (already committed):
- Migration 007: focus_areas, training_styles, training_characters, skill_categories tables
- routers/catalogs.py: 20 CRUD endpoints for all catalogs
- routers/exercises.py: Updated to support new FK fields
- Trainer focus area assignment for role-based filtering
Frontend (new):
- AdminCatalogsPage: Comprehensive admin UI with 5 tabs
- Focus Areas (with color + icon)
- Training Styles (hierarchical with parent_style_id)
- Training Characters
- Skill Categories (hierarchical)
- Trainer Assignments (trainer → focus area mapping)
- ExercisesPage: Updated to use catalog dropdowns
- Focus area dropdown now loads from API
- Added missing Training Style dropdown
- Training character dropdown now loads from API
- Uses IDs instead of hard-coded text values
- App.jsx: Added /admin/catalogs route
- api.js: Added all catalog endpoints
All form fields standardized: labels on top, full width, left-aligned
Ready for testing via /admin/catalogs