2024-12-10 11:22:36 +01:00
|
|
|
"use client"
|
|
|
|
|
|
|
|
|
|
import {Card, CardContent, CardHeader} from "@/components/ui/card";
|
|
|
|
|
import {formatDateLastContact} from "@/utils/date-formatting";
|
|
|
|
|
import {Database} from "@prisma/client";
|
|
|
|
|
|
|
|
|
|
export type DatabaseKpiPro = {
|
|
|
|
|
successRate: any,
|
2024-12-11 20:46:26 +01:00
|
|
|
database: Database,
|
|
|
|
|
totalBackups: number
|
2024-12-10 11:22:36 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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">
|
|
|
|
|
<CardHeader className="font-bold text-xl">
|
|
|
|
|
Backups
|
|
|
|
|
</CardHeader>
|
2024-12-11 20:46:26 +01:00
|
|
|
<CardContent>{props.totalBackups}</CardContent>
|
2024-12-10 11:22:36 +01:00
|
|
|
</Card>
|
|
|
|
|
<Card className="w-full sm:w-auto flex-1">
|
|
|
|
|
<CardHeader className="font-bold text-xl">
|
|
|
|
|
Success rate
|
|
|
|
|
</CardHeader>
|
|
|
|
|
<CardContent>
|
|
|
|
|
{props.successRate ?? "Unavailable for now."}
|
|
|
|
|
</CardContent>
|
|
|
|
|
</Card>
|
|
|
|
|
<Card className="w-full sm:w-auto flex-1">
|
|
|
|
|
<CardHeader className="font-bold text-xl">
|
|
|
|
|
Last contact
|
|
|
|
|
</CardHeader>
|
|
|
|
|
<CardContent>
|
|
|
|
|
{formatDateLastContact(props.database.lastContact)}
|
|
|
|
|
</CardContent>
|
|
|
|
|
</Card>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|