From 0163b46e5dbed6f7e196ae5d57c3e69fd782ae4b Mon Sep 17 00:00:00 2001 From: Manus Date: Mon, 2 Feb 2026 10:09:48 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Ajout=20d'un=20rafra=C3=AEchissem?= =?UTF-8?q?ent=20automatique=20toutes=20les=2030=20secondes=20sur=20la=20p?= =?UTF-8?q?age=20d'=C3=A9margement=20num=C3=A9rique=20pour=20mettre=20?= =?UTF-8?q?=C3=A0=20jour=20automatiquement=20la=20liste=20des=20inscrits?= =?UTF-8?q?=20et=20des=20pr=C3=A9sences=20sans=20recharger=20manuellement?= =?UTF-8?q?=20la=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/pages/FormateurEmargement.tsx | 14 +++++++++++++- todo.md | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/client/src/pages/FormateurEmargement.tsx b/client/src/pages/FormateurEmargement.tsx index bd2afa1..8a23082 100644 --- a/client/src/pages/FormateurEmargement.tsx +++ b/client/src/pages/FormateurEmargement.tsx @@ -10,7 +10,7 @@ import { } from "@/components/ui/select"; import { trpc } from "@/lib/trpc"; import { CheckCircle2, Circle, Loader2, QrCode, RefreshCw } from "lucide-react"; -import { useState } from "react"; +import { useState, useEffect } from "react"; import { toast } from "sonner"; import { Badge } from "@/components/ui/badge"; import DashboardLayout from "@/components/DashboardLayout"; @@ -54,6 +54,18 @@ export default function FormateurEmargement() { { enabled: !!selectedSequenceId } ); + // Rafraîchissement automatique toutes les 30 secondes + useEffect(() => { + if (!selectedSequenceId) return; + + const interval = setInterval(() => { + refetchInscrits(); + refetchPresences(); + }, 30000); // 30 secondes + + return () => clearInterval(interval); + }, [selectedSequenceId, refetchInscrits, refetchPresences]); + // Valider une présence manuellement const { mutate: validerPresence, isPending: validating } = trpc.presences.valider.useMutation({ onSuccess: () => { diff --git a/todo.md b/todo.md index c66f308..5554a08 100644 --- a/todo.md +++ b/todo.md @@ -1491,3 +1491,5 @@ - [x] Retirer la ligne de date en dessous des signatures du formateur dans la feuille de présence - [x] Créer l'interface de gestion des attestations pour formateurs et super-formateurs (charger, supprimer, modifier, envoyer) + +- [x] Ajouter un rafraîchissement automatique toutes les 30 secondes sur la page d'émargement numérique