import { useEffect } from 'react'; /** * SharedHeader * * Dynamically loads the shared header script from your static site. * Renders nothing itself — the script injects the header into . * * Usage: * import SharedHeader from '@/components/SharedHeader'; * // Place it once in your root layout: * * * To bust cache after updating header.js, change the version param: * const HEADER_URL = 'https://quantumtaskai.com/header.js?v=2'; */ const HEADER_URL = 'https://quantumtaskai.com/header.js'; export default function SharedHeader() { useEffect(() => { // Avoid loading twice (e.g. StrictMode double-invoke) if (document.getElementById('sh-header')) return; if (document.querySelector(`script[src="${HEADER_URL}"]`)) return; const script = document.createElement('script'); script.src = HEADER_URL; script.async = true; document.body.appendChild(script); return () => { // Clean up on unmount const injectedScript = document.querySelector(`script[src="${HEADER_URL}"]`); if (injectedScript) injectedScript.remove(); const injectedHeader = document.getElementById('sh-header'); if (injectedHeader) injectedHeader.remove(); const injectedStyles = document.getElementById('sh-styles'); if (injectedStyles) injectedStyles.remove(); }; }, []); return null; }