'use client'; import { useEffect, useRef } from "react"; const useTradingViewWidget = (scriptUrl: string, config: Record, height = 600) => { const containerRef = useRef(null); useEffect(() => { if (!containerRef.current) return; if (containerRef.current.dataset.loaded) return; containerRef.current.innerHTML = `
`; const script = document.createElement("script"); script.src = scriptUrl; script.async = true; script.innerHTML = JSON.stringify(config); containerRef.current.appendChild(script); containerRef.current.dataset.loaded = 'true'; return () => { if(containerRef.current) { containerRef.current.innerHTML = ''; delete containerRef.current.dataset.loaded; } } }, [scriptUrl, config, height]) return containerRef; } export default useTradingViewWidget