настроила отображение дней по порядку внезависимости от удаленных

This commit is contained in:
Tatyana 2025-08-29 14:07:13 +03:00
parent d47fe0d338
commit 9b709f3bb7

View File

@ -97,15 +97,10 @@ export const CourseExercises = () => {
const uniqueDays = 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 } = {}; const dayMap: { [key: number]: number } = {};
uniqueDays.forEach((day, index) => { uniqueDays.forEach((day, index) => {
dayMap[day] = index + 1; // номера начинаются с 1 dayMap[day] = index + 1; // номера начинаются с 1
}); });
@ -114,7 +109,9 @@ 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 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;
@ -132,18 +129,16 @@ const daysNav = uniqueDays.map(day => dayMap[day]);
<h2 className="text-xl font-black text-[#5F5C5C]">Упражнения</h2> <h2 className="text-xl font-black text-[#5F5C5C]">Упражнения</h2>
<span className="text-sm text-gray-500">Количество упражнений: {course_exercises.length}</span> <span className="text-sm text-gray-500">Количество упражнений: {course_exercises.length}</span>
</div> </div>
<p>{uniqueDays}</p>
{/* <p>{JSON.stringify(course_exercises)}</p> */} {/* <p>{JSON.stringify(course_exercises)}</p> */}
{daysNav}
{/* Кнопки выбора дня */} {/* Кнопки выбора дня */}
{days.length > 1 && ( {days.length > 1 && (
<div className="mb-6"> <div className="mb-6">
<div className="flex space-x-2 overflow-x-auto pb-2"> <div className="flex space-x-2 overflow-x-auto pb-2">
{days.map((day) => ( {days.map((day, index) => (
<button <button
key={day} key={day}
onClick={() => { onClick={() => {
@ -154,21 +149,14 @@ const daysNav = uniqueDays.map(day => dayMap[day]);
: "bg-white text-gray-600 hover:bg-gray-100" : "bg-white text-gray-600 hover:bg-gray-100"
}`} }`}
> >
День {day} День {daysNav[index]}
</button> </button>
))} ))}
</div> </div>
</div> </div>
)} )}
{/* надо делать по индексу, чтоб шло по порядку
{filteredExercises
.filter(item => item.deleted_at === null) // фильтруем по условию
.length > 0 ? (
filteredExercises
.filter(item => item.deleted_at === null)
*/}
<div className="exercise-list mb-20"> <div className="exercise-list mb-20">
{filteredExercises.length > 0 ? ( {filteredExercises.length > 0 ? (