Ajoute le schéma de La Course du Char (tables, RPC, clôture auto)

- chariot_runs : meilleur temps + tracé fantôme par joueur et par jour,
  verrouillée comme points_log (écriture uniquement via RPC).
- submit_chariot_run() : calcule la date côté serveur, borne le temps,
  n'écrase que si strictement meilleur.
- close_daily_chariot_race() + chariot_race_closes : clôture la journée
  précédente et attribue les gloires du top 3 automatiquement, sans
  intervention d'un Archonte — planifiée via pg_cron (à activer une
  fois côté Dashboard Supabase).
- points_log.judge_id devient nullable (un point auto n'a pas de juge) ;
  Le Crieur affiche "Le Tribunal" pour ces décrets-là.
This commit is contained in:
Valentin ROBIN
2026-07-27 18:53:45 +02:00
parent f462cff8a7
commit 777d9ebaea
2 changed files with 170 additions and 2 deletions
+3 -2
View File
@@ -6,7 +6,7 @@ import { createClient } from "@/lib/supabase/client";
type Entry = {
id: number;
target_id: string;
judge_id: string;
judge_id: string | null;
delta: number;
reason: string | null;
created_at: string;
@@ -55,7 +55,8 @@ export function JournalView({
return (
<ol className="flex flex-col gap-2">
{entries.map((entry) => {
const judgePseudo = pseudoById[entry.judge_id] ?? "Un Archonte";
const judgePseudo =
entry.judge_id === null ? "Le Tribunal" : (pseudoById[entry.judge_id] ?? "Un Archonte");
const targetPseudo = pseudoById[entry.target_id] ?? "un Citoyen";
const sign = entry.delta > 0 ? `+${entry.delta}` : `${entry.delta}`;
return (