import { Building2, RefreshCw, MapPin } from 'lucide-react' import React, { memo } from 'react' import { Button } from '@/components/ui/button' import { Card } from '@/components/ui/card' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import type { OrganizationBlockProps } from '../types/user-settings.types' export const OrganizationBlock = memo( ({ formData, setFormData, isEditing, onDaDataSearch }) => { const handleInputChange = (field: keyof typeof formData, value: string) => { setFormData({ ...formData, [field]: value, }) } const handleInnChange = (value: string) => { // Удаляем все кроме цифр const cleanInn = value.replace(/\D/g, '').slice(0, 12) handleInputChange('inn', cleanInn) } const handleDaDataClick = async () => { if (formData.inn && formData.inn.length >= 10) { await onDaDataSearch(formData.inn) } } const isDaDataAvailable = formData.inn && formData.inn.length >= 10 return (

Данные организации

handleInnChange(e.target.value)} disabled={!isEditing} className="flex-1" maxLength={12} /> {isEditing && isDaDataAvailable && ( )}
{isEditing && formData.inn && formData.inn.length > 0 && formData.inn.length < 10 && (

ИНН должен содержать от 10 до 12 цифр

)}
handleInputChange('orgName', e.target.value)} disabled={!isEditing} className="w-full" />
handleInputChange('address', e.target.value)} disabled={!isEditing} className="w-full" />
{isEditing && isDaDataAvailable && (

💡 Нажмите кнопку обновления рядом с ИНН, чтобы автоматически заполнить данные организации

)}
) }, ) OrganizationBlock.displayName = 'OrganizationBlock'