Ajoute l'historique des versions des questions soumises par les Citoyens
Build and deploy / deploy (push) Successful in 35s

Nouvelle table chariot_submission_history (append-only, comme
points_log) : chariot_submissions ne garde que la valeur actuelle
(upsert), donc sans ce journal les Archontes ne voyaient jamais les
versions précédentes d'une question modifiée plusieurs fois.
submit_chariot_question() y écrit désormais à chaque changement réel.

Sur /char/questions, chaque suggestion affiche un lien "Historique (N)"
(visible seulement si la personne a déjà modifié sa proposition) qui
déplie les versions précédentes avec leur date.
This commit is contained in:
Valentin ROBIN
2026-08-22 00:16:42 +02:00
parent 6badff38af
commit ec6b1920af
4 changed files with 110 additions and 11 deletions
+14
View File
@@ -17,6 +17,12 @@ export type SubmissionRow = {
profiles: { pseudo: string; avatar_url: string | null } | null;
};
export type SubmissionHistoryRow = {
user_id: string;
text: string;
created_at: string;
};
export default async function CharQuestionsPage() {
const supabase = await createClient();
const {
@@ -58,6 +64,13 @@ export default async function CharQuestionsPage() {
.order("updated_at", { ascending: true })
.returns<SubmissionRow[]>();
// Versions précédentes des propositions (chariot_submissions ne garde que
// la version actuelle) — pour la section "Historique" de la modération.
const { data: submissionHistory } = await supabase
.from("chariot_submission_history")
.select("user_id, text, created_at")
.order("created_at", { ascending: false });
return (
<div className="mx-auto w-full max-w-2xl px-4 py-8">
<div className="mb-6 text-center">
@@ -76,6 +89,7 @@ export default async function CharQuestionsPage() {
initialQuestions={questions ?? []}
initialRevealedId={settings?.chariot_revealed_question_id ?? null}
initialSubmissions={submissions ?? []}
initialSubmissionHistory={submissionHistory ?? []}
/>
</div>
);