Yaltopia-FIFA/app/(dashboard)/leagues/[leagueId]/rules/page.tsx
Kirubel-Kibru-Yaltopia 89440985f1
Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
x
2026-05-24 21:46:10 +03:00

46 lines
1.2 KiB
TypeScript

import { notFound } from "next/navigation";
import { createClient } from "@/lib/supabase/server";
import { parseLeagueRules, defaultLeagueRules } from "@/lib/rules/schema";
import { RulesForm } from "./rules-form";
export default async function RulesPage({
params,
}: {
params: Promise<{ leagueId: string }>;
}) {
const { leagueId } = await params;
const supabase = await createClient();
const { data: league } = await supabase
.from("leagues")
.select("name")
.eq("id", leagueId)
.single();
if (!league) notFound();
const { data: latest } = await supabase
.from("league_rules")
.select("rules, version")
.eq("league_id", leagueId)
.order("version", { ascending: false })
.limit(1)
.single();
const rules = latest?.rules
? parseLeagueRules(latest.rules)
: defaultLeagueRules;
return (
<div className="space-y-6">
<div>
<h1 className="text-2xl font-bold">League rules</h1>
<p className="text-sm text-[var(--color-muted)]">
{league.name} · version {latest?.version ?? 0}
</p>
</div>
<RulesForm leagueId={leagueId} initialRules={rules} />
</div>
);
}