import React, { useState, useEffect } from 'react' import { Link } from 'react-router-dom' import api from '../utils/api' function ExercisesListPage() { const [exercises, setExercises] = useState([]) const [focusAreas, setFocusAreas] = useState([]) const [loading, setLoading] = useState(true) const [filters, setFilters] = useState({ focus_area: '', visibility: '', status: '', }) useEffect(() => { loadData() }, [filters]) const loadData = async () => { try { const [exercisesData, focusAreasData] = await Promise.all([ api.listExercises(filters), api.listFocusAreas(), ]) setExercises(exercisesData) setFocusAreas(focusAreasData) } catch (err) { console.error('Failed to load data:', err) alert('Fehler beim Laden: ' + err.message) } finally { setLoading(false) } } const handleDelete = async (exercise) => { if (!confirm(`Übung "${exercise.title}" wirklich löschen?`)) return try { await api.deleteExercise(exercise.id) await loadData() } catch (err) { alert('Fehler beim Löschen: ' + err.message) } } if (loading) { return (
Laden...
Keine Übungen gefunden. Lege jetzt deine erste Übung an!
{exercise.summary}
)}