diff --git a/src/renderer/src/components/ExerciseEditor.tsx b/src/renderer/src/components/ExerciseEditor.tsx index 09a81ab..507c9ac 100644 --- a/src/renderer/src/components/ExerciseEditor.tsx +++ b/src/renderer/src/components/ExerciseEditor.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from 'react' +import { Zap } from 'lucide-react' import type { Exercise } from '@shared/types' import { Modal } from './ui/Modal' import { Button } from './ui/Button' @@ -27,7 +28,12 @@ type Props = { onSave: (draft: Draft) => void } -export function ExerciseEditor({ open, exercise, onClose, onSave }: Props): JSX.Element { +export function ExerciseEditor({ + open, + exercise, + onClose, + onSave +}: Props): JSX.Element { const [draft, setDraft] = useState(EMPTY) useEffect(() => { @@ -63,6 +69,32 @@ export function ExerciseEditor({ open, exercise, onClose, onSave }: Props): JSX. } >
+ {/* Preview card */} +
+
+
+
+
+
+ +
+
+
+
+ Preview +
+
+ {draft.name || 'Без названия'} +
+
+ + {draft.reps} + повторов · каждые {draft.intervalMinutes} мин +
+
+
+
+ setDraft({ ...draft, reps: Math.max(1, Number(e.target.value) || 1) }) } - className="input" + className="input font-mono-num font-semibold" /> @@ -96,7 +128,7 @@ export function ExerciseEditor({ open, exercise, onClose, onSave }: Props): JSX. intervalMinutes: Math.max(1, Number(e.target.value) || 1) }) } - className="input" + className="input font-mono-num font-semibold" />
@@ -109,10 +141,10 @@ export function ExerciseEditor({ open, exercise, onClose, onSave }: Props): JSX. type="button" onClick={() => setDraft({ ...draft, icon: name })} className={[ - 'h-10 w-10 grid place-items-center rounded-lg border transition-colors', + 'h-10 w-10 grid place-items-center rounded-lg border transition-all', draft.icon === name - ? 'border-accent bg-accent/15 text-accent' - : 'border-border bg-surface-elevated text-muted hover:text-text' + ? 'border-accent bg-accent/15 text-accent shadow-glow scale-105' + : 'border-border bg-surface-elevated text-muted hover:text-text hover:border-accent/40' ].join(' ')} > @@ -152,7 +184,7 @@ function Field({ }): JSX.Element { return (