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:
@@ -10,7 +10,7 @@ import {
|
|||||||
} from "@/components/ui/select";
|
} from "@/components/ui/select";
|
||||||
import { trpc } from "@/lib/trpc";
|
import { trpc } from "@/lib/trpc";
|
||||||
import { CheckCircle2, Circle, Loader2, QrCode, RefreshCw } from "lucide-react";
|
import { CheckCircle2, Circle, Loader2, QrCode, RefreshCw } from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import DashboardLayout from "@/components/DashboardLayout";
|
import DashboardLayout from "@/components/DashboardLayout";
|
||||||
@@ -54,6 +54,18 @@ export default function FormateurEmargement() {
|
|||||||
{ enabled: !!selectedSequenceId }
|
{ 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
|
// Valider une présence manuellement
|
||||||
const { mutate: validerPresence, isPending: validating } = trpc.presences.valider.useMutation({
|
const { mutate: validerPresence, isPending: validating } = trpc.presences.valider.useMutation({
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
|
|||||||
2
todo.md
2
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] 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] 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
|
||||||
|
|||||||
Reference in New Issue
Block a user