From 1631bd2e0246223e6a43aac948b7f19d888f710d Mon Sep 17 00:00:00 2001 From: Lars Date: Thu, 14 May 2026 12:30:04 +0200 Subject: [PATCH] chore(version): update version and changelog for release 0.8.124 - Bumped APP_VERSION to 0.8.124 and updated the changelog to reflect recent changes. - Introduced the ExerciseListBulkToolbar component in ExercisesListPage for improved bulk action handling. - Enhanced the user interface for selecting and managing exercises in bulk. --- backend/version.py | 9 ++++++- .../exercises/ExerciseListBulkToolbar.jsx | 27 +++++++++++++++++++ frontend/src/pages/ExercisesListPage.jsx | 23 +++++----------- 3 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 frontend/src/components/exercises/ExerciseListBulkToolbar.jsx diff --git a/backend/version.py b/backend/version.py index 7364ece..35133a5 100644 --- a/backend/version.py +++ b/backend/version.py @@ -1,6 +1,6 @@ # Shinkan Jinkendo Version Information -APP_VERSION = "0.8.123" +APP_VERSION = "0.8.124" BUILD_DATE = "2026-05-12" DB_SCHEMA_VERSION = "20260514062" @@ -36,6 +36,13 @@ MODULE_VERSIONS = { } CHANGELOG = [ + { + "version": "0.8.124", + "date": "2026-05-13", + "changes": [ + "Frontend Phase 3 (Teil): ExerciseListBulkToolbar-Komponente; Übungsliste nur Verdrahtung.", + ], + }, { "version": "0.8.123", "date": "2026-05-13", diff --git a/frontend/src/components/exercises/ExerciseListBulkToolbar.jsx b/frontend/src/components/exercises/ExerciseListBulkToolbar.jsx new file mode 100644 index 0000000..1e1ea18 --- /dev/null +++ b/frontend/src/components/exercises/ExerciseListBulkToolbar.jsx @@ -0,0 +1,27 @@ +import React from 'react' + +export default function ExerciseListBulkToolbar({ + selectedCount, + bulkMaxIds, + onClearSelection, + onOpenBulkModal, +}) { + if (selectedCount < 1) return null + + return ( +
+ {selectedCount} ausgewählt + + + + Bis zu {bulkMaxIds} pro Anfrage. Für „Verein“ ohne Auswahl: aktiver Vereinskontext ( + X-Active-Club-Id + ). + +
+ ) +} diff --git a/frontend/src/pages/ExercisesListPage.jsx b/frontend/src/pages/ExercisesListPage.jsx index 5e2473b..b6a8e88 100644 --- a/frontend/src/pages/ExercisesListPage.jsx +++ b/frontend/src/pages/ExercisesListPage.jsx @@ -8,6 +8,7 @@ import ExerciseListCard from '../components/exercises/ExerciseListCard' import ExerciseListFilterModal from '../components/exercises/ExerciseListFilterModal' import ExerciseListBulkModal from '../components/exercises/ExerciseListBulkModal' import ExerciseListSearchBar from '../components/exercises/ExerciseListSearchBar' +import ExerciseListBulkToolbar from '../components/exercises/ExerciseListBulkToolbar' import { buildExerciseListFilterChips } from '../utils/exerciseListFilterChips' import { applyDashboardExerciseListUrl, buildExerciseListQueryBase } from '../utils/exerciseListQuery' import { useExerciseListCatalogsAndQuery } from '../hooks/useExerciseListCatalogsAndQuery' @@ -474,22 +475,12 @@ function ExercisesListPage() { onToggleSelectAllPage={toggleSelectAllPage} /> - {selectedIds.size > 0 ? ( -
- {selectedIds.size} ausgewählt - - - - Bis zu {BULK_MAX_IDS} pro Anfrage. Für „Verein“ ohne Auswahl: aktiver Vereinskontext ( - X-Active-Club-Id - ). - -
- ) : null} +