chore(version): update version and changelog for release 0.8.124
All checks were successful
Deploy Development / deploy (push) Successful in 39s
Test Suite / pytest-backend (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 11s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m1s
All checks were successful
Deploy Development / deploy (push) Successful in 39s
Test Suite / pytest-backend (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 11s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m1s
- 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.
This commit is contained in:
parent
2e105a99b8
commit
1631bd2e02
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
import React from 'react'
|
||||
|
||||
export default function ExerciseListBulkToolbar({
|
||||
selectedCount,
|
||||
bulkMaxIds,
|
||||
onClearSelection,
|
||||
onOpenBulkModal,
|
||||
}) {
|
||||
if (selectedCount < 1) return null
|
||||
|
||||
return (
|
||||
<div className="card exercise-bulk-toolbar">
|
||||
<strong>{selectedCount} ausgewählt</strong>
|
||||
<button type="button" className="btn btn-secondary btn-small" onClick={onClearSelection}>
|
||||
Auswahl aufheben
|
||||
</button>
|
||||
<button type="button" className="btn btn-primary btn-small" onClick={onOpenBulkModal}>
|
||||
Massenänderung…
|
||||
</button>
|
||||
<span className="exercise-bulk-toolbar__meta">
|
||||
Bis zu {bulkMaxIds} pro Anfrage. Für „Verein“ ohne Auswahl: aktiver Vereinskontext (
|
||||
<code>X-Active-Club-Id</code>
|
||||
).
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -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 ? (
|
||||
<div className="card exercise-bulk-toolbar">
|
||||
<strong>{selectedIds.size} ausgewählt</strong>
|
||||
<button type="button" className="btn btn-secondary btn-small" onClick={clearSelection}>
|
||||
Auswahl aufheben
|
||||
</button>
|
||||
<button type="button" className="btn btn-primary btn-small" onClick={openBulkModal}>
|
||||
Massenänderung…
|
||||
</button>
|
||||
<span className="exercise-bulk-toolbar__meta">
|
||||
Bis zu {BULK_MAX_IDS} pro Anfrage. Für „Verein“ ohne Auswahl: aktiver Vereinskontext (
|
||||
<code>X-Active-Club-Id</code>
|
||||
).
|
||||
</span>
|
||||
</div>
|
||||
) : null}
|
||||
<ExerciseListBulkToolbar
|
||||
selectedCount={selectedIds.size}
|
||||
bulkMaxIds={BULK_MAX_IDS}
|
||||
onClearSelection={clearSelection}
|
||||
onOpenBulkModal={openBulkModal}
|
||||
/>
|
||||
|
||||
<ExerciseListFilterModal
|
||||
open={filterModalOpen}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user