import { useState, useMemo } from 'react'; import { mockCourses } from './mockData'; import FilterSection from './components/FilterSection'; import CourseList from './components/CourseList'; export default function CoursesPage() { const [currentPage, setCurrentPage] = useState(1); const [selectedCategory, setSelectedCategory] = useState(''); const [selectedLevel, setSelectedLevel] = useState(''); const pageSize = 12; const filteredCourses = useMemo(() => { return mockCourses.filter(course => { const matchCategory = !selectedCategory || course.category === selectedCategory; const matchLevel = !selectedLevel || course.level === selectedLevel; return matchCategory && matchLevel; }); }, [selectedCategory, selectedLevel]); const paginatedCourses = useMemo(() => { const startIndex = (currentPage - 1) * pageSize; return filteredCourses.slice(startIndex, startIndex + pageSize); }, [filteredCourses, currentPage]); const handlePageChange = (page: number) => { setCurrentPage(page); window.scrollTo({ top: 0, behavior: 'smooth' }); }; return (