import { memo, useState, useEffect } from 'react'; import type { ReactNode } from 'react'; /** * 차트 지연 로딩을 위한 래퍼 컴포넌트 * 스켈레톤 UI 표시 후 차트 렌더링 */ interface ChartWrapperProps { children: ReactNode; delay?: number; height?: number; } export const ChartWrapper = memo(function ChartWrapper({ children, delay = 100, height = 300 }: ChartWrapperProps) { const [showChart, setShowChart] = useState(false); useEffect(() => { const timer = setTimeout(() => setShowChart(true), delay); return () => clearTimeout(timer); }, [delay]); if (!showChart) { return (