import React from 'react'; import { Equipment } from '../types'; import { Truck, Settings, AlertTriangle, CheckCircle2, Plus, Search, Filter } from 'lucide-react'; interface EquipmentManagerProps { equipment: Equipment[]; } const EquipmentManager: React.FC = ({ equipment }) => { const [searchQuery, setSearchQuery] = React.useState(''); const filteredEquipment = equipment.filter(e => e.name.toLowerCase().includes(searchQuery.toLowerCase()) || e.type.toLowerCase().includes(searchQuery.toLowerCase()) ); const getStatusColor = (status: string) => { switch (status) { case 'OPERATIONAL': return 'text-emerald-600 bg-emerald-50 border-emerald-100'; case 'MAINTENANCE': return 'text-amber-600 bg-amber-50 border-amber-100'; case 'OUT_OF_ORDER': return 'text-red-600 bg-red-50 border-red-100'; default: return 'text-slate-600 bg-slate-50 border-slate-100'; } }; return (
setSearchQuery(e.target.value)} className="w-full pl-10 pr-4 py-2 bg-slate-50 border border-slate-200 rounded-xl focus:ring-2 focus:ring-blue-500 outline-none text-sm transition-all" />
{filteredEquipment.length === 0 ? (

No equipment found

) : ( filteredEquipment.map(item => (
{item.status.replace('_', ' ')}

{item.name}

{item.type}

Last Maint.

{item.lastMaintenance}

Next Maint.

{item.nextMaintenance}

Hourly Rate
৳{item.hourlyRate}/hr
{item.assignedOperator?.charAt(0) || '?'}
{item.assignedOperator || 'No Operator'}
)) )}
); }; export default EquipmentManager;