PageSourceSearch

https://dopezine.co.jp/_next/static/chunks/9921.06f87769f1e61441.js

js dopezine.co.jp collected 2026-10-04 19:23:13 UTC 3,793 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9921],{9921:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var r=n(7876),a=n(4232),s=n(5616),u=n(2679),l=n(8492);class i extends a.Component{static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?null:this.props.children}constructor(...e){super(...e),this.state={hasError:!1}}}let o=e=>{let{density:t,baseAlpha:n,glitchStrength:u,glitchIntervalSec:i,mouseRef:o,animate:c}=e,d=(0,a.useRef)(null),v=(0,a.useRef)(2),h=(0,a.useRef)(0),f=(0,a.useMemo)(()=>({uTime:{value:0},uMouse:{value:new l.Vector2(.5,.5)},uRes:{value:new l.Vector2(1,1)},uGlitch:{value:0},uDensity:{value:t},uBaseAlpha:{value:n}}),[]);return(0,s.F)(e=>{let{clock:r,size:a}=e;if(!d.current)return;let s=r.getElapsedTime(),l=d.current.uniforms;c&&(l.uTime.value=s),l.uRes.value.set(a.width,a.height),l.uDensity.value=t,l.uBaseAlpha.value=n,l.uMouse.value.set(o.current.x,1-o.current.y),c&&s>v.current&&(h.current=s+.25,v.current=s+i*(.7+.6*Math.random())),l.uGlitch.value=s<h.current?u:0}),(0,r.jsxs)("mesh",{children:[(0,r.jsx)("planeGeometry",{args:[2,2]}),(0,r.jsx)("shaderMaterial",{ref:d,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n  vUv = uv;\n  gl_Position = vec4(position, 1.0);\n}\n",fragmentShader:"\nprecision highp float;\nuniform float uTime;\nuniform vec2 uMouse;\nuniform vec2 uRes;\nuniform float uGlitch;\nuniform float uDensity;\nuniform float uBaseAlpha;\nvarying vec2 vUv;\nvoid main() {\n  float aspect = uRes.x / uRes.y;\n  float row = floor(vUv.y * uRes.y / 3.0);\n  float jit = (fract(sin(row * 91.7 + floor(uTime * 17.0)) * 43758.5) - 0.5) * 0.03 * uGlitch;\n  vec2 uv = vec2(vUv.x + jit, vUv.y);\n  vec2 g = uv * vec2(aspect, 1.0) * uDensity + vec2(uTime * 0.05, uTime * 0.03);\n  float d = distance(vec2(uv.x * aspect, uv.y), vec2(uMouse.x * aspect, uMouse.y));\n  float ripple = sin(d * 40.0 - uTime * 4.0) * exp(-d * 5.0);\n  float radius = 0.14 + 0.10 * ripple;\n  vec2 off = vec2(0.30, 0.0) * uGlitch;\n  float dR = smoothstep(radius, radius - 0.07, length(fract(g + off) - 0.5));\n  float dG = smoothstep(radius, radius - 0.07, length(fract(g) - 0.5));\n  float dB = smoothstep(radius, radius - 0.07, length(fract(g - off) - 0.5));\n  float scan = sin(uv.y * uRes.y * 1.2 + uTime * 30.0) * 0.5 + 0.5;\n  float dmax = max(dR, max(dG, dB));\n  float alpha = dmax * (uBaseAlpha + 0.10 * scan * uGlitch + 0.20 * exp(-d * 5.0));\n  vec3 col = vec3(dR, dG * 0.92, dB * 0.84) / max(dmax, 0.001);\n  gl_FragColor = vec4(col, alpha);\n}\n",uniforms:f,transparent:!0,depthWrite:!1})]})},c=e=>{let{density:t=120,baseAlpha:n=.11,glitchStrength:s=2,glitchIntervalSec:l=13}=e,c=(0,a.useRef)(null),d=(0,a.useRef)({x:-10,y:-10}),[v,h]=(0,a.useState)(!1),[f,m]=(0,a.useState)(!1),[p,g]=(0,a.useState)(!1),[x,w]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{m(window.matchMedia("(prefers-reduced-motion: reduce)").matches),w(window.matchMedia("(pointer: coarse)").matches);let e=c.current;if(!e)return;let t=new IntersectionObserver(e=>h(e[0].isIntersecting),{threshold:.05});t.observe(e);let n=t=>{let n=e.getBoundingClientRect();d.current={x:(t.clientX-n.left)/Math.max(n.width,1),y:(t.clientY-n.top)/Math.max(n.height,1)}};return window.addEventListener("mousemove",n),()=>{t.disconnect(),window.removeEventListener("mousemove",n)}},[]),p)?null:(0,r.jsx)("div",{ref:c,className:"fv-dotfield","aria-hidden":!0,children:(0,r.jsx)(i,{children:(0,r.jsx)(u.Hl,{dpr:x?[1,1.25]:[1,1.5],gl:{alpha:!0,antialias:!1,powerPreference:"low-power"},frameloop:v&&!f?"always":"never",onCreated:e=>{let{gl:t}=e;t.domElement.addEventListener("webglcontextlost",e=>{e.preventDefault(),g(!0)})},children:(0,r.jsx)(o,{density:x?Math.min(t,70):t,baseAlpha:n,glitchStrength:s,glitchIntervalSec:l,mouseRef:d,animate:!f})})})})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.