'use client'; import dynamic from 'next/dynamic'; import { useMemo } from 'react'; import * as THREE from 'three'; // Force client-side execution to bypass Next.js Server-Side Rendering const SmokeScene = dynamic( () => import('react-smoke').then((mod: any) => mod.SmokeScene) as Promise, { ssr: false } ) as React.ComponentType; export default function RealisticSmoke() { // Memoize color to prevent unnecessary React re-renders on the canvas const smokeColor = useMemo(() => new THREE.Color("#555555"), []); return (
); }