import React from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Package, Settings, Users, ExternalLink, ArrowRight, Clock, CheckCircle, AlertCircle } from 'lucide-react'; import { Asset, SystemDetails, AssetAssignment } from '@/types/asset-management'; interface RelatedEntitiesNavProps { asset?: Asset; systemDetails?: SystemDetails; assignments?: AssetAssignment[]; onNavigateToAsset?: (assetId: number) => void; onNavigateToSystemDetails?: (systemDetailsId: number) => void; onNavigateToAssignments?: () => void; onNavigateToEmployee?: (employeeId: number) => void; currentView?: 'asset' | 'systemDetails' | 'assignments'; } const RelatedEntitiesNav: React.FC = ({ asset, systemDetails, assignments = [], onNavigateToAsset, onNavigateToSystemDetails, onNavigateToAssignments, onNavigateToEmployee, currentView }) => { const activeAssignments = assignments.filter(a => !a.returnedDate); const completedAssignments = assignments.filter(a => a.returnedDate); return (

Related Information

{/* Asset Information */} {asset && ( Asset Information {currentView === 'asset' && ( Current )}

{asset.assetType}

{asset.brandModel}

Serial: {asset.serialNumber}

Condition: {asset.assetCondition}

{onNavigateToAsset && currentView !== 'asset' && ( )}
)} {/* System Details */} System Details {currentView === 'systemDetails' && ( Current )} {systemDetails ? (

{systemDetails.systemModel}

{systemDetails.manufacturer}

CPU: {systemDetails.processor}

RAM: {systemDetails.installedRAM}

{onNavigateToSystemDetails && currentView !== 'systemDetails' && ( )}
) : (

No system details available

)}
{/* Assignment History */} Assignment History {currentView === 'assignments' && ( Current )} {assignments.length > 0 ? (
{/* Current Assignment */} {activeAssignments.length > 0 && (
Active Current Assignment
{activeAssignments.map(assignment => (

{assignment.employeeName || `Employee #${assignment.employeeID}`}

Since {new Date(assignment.assignedDate).toLocaleDateString()}

{onNavigateToEmployee && ( )}
))}
)} {/* Assignment Summary */}
{activeAssignments.length} active {completedAssignments.length} completed
{onNavigateToAssignments && currentView !== 'assignments' && ( )}
) : (

No assignments yet

)}
); }; export default RelatedEntitiesNav;