'use client'; import { CheckIcon, CopyIcon } from '@phosphor-icons/react'; import React, { useEffect, useMemo, useState } from 'react'; import { useTheme } from 'next-themes'; import SyntaxHighlighter from 'react-syntax-highlighter'; import darkTheme from './CodeBlockDarkTheme'; import lightTheme from './CodeBlockLightTheme'; const CodeBlock = ({ language, children, }: { language: string; children: React.ReactNode; }) => { const { resolvedTheme } = useTheme(); const [mounted, setMounted] = useState(false); const [copied, setCopied] = useState(false); useEffect(() => { setMounted(true); }, []); const syntaxTheme = useMemo(() => { if (!mounted) return lightTheme; return resolvedTheme === 'dark' ? darkTheme : lightTheme; }, [mounted, resolvedTheme]); return (
{children as string}
); }; export default CodeBlock;