import React from 'react'; import { Employee, District } from '../../types'; import { X, User, Phone, MessageCircle, MapPin } from 'lucide-react'; interface Props { district: District; employees: Employee[]; onClose: () => void; } export const DistrictStaffModal: React.FC = ({ district, employees, onClose }) => { const districtEmployees = employees.filter(emp => { const ids = emp.assignedDistrictIds?.length ? emp.assignedDistrictIds : (emp.assignedDistrictId ? [emp.assignedDistrictId] : []); return ids.includes(district.id); }); return (
e.stopPropagation()} > {/* Header */}

Персонал участка

{district.name}

{/* Content */}
{districtEmployees.length === 0 ? (

На этом участке нет закрепленных сотрудников

) : (
{districtEmployees.map(emp => (
{emp.photoUrl ? ( {emp.name} { const target = e.target as HTMLImageElement; target.style.display = 'none'; const parent = target.parentElement; if (parent) { const fallback = document.createElement('div'); fallback.className = 'w-12 h-12 rounded-full bg-white flex items-center justify-center text-primary-600 font-black border border-slate-200'; fallback.textContent = emp.name.split(' ').map(n => n[0]).join(''); parent.appendChild(fallback); } }} /> ) : ( emp.name.split(' ').map(n => n[0]).join('') )}

{emp.name}

{emp.position}

{emp.phone && (

{emp.phone}

)}
{emp.phone && ( e.stopPropagation()} > )} {emp.messengerLogins && emp.messengerLogins.length > 0 && ( )}
))}
)}
); };