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 {
Users, UserPlus, LogIn, LogOut, Building, Search,
Filter, Download, Calendar, Shield, AlertTriangle, X,
History, LayoutGrid, Camera, MapPin, Clock, MoreHorizontal
History, LayoutGrid, Camera, MapPin, Clock, MoreHorizontal, Plus
} from 'lucide-react';
import { visitorsApi, Visitor, VisitorLog, ActiveVisitor, AccessZone } from '../lib/visitorsApi';
@ -33,7 +33,7 @@ export default function VisitorManagementPage() {
try {
if (activeTab === 'active') {
const { visitors } = await visitorsApi.getActive();
setActiveVisitors(visitors);
setActiveVisitors(visitors.map(v => ({ ...v, id: v.logId })));
} else if (activeTab === 'all' || activeTab === 'gallery') {
const { visitors } = await visitorsApi.getAll({ search: searchQuery || undefined });
setAllVisitors(visitors);
@ -79,11 +79,11 @@ export default function VisitorManagementPage() {
};
const getTypeBadge = (type: string) => {
const variants: Record<string, 'accent' | 'warning' | 'error' | 'active' | 'default'> = {
const variants: Record<string, 'default' | 'pending' | 'active' | 'completed' | 'error'> = {
VISITOR: 'active',
CONTRACTOR: 'warning',
CONTRACTOR: 'pending',
INSPECTOR: 'error',
VENDOR: 'accent',
VENDOR: 'default',
DELIVERY: '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">
<MapPin size={24} className="text-slate-400 group-hover:text-indigo-500" />
</div>
<StatusBadge status={zone.escortRequired ? "warning" : "active"} label={zone.code} />
<StatusBadge status={zone.escortRequired ? "pending" : "active"} label={zone.code} />
</div>
<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>