"use client" import type React from "react" import { useState, useEffect } from "react" import { useHistory } from "react-router-dom" import BottomNavigation from "../components/BottomNavigation" 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 // SVG Icons const BackIcon = () => ( ) const HeartIcon = () => ( ) const PlayIcon = () => ( ) const PauseIcon = () => ( ) const RefreshIcon = () => ( ) const CheckIcon = () => ( ) const exerciseSteps = [ { title: "Исходное положение", description: "Лягте на спирку на коврик. Руки вдоль тела, ладони прижаты к полу. Ноги выпрямлены, носки направлены вверх. Поясница плотно прижата к полу.", icon: "1", }, { title: "Задание", description: "Медленно поднимите прямые ноги до угла 90 градусов. Задержитесь на 2 секунды, затем медленно опустите ноги, не касаясь пола. Повторите движение плавно и контролируемо.", icon: "2", }, { title: "Подходы", description: "Выполните 3 подхода по 12 повторений с отдыхом 60 секунд между подходами.", icon: "3", }, { title: "Перерыв", description: "Отдыхайте 60 секунд между подходами. Дышите спокойно и расслабьте мышцы.", icon: "4", }, { title: "Динамика и статика", description: "Динамическая фаза: подъем и опускание ног выполняется плавно, 2 секунды вверх, 2 секунды вниз. Статическая фаза: удержание ног в верхней точке на 2 секунды.", icon: "5", }, ] return (
{/* Header */}

Подъемы ног лежа

Упражнение 1 из 12

{/* Header */}

Подъемы ног лежа

Упражнение 1 из 12

{/* Set Counter */}
{Array.from({ length: totalSets }).map((_, index) => (
{index + 1}
))}
{/* Video/Image Section */}
Exercise demonstration
{/* Live indicators */} {isPlaying && (
LIVE
)} {/* Timer Display */}
{formatTime(currentTime)}
{/* Exercise Steps - Vertical Scroll */}
{exerciseSteps.map((step, index) => (
{step.icon}

{step.title}

{step.description}

))}
{/* Important Notes */}
!

Важные замечания

  • • Не отрывайте поясницу от пола
  • • Дышите равномерно, не задерживайте дыхание
  • • При болевых ощущениях немедленно прекратите
  • • Движения должны быть плавными и контролируемыми
{/* Fixed Timer at Bottom */}
Подход {currentSet} из {totalSets}
{formatTime(currentTime)} / {formatTime(totalTime)}
) } export default Exercise