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 ? (