'use client' import React from 'react' import { Controller, useFormContext } from 'react-hook-form' import type { DB } from '@heygermany/sdk' import { ApplicationCandidateData, ApplicationCandidateWorkExperience, CandidateDocumentTypes } from '@heygermany/sdk' import { FileUpload } from '../../ui/FileUpload' import { useUploadCandidateFiles } from '@/hooks/useUploadCandidateFiles' import { CandidateSection } from './CandidateSection' import { Box, Text } from '@pikku/mantine/core' import { useI18n } from '@/context/i18n-provider' import { asI18n } from '@pikku/react' export const ProfessionalExperience: React.FunctionComponent<{ candidate: ApplicationCandidateData }> = ({ candidate }) => { const t = useI18n() const { control, trigger, formState: { errors } } = useFormContext() const { uploadFiles, deleteFile } = useUploadCandidateFiles(candidate.candidateId, CandidateDocumentTypes.WORK_EXPERIENCE, trigger) const validateWorkExperience = (files: any[]): boolean | string => { if (files && files.length > 5) { return t('jobs.professionalexperience.validation.maxfiles') } return true } return ( validateWorkExperience(candidate.workExperience) }} render={() => ( ({ id: file.documentId, fileName: file.fileName }))} uploadFiles={uploadFiles} deleteFile={deleteFile} /> )} /> {errors.workExperience && ( {asI18n(errors.workExperience?.message ?? '')} )} ) }