18 lines
726 B
TypeScript
18 lines
726 B
TypeScript
import { useReducedMotion } from '../hooks/useReducedMotion'
|
|
|
|
export default function NoiseOverlay() {
|
|
const reducedMotion = useReducedMotion()
|
|
if (reducedMotion) return null
|
|
|
|
return (
|
|
<div
|
|
className="fixed inset-0 z-[55] pointer-events-none opacity-[0.015]"
|
|
style={{
|
|
backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`,
|
|
backgroundRepeat: 'repeat',
|
|
backgroundSize: '128px 128px',
|
|
}}
|
|
/>
|
|
)
|
|
}
|