From 9b709f3bb791ed0e97a5949003425a32cbe84082 Mon Sep 17 00:00:00 2001 From: Tatyana Date: Fri, 29 Aug 2025 14:07:13 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BD=D0=B5=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BA=D1=83=20=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=BE=D1=82=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/CourseExercises.tsx | 44 +++++++++++++---------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/src/pages/CourseExercises.tsx b/src/pages/CourseExercises.tsx index 7db2412..a050671 100644 --- a/src/pages/CourseExercises.tsx +++ b/src/pages/CourseExercises.tsx @@ -97,32 +97,29 @@ export const CourseExercises = () => { + const uniqueDays = Array.from(new Set(course_exercises.map(ex => ex.day))).sort((a, b) => a - b); + + const dayMap: { [key: number]: number } = {}; + + uniqueDays.forEach((day, index) => { + dayMap[day] = index + 1; // номера начинаются с 1 + }); + + const daysNav = uniqueDays.map(day => dayMap[day]); + + const days = Array.from(new Set(course_exercises.map(ex => ex.day))).sort((a, b) => a - b); const filteredExercises = selectedDay !== null ? course_exercises.filter(ex => ex.day === selectedDay) : course_exercises; - const allExercises = course_exercises; - const uniqueDays = Array.from(new Set(allExercises.map(ex => ex.day))).sort((a, b) => a - b); - const dayMap: { [key: number]: number } = {}; - uniqueDays.forEach((day, index) => { - dayMap[day] = index + 1; // номера начинаются с 1 - }); -const daysNav = uniqueDays.map(day => dayMap[day]); - - const days = Array.from(new Set(course_exercises.map(ex => ex.day))).sort((a, b) => a - b); - - - - - //тут выводим дни из БД return ( -
+
{/* Это выражение использует оператор опциональной цепочки (?.) и оператор нулевого слияния (??). Если course не null и не undefined, то взять его свойство title, иначе — вернуть undefined*/} @@ -132,18 +129,16 @@ const daysNav = uniqueDays.map(day => dayMap[day]);

Упражнения

Количество упражнений: {course_exercises.length}
-

{uniqueDays}

- + {/*

{JSON.stringify(course_exercises)}

*/} -{daysNav} {/* Кнопки выбора дня */} {days.length > 1 && (
- {days.map((day) => ( + {days.map((day, index) => ( ))}
)} - {/* надо делать по индексу, чтоб шло по порядку - {filteredExercises - .filter(item => item.deleted_at === null) // фильтруем по условию - .length > 0 ? ( - filteredExercises - .filter(item => item.deleted_at === null) - - */} +
{filteredExercises.length > 0 ? (