Files
portabase/src/components/wrappers/dashboard/projects/Database/DatabaseKpi.tsx
T

31 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-05-16 15:54:17 +02:00
"use client";
2025-05-16 15:54:17 +02:00
import { Card, CardContent, CardHeader } from "@/components/ui/card";
import { Database } from "@/db/schema";
import { formatDateLastContact } from "@/utils/date-formatting";
export type DatabaseKpiPro = {
2025-05-16 15:54:17 +02:00
successRate: any;
database: Database;
totalBackups: number;
};
export const DatabaseKpi = (props: DatabaseKpiPro) => {
return (
<div className="flex flex-col sm:flex-row sm:justify-between gap-8 mb-6">
<Card className="w-full sm:w-auto flex-1">
2025-05-16 15:54:17 +02:00
<CardHeader className="font-bold text-xl">Backups</CardHeader>
2024-12-11 20:46:26 +01:00
<CardContent>{props.totalBackups}</CardContent>
</Card>
<Card className="w-full sm:w-auto flex-1">
2025-05-16 15:54:17 +02:00
<CardHeader className="font-bold text-xl">Success rate</CardHeader>
<CardContent>{props.successRate ? `${props.successRate} %` : "Unavailable for now."}</CardContent>
</Card>
<Card className="w-full sm:w-auto flex-1">
2025-05-16 15:54:17 +02:00
<CardHeader className="font-bold text-xl">Last contact</CardHeader>
<CardContent>{formatDateLastContact(props.database.lastContact)}</CardContent>
</Card>
</div>
2025-05-16 15:54:17 +02:00
);
};