'use client'; import { Briefcase } from 'lucide-react'; import { Jobs } from '@/app/api-utlities/@types/main'; import { useTextController } from '@/shared/language/hooks/use-text-controller'; import { cn } from '@/shared/lib/utils'; import { Badge } from '@/shared/shadcn-ui/badge'; import { Button } from '@/shared/shadcn-ui/button'; import { Card, CardContent } from '@/shared/shadcn-ui/card'; import { Tabs, TabsContent, TabsList, TabsTrigger, } from '@/shared/shadcn-ui/tabs'; interface VacanciesSectionProps { jobs: Jobs; } export const VacanciesSection = ({ jobs }: VacanciesSectionProps) => { const { t } = useTextController(); const jobsByType = new Map(); jobs.forEach((job) => { const existing = jobsByType.get(job.type) || []; jobsByType.set(job.type, [...existing, job]); }); const allVacancies = t('home.vacancies.all'); const officeVacancies = t('home.vacancies.office'); const stationsVacancies = t('home.vacancies.stations'); const jobsTabsTitle = [allVacancies, ...Array.from(jobsByType.keys())]; return ( {t('home.vacancies.title')} {t('home.vacancies.description')} {t('home.vacancies.all')} {t('home.vacancies.office')} {t('home.vacancies.stations')} {jobs.map((job, index) => ( ))} {Array.from(jobsByType.entries()).map(([type, jobs]) => ( {jobs.map((job: Jobs[number], index: number) => ( ))} ))} ); }; interface VacancyProps { jobTitle: string; location: string; tags: Array; } const Vacancy = ({ jobTitle, location, tags }: VacancyProps) => { const { t } = useTextController(); return ( {jobTitle} {location} {tags.map((tag, index) => { return ( {tag} ); })} {t('common.buttons.apply')} ); };
{t('home.vacancies.description')}
{location}