import React from 'react'; import { useSelector } from 'react-redux'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'; import { Users, Plus, Edit2, Trash2 } from 'lucide-react'; import { RootState } from '@/store'; interface ZMManagementProps { selectedZone: string; onAddZM: () => void; onEditZM: (zm: any) => void; onDeleteZM: (id: string, name: string) => void; } export const ZMManagement: React.FC = ({ selectedZone, onAddZM, onEditZM, onDeleteZM }) => { const { zonalManagers } = useSelector((state: RootState) => state.master); const filteredZMs = (zonalManagers || []).filter((zm: any) => selectedZone === 'all' || zm.zoneId === selectedZone || (zm.zones && zm.zones.includes(selectedZone)) ); return (
Zonal Managers (DD-ZM) Manage Zonal Managers and their region assignments
ZM Code Name Zone Regions Managed Contact Status Actions {filteredZMs.map((zm: any) => (
{zm.zmCode || zm.code}
{zm.name}
{(zm.zones || [zm.zoneName]).map((z: string, i: number) => ( {z} ))}
{(zm.regionNames || []).slice(0, 3).map((regionName: string, idx: number) => ( {regionName} ))} {(zm.regionNames || []).length > 3 && ( +{(zm.regionNames || []).length - 3} )}

{zm.email}

{zm.phone}

{zm.status}
))}
); };