feat(02-02): wire deleteLog through App.jsx and WorkoutPage to ExerciseCard
- Added deleteLog function in App.jsx: calls DELETE /api/logs and removes entry from local logs state
- Passed onDeleteSet={deleteLog} to WorkoutPage in workout view render
- Updated WorkoutPage function signature to accept onDeleteSet prop
- Passed onDeleteSet through to each ExerciseCard (ExerciseCard already calls it in handleDeleteSet)
- Non-logged sets (404 from backend) silently ignored via catch block
This commit is contained in:
@@ -90,6 +90,28 @@ function App() {
|
||||
}
|
||||
}
|
||||
|
||||
const deleteLog = async (programExerciseId, setNumber) => {
|
||||
try {
|
||||
await fetch(`${API_URL}/logs`, {
|
||||
method: 'DELETE',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
user_id: userId,
|
||||
program_exercise_id: programExerciseId,
|
||||
date: today,
|
||||
set_number: setNumber
|
||||
})
|
||||
})
|
||||
// Remove from local logs state
|
||||
setLogs(prev => ({
|
||||
...prev,
|
||||
[programExerciseId]: (prev[programExerciseId] || []).filter(l => l.set_number !== setNumber)
|
||||
}))
|
||||
} catch (err) {
|
||||
console.error('Failed to delete log:', err)
|
||||
}
|
||||
}
|
||||
|
||||
const startWorkout = async (day) => {
|
||||
await fetchProgram() // Ensure program is loaded
|
||||
setSelectedDay(day)
|
||||
@@ -135,6 +157,7 @@ function App() {
|
||||
week={currentWeek}
|
||||
logs={logs}
|
||||
onLogSet={logSet}
|
||||
onDeleteSet={deleteLog}
|
||||
onBack={() => setView('dashboard')}
|
||||
fetchProgression={fetchProgression}
|
||||
/>
|
||||
|
||||
@@ -47,7 +47,7 @@ function getMuscleGroups(exercises) {
|
||||
return Array.from(groups)
|
||||
}
|
||||
|
||||
function WorkoutPage({ day, week, logs, onLogSet, onBack, fetchProgression }) {
|
||||
function WorkoutPage({ day, week, logs, onLogSet, onDeleteSet, onBack, fetchProgression }) {
|
||||
const [progressions, setProgressions] = useState({})
|
||||
const [expandedExercise, setExpandedExercise] = useState(null)
|
||||
const [warmupDone, setWarmupDone] = useState(false)
|
||||
@@ -239,6 +239,7 @@ function WorkoutPage({ day, week, logs, onLogSet, onBack, fetchProgression }) {
|
||||
expandedExercise === exercise.id ? null : exercise.id
|
||||
)}
|
||||
onLogSet={onLogSet}
|
||||
onDeleteSet={onDeleteSet}
|
||||
/>
|
||||
))}
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user