'use client'; import { AlertCircle, CheckCircle2, XCircle } from 'lucide-react'; import { Card, CardContent } from '@kit/ui/card'; export const ServiceStatus = { CHECKING: 'checking', SUCCESS: 'success', WARNING: 'warning', INFO: 'info', ERROR: 'error', } as const; type ServiceStatusType = (typeof ServiceStatus)[keyof typeof ServiceStatus]; const StatusIcons = { [ServiceStatus.CHECKING]: , [ServiceStatus.SUCCESS]: , [ServiceStatus.WARNING]: , [ServiceStatus.INFO]: , [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')}

); };