"use client";
import { useEffect } from "react";
import NProgress from "nprogress";
import "nprogress/nprogress.css";
import { usePathname } from "next/navigation";

// Facade globale pour déclencher la barre depuis n'importe où
export const progress = {
  start: () => typeof window !== "undefined" && NProgress.start(),
  done: () => typeof window !== "undefined" && NProgress.done(),
};

export default function TopProgress() {
  const pathname = usePathname();

  useEffect(() => {
    // Réglages: pas de spinner, vitesse du trickle
    NProgress.configure({
      showSpinner: false,
      trickleSpeed: 120,
      minimum: 0.08,
      // tu peux ajuster la couleur via CSS (voir section 5)
    });
  }, []);

  // À chaque changement de route (quand la nouvelle page est montée): FIN
  useEffect(() => {
    // Petit délai pour laisser le temps au rendu (évite un flash si ultra rapide)
    const t = setTimeout(() => progress.done(), 50);
    return () => clearTimeout(t);
  }, [pathname]);

  return null;
}