feat(02-01): refactor ExerciseCard to dynamic setList with add-set modal and delete-set
- Replace fixed setInputs object with setList array state - Add showAddModal state and set-type chooser modal (Vanligt set / Dropset) - handleAddNormal: append one set pre-filled from last row's weight and reps - handleAddDropset: append 3 sets at 100%/80%/60% weight (rounded to 2.5kg), 10 reps - handleDeleteSet: remove by index with last-set guard (no delete when only 1 remains) - handleComplete and handleInputChange updated to use array index (idx+1 as set_number) - Progress badge and all-done class use setList.length instead of exercise.sets - onDeleteSet prop added (optional stub for backend wiring in plan 02) - Add trash icon SVG to Icons.jsx (outline trash can, consistent with icon library)
This commit is contained in:
@@ -216,6 +216,17 @@ export const Icons = {
|
||||
</svg>
|
||||
),
|
||||
|
||||
// Actions
|
||||
trash: (
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
||||
<polyline points="3 6 5 6 21 6"/>
|
||||
<path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"/>
|
||||
<path d="M10 11v6"/>
|
||||
<path d="M14 11v6"/>
|
||||
<path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"/>
|
||||
</svg>
|
||||
),
|
||||
|
||||
// Brand
|
||||
gravl: (
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
||||
|
||||
Reference in New Issue
Block a user