diff --git a/src/components/background-paper-shaders-wrapper.tsx b/src/components/background-paper-shaders-wrapper.tsx index 988812e..1bf3bd9 100644 --- a/src/components/background-paper-shaders-wrapper.tsx +++ b/src/components/background-paper-shaders-wrapper.tsx @@ -1,19 +1,40 @@ "use client" +import { useEffect, useState } from "react" import { MeshGradient } from "@paper-design/shaders-react" import { cn } from "@/lib/utils" +function isWebGL2Supported(): boolean { + try { + const canvas = document.createElement("canvas") + const gl = canvas?.getContext("webgl2") ?? canvas?.getContext("webgl") + return Boolean(gl) + } catch { + return false + } +} + export default function BackgroundPaperShadersWrapper({ className }: { className?: string }) { + const [supportsWebGL, setSupportsWebGL] = useState(true) + + useEffect(() => { + setSupportsWebGL(isWebGL2Supported()) + }, []) + const speed = 1.0 return (
- + {supportsWebGL ? ( + + ) : ( +
+ )}
) }