"use client" import type React from "react" import { useState, useEffect } from "react" import { useHistory } from "react-router-dom" import BottomNavigation from "../components/BottomNavigation" import HeaderNav from "../components/HeaderNav" import video from "../assets/video.mov" const Exercise: React.FC = () => { const history = useHistory() // const { id } = useParams<{ id: string }>() const [isPlaying, setIsPlaying] = useState(false) const [currentTime, setCurrentTime] = useState(0) const [totalTime] = useState(900) // 15 minutes in seconds const [currentSet, setCurrentSet] = useState(1) const [totalSets] = useState(3) useEffect(() => { let interval: NodeJS.Timeout | undefined if (isPlaying) { interval = setInterval(() => { setCurrentTime((prev) => { if (prev >= totalTime) { setIsPlaying(false) // Show completion animation history.push("/course-complete") return totalTime } return prev + 1 }) }, 1000) } return () => { if (interval) clearInterval(interval) } }, [isPlaying, totalTime, history]) const formatTime = (seconds: number) => { const mins = Math.floor(seconds / 60) const secs = seconds % 60 return `${mins.toString().padStart(2, "0")}:${secs.toString().padStart(2, "0")}` } const progress = (currentTime / totalTime) * 100 const PlayIcon = () => ( ) const PauseIcon = () => ( ) const RefreshIcon = () => ( ) const CheckIcon = () => ( ) const exerciseSteps = [ { title: "Исходное положение", description: "Лягте на спирку на коврик. Руки вдоль тела, ладони прижаты к полу. Ноги выпрямлены, носки направлены вверх. Поясница плотно прижата к полу.", }, { title: "Задание", description: "Медленно поднимите прямые ноги до угла 90 градусов. Задержитесь на 2 секунды, затем медленно опустите ноги, не касаясь пола. Повторите движение плавно и контролируемо.", }, { title: "Подходы", description: "Выполните 3 подхода по 12 повторений с отдыхом 60 секунд между подходами.", }, { title: "Перерыв", description: "Отдыхайте 60 секунд между подходами. Дышите спокойно и расслабьте мышцы.", }, { title: "Динамика и статика", description: "Динамическая фаза: подъем и опускание ног выполняется плавно, 2 секунды вверх, 2 секунды вниз. Статическая фаза: удержание ног в верхней точке на 2 секунды.", }, ] return (
{/* Video/Image Section */}
{/* Exercise Steps - Vertical Scroll */}
{exerciseSteps.map((step, index) => (

{step.title}

{step.description}

))}
{/* Fixed Timer at Bottom */}
Подход {currentSet} из {totalSets}
{formatTime(currentTime)} / {formatTime(totalTime)}
) } export default Exercise