import { FC, useState } from 'react' import Input from '../../../components/Input' import UploadBox from '../../../components/UploadBox' import { Add, CloseCircle } from 'iconsax-react' import Button from '../../../components/Button' type Service = { title: string; image?: File; existingImageUrl?: string } type Props = { value: Service[] onChange: (val: Service[]) => void } const CompanyServices: FC = ({ value, onChange }) => { const [serviceTitle, setServiceTitle] = useState('') const [serviceImage, setServiceImage] = useState(undefined) const [serviceError, setServiceError] = useState('') const handleAddService = () => { if (!serviceTitle.trim()) { setServiceError('عنوان خدمت الزامی است') return } if (!serviceImage) { setServiceError('تصویر خدمت الزامی است') return } if (value.some(s => s.title.trim() === serviceTitle.trim())) { setServiceError('عنوان خدمت تکراری است') return } onChange([...value, { title: serviceTitle.trim(), image: serviceImage }]) setServiceTitle('') setServiceImage(undefined) setServiceError('') } const handleRemoveService = (idx: number) => { onChange(value.filter((_, i) => i !== idx)) } return (
خدمات شرکت
setServiceTitle(e.target.value)} />
setServiceImage(files[0])} isMultiple={false} isReset={!serviceImage && !serviceTitle} />
{serviceError &&
{serviceError}
} {/* نمایش لیست خدمات */}
{value.map((srv, idx) => (
{srv.image && } {srv.existingImageUrl && !srv.image && }
{srv.title}
))}
) } export default CompanyServices