ServiceHealthList.tsx 932 B

1234567891011121314151617181920212223
  1. import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
  2. import type { DownstreamServiceHealth } from "@/types";
  3. export function ServiceHealthList({ services }: { services: DownstreamServiceHealth[] }) {
  4. return (
  5. <Card>
  6. <CardHeader>
  7. <CardTitle>Services</CardTitle>
  8. </CardHeader>
  9. <CardContent className="space-y-3">
  10. {services.map((service) => (
  11. <div key={service.service} className="flex items-center justify-between gap-3 text-sm">
  12. <div className="min-w-0">
  13. <p className="truncate font-medium">{service.service}</p>
  14. <p className="truncate text-xs text-muted-foreground">{service.url}</p>
  15. </div>
  16. <span className={service.status === "ok" ? "h-2.5 w-2.5 rounded-full bg-emerald-400" : "h-2.5 w-2.5 rounded-full bg-red-400"} />
  17. </div>
  18. ))}
  19. </CardContent>
  20. </Card>
  21. );
  22. }