shinkan-jinkendo/frontend/src/components/exercises/ExerciseListBulkToolbar.jsx
Lars ef4dd93324
All checks were successful
Deploy Development / deploy (push) Successful in 42s
Test Suite / pytest-backend (push) Successful in 41s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 13s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m20s
Enhance exercise card interactivity and toolbar functionality
- Added clickable behavior to exercise card body, allowing users to navigate to exercise details by clicking anywhere on the card.
- Introduced keyboard accessibility for exercise cards, enabling navigation via Enter and Space keys.
- Updated ExerciseListBulkToolbar to include a new button for saving selected exercises as a module, enhancing bulk action capabilities.
- Improved CSS styles for clickable exercise card body to indicate interactivity.
2026-05-20 06:56:58 +02:00

32 lines
1019 B
JavaScript

import React from 'react'
export default function ExerciseListBulkToolbar({
selectedCount,
bulkMaxIds,
onClearSelection,
onOpenBulkModal,
onOpenSaveModuleModal,
}) {
if (selectedCount < 1) return null
return (
<div className="card exercise-bulk-toolbar" data-testid="exercise-list-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-secondary btn-small" onClick={onOpenSaveModuleModal}>
Als Modul speichern
</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>
)
}