import { type ReactNode, useEffect, useRef, useState } from "react"; import { createPortal } from "react-dom"; import { Link, useNavigate } from "react-router"; import { useAuth } from "../hooks/useAuth.ts"; export function AppHeader({ centerSlot }: { centerSlot?: ReactNode }) { const { user } = useAuth(); const navigate = useNavigate(); const headerRef = useRef(null); const [showFab, setShowFab] = useState(false); useEffect(() => { const el = headerRef.current; if (!el) return; const obs = new IntersectionObserver( ([entry]) => setShowFab(!entry.isIntersecting), { threshold: 0 }, ); obs.observe(el); return () => obs.disconnect(); }, []); return ( <>
🚚 gerbeur {centerSlot &&
{centerSlot}
}
{user && createPortal( , document.body, )} ); }