fix(ts): Resolve type errors in VisitorManagementPage
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run

This commit is contained in:
fullsizemalt 2025-12-19 19:39:21 -08:00
parent ae92d560ee
commit cae03bca54

View file

@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
import { import {
Users, UserPlus, LogIn, LogOut, Building, Search, Users, UserPlus, LogIn, LogOut, Building, Search,
Filter, Download, Calendar, Shield, AlertTriangle, X, Filter, Download, Calendar, Shield, AlertTriangle, X,
History, LayoutGrid, Camera, MapPin, Clock, MoreHorizontal History, LayoutGrid, Camera, MapPin, Clock, MoreHorizontal, Plus
} from 'lucide-react'; } from 'lucide-react';
import { visitorsApi, Visitor, VisitorLog, ActiveVisitor, AccessZone } from '../lib/visitorsApi'; import { visitorsApi, Visitor, VisitorLog, ActiveVisitor, AccessZone } from '../lib/visitorsApi';
@ -33,7 +33,7 @@ export default function VisitorManagementPage() {
try { try {
if (activeTab === 'active') { if (activeTab === 'active') {
const { visitors } = await visitorsApi.getActive(); const { visitors } = await visitorsApi.getActive();
setActiveVisitors(visitors); setActiveVisitors(visitors.map(v => ({ ...v, id: v.logId })));
} else if (activeTab === 'all' || activeTab === 'gallery') { } else if (activeTab === 'all' || activeTab === 'gallery') {
const { visitors } = await visitorsApi.getAll({ search: searchQuery || undefined }); const { visitors } = await visitorsApi.getAll({ search: searchQuery || undefined });
setAllVisitors(visitors); setAllVisitors(visitors);
@ -79,11 +79,11 @@ export default function VisitorManagementPage() {
}; };
const getTypeBadge = (type: string) => { const getTypeBadge = (type: string) => {
const variants: Record<string, 'accent' | 'warning' | 'error' | 'active' | 'default'> = { const variants: Record<string, 'default' | 'pending' | 'active' | 'completed' | 'error'> = {
VISITOR: 'active', VISITOR: 'active',
CONTRACTOR: 'warning', CONTRACTOR: 'pending',
INSPECTOR: 'error', INSPECTOR: 'error',
VENDOR: 'accent', VENDOR: 'default',
DELIVERY: 'default', DELIVERY: 'default',
OTHER: 'default' OTHER: 'default'
}; };
@ -376,7 +376,7 @@ export default function VisitorManagementPage() {
<div className="bg-slate-100 dark:bg-slate-900 p-3 rounded-2xl group-hover:bg-indigo-500/10 transition-colors"> <div className="bg-slate-100 dark:bg-slate-900 p-3 rounded-2xl group-hover:bg-indigo-500/10 transition-colors">
<MapPin size={24} className="text-slate-400 group-hover:text-indigo-500" /> <MapPin size={24} className="text-slate-400 group-hover:text-indigo-500" />
</div> </div>
<StatusBadge status={zone.escortRequired ? "warning" : "active"} label={zone.code} /> <StatusBadge status={zone.escortRequired ? "pending" : "active"} label={zone.code} />
</div> </div>
<h3 className="text-lg font-bold tracking-tight mb-1">{zone.name}</h3> <h3 className="text-lg font-bold tracking-tight mb-1">{zone.name}</h3>
<p className="text-xs text-slate-500 leading-relaxed">{zone.description || 'No zone constraints defined.'}</p> <p className="text-xs text-slate-500 leading-relaxed">{zone.description || 'No zone constraints defined.'}</p>