import { useSearchParams } from 'react-router-dom'; import { useI18n } from '../hooks/useI18n'; import { useProjectFilters } from '../hooks/useProjectFilters'; import { siteData } from '../data/siteData'; import ProjectCard from '../components/ProjectCard'; import SelectControl from '../components/SelectControl'; export default function ProjectsPage() { const { t, bi } = useI18n(); const [searchParams] = useSearchParams(); const catParam = searchParams.get('cat'); const { search, setSearch, tech, setTech, platform, setPlatform, status, setStatus, sort, setSort, allTech, allPlatforms, allStatuses, filteredProjects, } = useProjectFilters(); const displayedProjects = catParam ? filteredProjects.filter((p) => p.type.includes(catParam)) : filteredProjects; const techOptions = [ { value: '', label: t('projects.filter.all') }, ...allTech.map((item) => ({ value: item, label: item })), ]; const platformOptions = [ { value: '', label: t('projects.filter.all') }, ...allPlatforms.map((item) => ({ value: item, label: item })), ]; const statusOptions = [ { value: '', label: t('projects.filter.all') }, ...allStatuses.map((item) => ({ value: item, label: bi(siteData.statuses[item]?.label) })), ]; const sortOptions = [ { value: 'updated', label: t('projects.sort.updated') }, { value: 'name', label: t('projects.sort.name') }, ]; return (
{t('projects.subtitle')}