diff --git a/dashboard/src/components/status-card.tsx b/dashboard/src/components/status-card.tsx new file mode 100644 index 0000000..d6d4038 --- /dev/null +++ b/dashboard/src/components/status-card.tsx @@ -0,0 +1,62 @@ +import { Card, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'; +import { Badge } from '@/components/ui/badge'; +import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; + +export type MetadataApiReady = { + status?: 'ok', + errors?: string[] +} + +interface StatusCardProps { + title: string; + version?: string; + name: string; + status: MetadataApiReady; + className?: string; +} + +export function StatusCard({ title, version, name, status, className }: StatusCardProps) { + + return ( + + + + {title} + + + { + version ? + Version {version} + : + OFFLINE + } + + + + { + status.status && ( + + {name} {status.status.toUpperCase()} + + ) + } + { + status.errors && ( + + + + {name} Error + + + + { + status.errors.map((error) => {error}) + } + + + ) + } + + + ); +}