All checks were successful
Deploy Website / docker (ubuntu-latest) (push) Successful in 2m24s
42 lines
1.6 KiB
TypeScript
42 lines
1.6 KiB
TypeScript
import { Button } from "@/components/ui/button";
|
|
import Link from "next/link";
|
|
import { AppStatistics } from "@ssr/common/types/backend/app-statistics";
|
|
import Statistic from "@/components/home/statistic";
|
|
import { kyFetch } from "@ssr/common/utils/utils";
|
|
import { Config } from "@ssr/common/config";
|
|
|
|
export const dynamic = "force-dynamic"; // Always generate the page on load
|
|
|
|
export default async function HomePage() {
|
|
const statistics = await kyFetch<AppStatistics>(Config.apiUrl + "/statistics");
|
|
|
|
return (
|
|
<main className="flex flex-col items-center w-full gap-6 text-center">
|
|
<div className="flex items-center flex-col">
|
|
<p className="font-semibold text-2xl">ScoreSaber Reloaded</p>
|
|
<p className="text-center">Welcome to the ScoreSaber Reloaded website.</p>
|
|
</div>
|
|
|
|
<div className="flex items-center flex-col">
|
|
<p>ScoreSaber Reloaded is a website that allows you to track your ScoreSaber data over time.</p>
|
|
</div>
|
|
|
|
{statistics && (
|
|
<div className="flex items-center flex-col">
|
|
<p className="font-semibold">Site Statistics</p>
|
|
<Statistic title="Tracked Players" value={statistics.trackedPlayers} />
|
|
<Statistic title="Tracked Scores" value={statistics.trackedScores} />
|
|
<Statistic title="Additional Scores Data" value={statistics.additionalScoresData} />
|
|
<Statistic title="Cached BeatSaver Maps" value={statistics.cachedBeatSaverMaps} />
|
|
</div>
|
|
)}
|
|
|
|
<div className="flex gap-2 flex-wrap">
|
|
<Link href="/search">
|
|
<Button className="w-fit">Get started</Button>
|
|
</Link>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|