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:
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user