db8af53652
refactor: update navigation components and styles for improved consistency
...
Deploy Development / deploy (push) Successful in 34s
Test Suite / pytest-backend (push) Successful in 6s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 28s
- Replaced legacy .capture-shell with .app-subnav-shell and integrated PageSectionNav for a unified navigation experience across multiple pages.
- Refactored AdminCatalogsPage, AdminMaturityModelsPage, ClubsPage, ExercisesListPage, MediaWikiImportPage, SkillsPage, and TrainingFrameworkProgramEditPage to utilize the new PageSectionNav component for tab navigation.
- Enhanced CSS styles for better responsiveness and visual clarity in navigation elements.
- Improved accessibility features with appropriate ARIA roles and attributes for better usability.
2026-05-06 12:49:35 +02:00
657f73d2c5
feat: enhance admin catalog UI and functionality
...
Deploy Development / deploy (push) Successful in 36s
Test Suite / pytest-backend (push) Successful in 7s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 27s
- Added new CSS styles for admin catalog sections, improving layout and responsiveness.
- Implemented icon support for catalog section titles, enhancing visual clarity.
- Refactored loading and error states for better user experience in the CatalogsTab and HierarchyTab components.
- Updated AdminCatalogsPage to utilize new styles and improve tab navigation.
- Enhanced accessibility with appropriate ARIA roles and attributes for better usability.
2026-05-06 11:12:59 +02:00
8c9c97bedb
refactor: simplify page layout for improved responsiveness
...
Deploy Development / deploy (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 40s
- Removed constrained width classes from multiple pages to allow full-width layout, enhancing adaptability on larger screens.
- Updated app.css to eliminate unnecessary max-width properties, ensuring a more fluid design across various components.
- Adjusted styles in Navigation and other pages for consistent full-width presentation, improving user experience on diverse devices.
2026-05-05 12:41:59 +02:00
83ee300192
refactor: enhance layout and responsiveness across multiple pages
...
Deploy Development / deploy (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 40s
- Updated app.css to improve responsive design, introducing new classes for consistent page widths and grid layouts.
- Refactored various page components to utilize the new layout classes, ensuring better adaptability on different screen sizes.
- Adjusted padding and margin properties for improved visual consistency and user experience across the application.
2026-05-05 12:39:15 +02:00
89055ddbc4
feat: Admin page navigation with MediaWiki Import link
...
Deploy Development / deploy (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m55s
- New AdminPageNav component with horizontal navigation
- Links to Hierarchie / Kataloge / Wiki-Import
- Integrated in all 3 admin pages
- Uses lucide-react icons (TreePine, FolderTree, Download)
- Active state tracking via useLocation
- Mobile-friendly with flexbox layout
Navigation flow:
/admin/hierarchy → /admin/catalogs → /admin/mediawiki-import
2026-04-24 17:03:13 +02:00
fe5d29e40e
feat: Training Types → Focus Area Hierarchie
...
Deploy Development / deploy (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m55s
Migration 013:
- Adds focus_area_id to training_types (context-specific types)
- Migrates existing data to Karate focus area
- Seeds focus-area-specific training types:
* Karate: Dan-Vorbereitung
* Gewaltschutz: Präventivkurse, Intensivtraining, Spezialkurse
* Fitness: Gesundheitssport, Funktionelles Training
- Updates unique constraint to (name, focus_area_id)
Backend (catalogs.py):
- list_training_types: Added focus_area_id filter, LEFT JOIN focus_areas
- create_training_type: Added focus_area_id parameter
- update_training_type: Added focus_area_id parameter
- Enriched responses with focus_area_name and focus_area_icon
Frontend (AdminCatalogsPage):
- Added Fokusbereich dropdown to create form
- Added Fokusbereich dropdown to edit form
- Display shows focus_area_icon and focus_area_name
- Training types now context-specific to focus areas
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-23 15:29:23 +02:00
9f44cff77b
fix: Stilrichtungen → Fokusbereich Zuordnung (focus_area_id)
...
Deploy Development / deploy (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m54s
Problem: Stilrichtungen-Tab zeigte falsches Feld 'Übergeordneter Stil' (parent_style_id)
Lösung: Fokusbereich-Dropdown (focus_area_id) für Hierarchie
Backend (catalogs.py):
- INSERT: focus_area_id Parameter hinzugefügt
- UPDATE: focus_area_id Parameter hinzugefügt
- SELECT: LEFT JOIN focus_areas für focus_area_name + icon
- Response enriched mit focus_area_name/icon
Frontend (AdminCatalogsPage.jsx):
- newTS State: parent_style_id → focus_area_id
- Create Form: Fokusbereich-Dropdown statt 'Übergeordneter Stil'
- Edit Form: Fokusbereich-Dropdown mit focusAreas
- Display: Zeigt Fokusbereich-Icon + Name (accent color)
- parent_style_id bleibt für optionale Stil-Hierarchien
Jetzt kann Hierarchie korrekt angelegt werden:
✅ Karate → Goju-Ryu
✅ Karate → Shotokan
✅ Gewaltschutz → (eigene Stilrichtungen)
version: 0.5.0
module: catalogs 1.5.0, AdminCatalogsPage 2.2.0
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-23 14:36:02 +02:00
9ab2bd31fa
fix: Update onClick handlers to use renamed functions
...
Deploy Development / deploy (push) Successful in 37s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m55s
- createTrainingStyle → createStyleDirection
- updateTrainingStyle → updateStyleDirection
- deleteTrainingStyle → deleteStyleDirection
Fixes: Stilrichtungen tab showed blank screen due to undefined function calls
version: 0.4.0 (frontend)
module: AdminCatalogsPage 2.2.0
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-23 12:57:23 +02:00
426efd4b83
fix: Frontend API Calls & Field Names für renamed tables
...
Deploy Development / deploy (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 1m55s
- Updated api.js function names:
- listTrainingStyles → listStyleDirections
- createTrainingStyle → createStyleDirection
- updateTrainingStyle → updateStyleDirection
- deleteTrainingStyle → deleteStyleDirection
- listTrainingStyleTargetGroups → listStyleDirectionTargetGroups
- createTrainingStyleTargetGroup → createStyleDirectionTargetGroup
- updateTrainingStyleTargetGroup → updateStyleDirectionTargetGroup
- deleteTrainingStyleTargetGroup → deleteStyleDirectionTargetGroup
- getTrainingStylesHierarchy → getStyleDirectionsHierarchy
- Updated AdminCatalogsPage.jsx:
- loadData() uses renamed API functions
- CRUD functions renamed (createStyleDirection, etc.)
- Matrix uses style_direction_id parameter
- Hierarchy renders style_directions array
- Fixes data binding between frontend and backend after table rename
version: 0.4.0 (frontend)
module: AdminCatalogsPage 2.2.0
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-23 12:27:09 +02:00
a9a4c78a0e
feat: Admin-UI Trainingsstil-Dimension + Umbenennung
...
Deploy Development / deploy (push) Successful in 33s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m54s
Admin-UI Erweiterung:
1. Tab "Trainingsstile" → "Stilrichtungen" umbenannt
- Überschrift: "Neue Stilrichtung" (statt Trainingsstil)
- Tab-Label: "Stilrichtungen"
2. Neuer Tab "Trainingsstil" (Breitensport/Leistungssport)
- CRUD-UI: Create/Update/Delete
- Felder: Name, Kürzel (abbreviation), Beschreibung
- State: trainingTypes, editingTT, newTT
- Funktionen: createTrainingType, updateTrainingType, deleteTrainingType
- Load-Logik: activeTab === 'training-types'
Tab-Reihenfolge:
- Fokusbereiche → Stilrichtungen → Trainingsstil → Hierarchie → Zielgruppen → Zuordnungen
Pattern: Konsistent mit anderen Katalog-Tabs
Version: AdminCatalogsPage 2.1.0
2026-04-23 12:17:31 +02:00
f243b236be
feat: Phase C - Admin-UI M:N Hierarchie & Matrix
...
Deploy Development / deploy (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 2m1s
Frontend Admin-UI Refactoring (komplett):
1. Target Groups Tab überarbeitet (Global):
- training_style_id Dropdown entfernt (Create + Edit)
- Hierarchie-Anzeige entfernt (jetzt global unabhängig)
- Nur noch Name, Beschreibung, Altersbereich
2. Neuer Tab 'Hierarchie' (Tree-View):
- Fokusbereich → Trainingsstil → Zielgruppen
- Expandable/Collapsible Nodes (▶/▼)
- is_primary Kennzeichnung (★)
- Hierarchische Darstellung mit Einrückung
3. Neuer Tab 'Zuordnungen' (M:N Matrix):
- Checkbox-Matrix: Stile × Zielgruppen
- Live-Toggle (Checkbox on/off)
- Focus Area Kontext bei jedem Stil
- is_primary Flag Anzeige (★)
UX:
- Tab-Reihenfolge: Fokusbereiche → Stile → Hierarchie → Zielgruppen → Zuordnungen
- Responsive Tabelle mit Overflow-Scroll
- Konsistente Card-basierte Layouts
Version: 0.3.4
Page: AdminCatalogsPage 2.0.0
2026-04-23 10:55:35 +02:00
278d719e84
feat: Zielgruppen-Verwaltung (Target Groups CRUD + Admin UI)
...
Deploy Development / deploy (push) Successful in 32s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m54s
Backend:
- GET /api/target-groups: Liste mit hierarchischem Kontext (focus_area → training_style → target_group)
- POST /api/target-groups: Create (admin only)
- PUT /api/target-groups/{id}: Update (admin only)
- DELETE /api/target-groups/{id}: Delete (superadmin only) mit CASCADE-Schutz
- Filter: by training_style_id, status
Frontend:
- api.js: listTargetGroups, createTargetGroup, updateTargetGroup, deleteTargetGroup
- AdminCatalogsPage: Neuer Tab "Zielgruppen" (6. Tab)
- Create-Form: training_style_id, name, description, min_age, max_age
- List-View: Hierarchie-Anzeige (Fokusbereich → Stil → Zielgruppe + Altersbereich)
- Inline-Editing mit Stil-Auswahl-Dropdown
- Delete mit Confirmation Dialog
Architektur:
- Hierarchische Beziehung: target_groups.training_style_id → training_styles → focus_areas
- CASCADE-Protection: DELETE verweigert wenn exercise_target_groups Einträge existieren
- Backend liefert enriched data mit training_style_name + focus_area_name
version: 0.3.2
modules: catalogs 1.2.0
pages: AdminCatalogsPage 1.1.0
2026-04-23 08:55:54 +02:00
c7cda03201
feat: Admin-managed exercise catalogs + frontend integration
...
Deploy Development / deploy (push) Successful in 41s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 6s
Test Suite / playwright-tests (push) Failing after 1m57s
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
2026-04-23 07:52:03 +02:00