Checkpoint: Ajout d'un rafraîchissement automatique toutes les 30 secondes sur la page d'émargement numérique pour mettre à jour automatiquement la liste des inscrits et des présences sans recharger manuellement la page

This commit is contained in:
Manus
2026-02-02 10:09:48 -05:00
parent 42d57c6e7c
commit 0163b46e5d
2 changed files with 15 additions and 1 deletions

View File

@@ -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: () => {