From 64d2b21cc0217103668e9c806bbd05d7e7e19e1c Mon Sep 17 00:00:00 2001 From: Tatyana Date: Fri, 29 Aug 2025 16:22:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D0=BF=D1=82=D0=B8=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=20=D0=B4=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D1=88=D0=BD=D0=B5=D0=B9=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=86=D1=8B/=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2=20UX?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/cards/WorkoutCardHome.tsx | 4 ++-- src/pages/CourseExercises.tsx | 1 + src/pages/Courses.tsx | 11 ++++++++-- src/pages/Home.tsx | 26 ++++++++++-------------- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/components/cards/WorkoutCardHome.tsx b/src/components/cards/WorkoutCardHome.tsx index 53513dc..5511726 100644 --- a/src/components/cards/WorkoutCardHome.tsx +++ b/src/components/cards/WorkoutCardHome.tsx @@ -13,7 +13,7 @@ export const WorkoutCardHome: React.FC = ({ onBackClick, onCar return (
{/* Заголовок и статус */}
@@ -37,7 +37,7 @@ export const WorkoutCardHome: React.FC = ({ onBackClick, onCar
{/* Основной блок с иконками и прогрессом */} -
+
{/* Иконка часов */}
diff --git a/src/pages/CourseExercises.tsx b/src/pages/CourseExercises.tsx index 07b8368..a086d63 100644 --- a/src/pages/CourseExercises.tsx +++ b/src/pages/CourseExercises.tsx @@ -37,6 +37,7 @@ export const CourseExercises = () => { const location = useLocation<{ course?: Course }>(); const course = location.state?.course; + const [course_exercises, setExercises] = useState([]); const [selectedDay, setSelectedDay] = useState(null); diff --git a/src/pages/Courses.tsx b/src/pages/Courses.tsx index 50a1b72..4b23d9b 100644 --- a/src/pages/Courses.tsx +++ b/src/pages/Courses.tsx @@ -9,11 +9,14 @@ import HeaderNav from "../components/HeaderNav"; import { connect } from '../confconnect'; import { getRouteCourseExercises } from '../shared/consts/router'; +import type { CourseExercises } from './CourseExercises'; + export interface Course { ID: number; title: string; desc: string; url_file_img: string; + course_exercises: CourseExercises; } @@ -54,6 +57,8 @@ export const Courses = () => { const [error, setError] = useState(''); const token = localStorage.getItem('authToken'); + const [course_exercises, setExercises] = useState([]); + useEffect(() => { console.log(token) if (!token) { @@ -67,7 +72,8 @@ export const Courses = () => { }, }) .then(response => { - console.log('Response status:', response.status); + console.log('Response status:', response.data); + setExercises(response.data.courses.course_exercises); // Предполагаемая структура: // response.data.courses — массив пользователей @@ -125,6 +131,7 @@ export const Courses = () => { +
{error && (
@@ -185,7 +192,7 @@ export const Courses = () => { {/* Информация о прогрессе */}

{progress}% завершено

-

{Math.floor(Math.random() * 15) + 5} упражнений

+

{course_exercises} упражнений

diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 991b73a..efa0a29 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -84,29 +84,25 @@ export default function Home() { return (
- + -
-
-
-

Добрый день!

-
-
-

{currentDate}

-
+
+
+ +
-
Все курсы
+
Все курсы
{totalCourses}/1
-
Все упражнения
+
Все упражнения
{totalExercises}/4
-
+
{/* Quick Stats (Total Exercises & Total Courses) */} -
+