'use client' import CaseComplaint from '@/app/ui/file-page/violation-table/case-complaint'; import CaseLegal from '@/app/ui/file-page/violation-table/case-claims'; import { ViolationFileDetail } from '@/app/hooks/react-query/useFileViolations'; import { MatchStatus } from '@/app/actions/violationActions'; import { useEffect, useState } from 'react'; import { useUserProfile } from '@/app/hooks/react-query/useUserDataInfo'; import { useTranslations } from 'next-intl'; type UpdateStatusHandler = (id: number, status: MatchStatus) => Promise; const STATUSES_IN_WORK = ['COMPLAINT_IN_WORK', 'LEGAL_IN_WORK', 'COMPLAINT_AND_LEGAL_IN_WORK']; type TabType = 'complaint' | 'claim' export default function FilePageViolationInfoTabs({ selectedViolation, updateStatusHandler, caseType }: { selectedViolation: ViolationFileDetail, updateStatusHandler: UpdateStatusHandler, caseType?: 'claim' | 'complaint' }) { const t = useTranslations('Global'); const [activeTab, setActiveTab] = useState('complaint'); const [showTabs, setShowTabs] = useState(false); const isInWork = STATUSES_IN_WORK.includes(selectedViolation.status); const { data: userData, isLoading, isError, error } = useUserProfile(); const [localViolation, setLocalViolation] = useState(selectedViolation); useEffect(() => { setLocalViolation(selectedViolation); if (caseType) { setActiveTab(caseType) } }, [selectedViolation]); useEffect(() => { setShowTabs(false); }, [localViolation.id]); if (userData?.verifiedStatus !== "VERIFIED") { return (
Подача жалобы/претензии невозможна,
так как вы не подтвердили свою личность
) } if (!isInWork && !showTabs) { return (

{t('you-can')}

{t('or')}
); } return (
{activeTab === 'complaint' && ( )} {activeTab === 'claim' && ( )}
); }