'use client'; import { AlertCircle, CheckCircle2, XCircle } from 'lucide-react'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; import { Card, CardContent } from '@kit/ui/card'; export const ServiceStatus = { CHECKING: 'checking', SUCCESS: 'success', ERROR: 'error', } as const; type ServiceStatusType = (typeof ServiceStatus)[keyof typeof ServiceStatus]; const StatusIcons = { [ServiceStatus.CHECKING]: , [ServiceStatus.SUCCESS]: , [ServiceStatus.ERROR]: , }; interface ServiceCardProps { name: string; status: { status: ServiceStatusType; message?: string; }; } export const ServiceCard = ({ name, status }: ServiceCardProps) => { return ( {StatusIcons[status.status]} {name} {status.message ?? (status.status === ServiceStatus.CHECKING ? 'Checking connection...' : status.status === ServiceStatus.SUCCESS ? 'Connected successfully' : 'Connection failed')} ); };
{status.message ?? (status.status === ServiceStatus.CHECKING ? 'Checking connection...' : status.status === ServiceStatus.SUCCESS ? 'Connected successfully' : 'Connection failed')}