import { useQuery } from "@tanstack/react-query" import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { supabase } from "@/auth/supabase" import { useSupabaseAuth } from "@/auth/supabase" export function HistorialCambiosModal({ open, onClose, planId, onRestore, // 🔥 recibiremos una función del padre para restaurar }: { open: boolean onClose: () => void planId: string onRestore: (key: string, value: string) => void }) { const auth = useSupabaseAuth() const { data, isLoading, error } = useQuery({ queryKey: ["historico_cambios", planId, auth.user?.id], queryFn: async () => { const { data, error } = await supabase .from("historico_cambios") .select("id, json_cambios, user_id, created_at") .eq("id_plan_estudios", planId) .eq("user_id", auth.user?.id) // ✅ filtro por usuario actual .order("created_at", { ascending: false }) if (error) throw error return data }, enabled: !!auth.user?.id, // ✅ solo corre si hay usuario autenticado }) return ( Histórico de cambios {isLoading &&

Cargando historial...

} {error &&

Error al cargar: {String(error)}

} {!isLoading && !error && (!data || data.length === 0) && (

No hay cambios registrados.

)}
{data?.map((item) => { const diff = item.json_cambios?.[0] const key = diff?.path?.replace("/", "") return (
Usuario: {item.user_id || "Desconocido"} {new Date(item.created_at).toLocaleString()}

Campo: {key}

Antes: {diff?.from || "—"}

Después: {diff?.value || "—"}

) })}
) }