Retire le bouton "Nouveau round" du Conseil des Archontes
Un seul round sur toute la semaine : plus besoin de pouvoir réinitialiser le repère de classement depuis l'admin. La logique des flèches de progression (previous_rank, reset_rank_reference) reste en place, simplement plus rien ne la déclenche.
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
import { createClient } from "@/lib/supabase/server";
|
import { createClient } from "@/lib/supabase/server";
|
||||||
import { AdminMembersTable } from "./admin-members-table";
|
import { AdminMembersTable } from "./admin-members-table";
|
||||||
import { ResetRoundButton } from "./reset-round-button";
|
|
||||||
|
|
||||||
export default async function AdminPage() {
|
export default async function AdminPage() {
|
||||||
const supabase = await createClient();
|
const supabase = await createClient();
|
||||||
@@ -32,14 +31,11 @@ export default async function AdminPage() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx-auto w-full max-w-3xl px-4 py-8">
|
<div className="mx-auto w-full max-w-3xl px-4 py-8">
|
||||||
<div className="mb-6 flex flex-wrap items-center justify-between gap-3">
|
<div className="mb-6">
|
||||||
<div>
|
<h1 className="font-heading text-2xl tracking-[0.1em] text-gold-bright uppercase">
|
||||||
<h1 className="font-heading text-2xl tracking-[0.1em] text-gold-bright uppercase">
|
Le Conseil des Archontes
|
||||||
Le Conseil des Archontes
|
</h1>
|
||||||
</h1>
|
<p className="font-serif text-sm text-marble/60 italic">Administration des Citoyens</p>
|
||||||
<p className="font-serif text-sm text-marble/60 italic">Administration des Citoyens</p>
|
|
||||||
</div>
|
|
||||||
<ResetRoundButton />
|
|
||||||
</div>
|
</div>
|
||||||
<AdminMembersTable members={members ?? []} currentUserId={user.id} />
|
<AdminMembersTable members={members ?? []} currentUserId={user.id} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
"use client";
|
|
||||||
|
|
||||||
import { useState } from "react";
|
|
||||||
import { createClient } from "@/lib/supabase/client";
|
|
||||||
|
|
||||||
export function ResetRoundButton() {
|
|
||||||
const [state, setState] = useState<"idle" | "loading" | "done">("idle");
|
|
||||||
|
|
||||||
async function handleClick() {
|
|
||||||
setState("loading");
|
|
||||||
const supabase = createClient();
|
|
||||||
const { error } = await supabase.rpc("reset_rank_reference");
|
|
||||||
setState(error ? "idle" : "done");
|
|
||||||
if (!error) {
|
|
||||||
setTimeout(() => setState("idle"), 2000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={handleClick}
|
|
||||||
disabled={state === "loading"}
|
|
||||||
className="marble-surface rounded-md border border-gold/40 px-3 py-1.5 text-sm font-medium text-text-marble shadow-sm transition hover:bg-gold/10 disabled:opacity-50"
|
|
||||||
>
|
|
||||||
{state === "loading" ? "…" : state === "done" ? "Repère mis à jour ✓" : "Nouveau round (réinitialiser le repère)"}
|
|
||||||
</button>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user