Files
bridget/static/bundled/js/CObFM1.js
2024-02-20 20:17:00 +00:00

1 line
5.8 KiB
JavaScript

import{W as e,c as t,i as n,l as s,s as a,a as o,n as i,d as c,b as r,e as d}from"./main.js";const l=new e([]),g=new e(!1),u=new e(!1),h=new e(!1),p=document.createElement("div"),m=document.createElement("div");function v(e){const t=e.clientX,n=e.clientY;p.style.transform=`translate3d(${t}px, ${n}px, 0)`}function f(e){m.innerText=e}let w,y=[],E={x:0,y:0},L=!1;function x(){return l.get().map((e=>e.i))}function I(){const e=x().slice(-a.get().trailLength);return e.slice(0,e.length-1)}function W(){const e=x();return e[e.length-1]}function b(){const e=l.get(),t=a.get();return c(e[e.length-1].i,t.length)}function k(){const e=l.get(),t=a.get();return r(e[e.length-1].i,t.length)}function U(e){if(g.get()||n.get())return;if(!L)return void B();const t={x:e.clientX,y:e.clientY};if(Math.hypot(t.x-E.x,t.y-E.y)>a.get().threshold){E=t,o();const e={i:a.get().index,...t};l.set([...l.get(),e].slice(-a.get().length))}}function H(){if(n.get())return;g.set(!0),n.set(!0);const e=W(),t=O([e])[0];A(O([e,b(),k()])),M(t);const s=w.timeline(),a=O(I());s.to(a,{y:"+=20",ease:"power3.in",stagger:.075,duration:.3,delay:.1,opacity:0}),s.to(t,{x:0,y:0,ease:"power3.inOut",duration:.7,delay:.3}),s.to(t,{delay:.1,scale:1,ease:"power3.inOut"}),s.then((()=>{n.set(!1)})).catch((e=>{console.log(e)}))}function N(){if(n.get())return;g.set(!1),n.set(!0),i.set("none"),S(O([...I(),W()]));const e=w.timeline(),t=O([W()])[0],s=O(I());e.to(t,{scale:.6,duration:.6,ease:"power3.inOut"}),e.to(t,{delay:.3,duration:.7,ease:"power3.inOut",x:l.get()[l.get().length-1].x-window.innerWidth/2,y:l.get()[l.get().length-1].y-window.innerHeight/2}),e.to(s,{y:"-=20",ease:"power3.out",stagger:-.1,duration:.3,opacity:1}),e.then((()=>{n.set(!1)})).catch((e=>{console.log(e)}))}function O(e){return e.map((e=>y[e]))}function A(e){e.forEach((e=>{e.src!==e.dataset.hiUrl&&(e.src=e.dataset.hiUrl,e.height=parseInt(e.dataset.hiImgH),e.width=parseInt(e.dataset.hiImgW))}))}function S(e){e.forEach((e=>{e.src!==e.dataset.loUrl&&(e.src=e.dataset.loUrl,e.height=parseInt(e.dataset.loImgH),e.width=parseInt(e.dataset.loImgW))}))}function M(e){if(e.complete)w.set(e,{opacity:1}).then((()=>{h.set(!1)})).catch((e=>{console.log(e)}));else{h.set(!0);const t=new AbortController,n=t.signal;e.addEventListener("load",(()=>{w.to(e,{opacity:1,ease:"power3.out",duration:.5}).then((()=>{h.set(!1)})).catch((e=>{console.log(e)})).finally((()=>{t.abort()}))}),{once:!0,passive:!0,signal:n}),e.addEventListener("error",(()=>{w.set(e,{opacity:1}).then((()=>{h.set(!1)})).catch((e=>{console.log(e)})).finally((()=>{t.abort()}))}),{once:!0,passive:!0,signal:n})}}function B(){s().then((e=>{w=e,L=!0})).catch((e=>{console.log(e)}))}const C=[t.dataset.prev,t.dataset.close,t.dataset.next],T=t.dataset.loading+"...";let X="";function Y(e){e===C[0]?z():e===C[1]?N():j()}function $(e){if(!g.get()&&!n.get())switch(e.key){case"ArrowLeft":z();break;case"Escape":N();break;case"ArrowRight":j()}}function j(){n.get()||(i.set("next"),l.set(l.get().map((e=>({...e,i:r(e.i,a.get().length)})))),o())}function z(){n.get()||(i.set("prev"),l.set(l.get().map((e=>({...e,i:c(e.i,a.get().length)})))),d())}function F(e){Y(e),h.set(!1)}function R(e){X=e,f(e)}function q(e){h.get()||Y(e)}function D(e){X=e,h.get()?f(T):f(e)}function G(e){p.className="cursor",m.className="cursorInner",p.append(m),t.append(p),window.addEventListener("mousemove",v,{passive:!0}),u.addWatcher((e=>{e?p.classList.add("active"):p.classList.remove("active")})),function(e){!function(e){const n=document.createElement("div");n.className="stage";for(const t of e){const e=document.createElement("img");e.height=t.loImgH,e.width=t.loImgW,e.dataset.hiUrl=t.hiUrl,e.dataset.hiImgH=t.hiImgH.toString(),e.dataset.hiImgW=t.hiImgW.toString(),e.dataset.loUrl=t.loUrl,e.dataset.loImgH=t.loImgH.toString(),e.dataset.loImgW=t.loImgW.toString(),e.alt=t.alt,n.append(e)}t.append(n)}(e);const s=document.getElementsByClassName("stage").item(0);y=Array.from(s.getElementsByTagName("img")),y.forEach(((e,t)=>{t<5&&(e.src=e.dataset.loUrl),function(e,t,n={attributes:!0}){new MutationObserver(((e,n)=>{for(const s of e)if(t(s)){n.disconnect();break}})).observe(e,n)}(e,(s=>!g.get()&&!n.get()&&"style"===s.attributeName&&1===parseFloat(e.style.opacity)&&(t+5<y.length&&(y[t+5].src=y[t+5].dataset.loUrl),!0)))})),s.addEventListener("click",(()=>{H()}),{passive:!0}),s.addEventListener("keydown",(()=>{H()}),{passive:!0}),window.addEventListener("mousemove",U,{passive:!0}),g.addWatcher((e=>{u.set(e&&!n.get())})),n.addWatcher((e=>{u.set(g.get()&&!e)})),l.addWatcher((e=>{!function(){const e=x();if(0===e.length||!L)return;const t=O(e),n=g.get(),s=l.get(),o=a.get();if(w.set(t,{x:e=>s[e].x-window.innerWidth/2,y:e=>s[e].y-window.innerHeight/2,opacity:e=>Math.max((e+1+o.trailLength<=s.length?0:1)-(n?1:0),0),zIndex:e=>e,scale:.6}),n){const e=O([W()])[0],t=[],n=[];switch(i.get()){case"prev":t.push(b()),n.push(k());break;case"next":t.push(k()),n.push(b())}A(O(t)),w.set(O(n),{opacity:0}),w.set(e,{x:0,y:0,scale:1}),M(e)}else S(t)}()})),window.addEventListener("mousemove",(()=>{B()}),{once:!0,passive:!0})}(e),function(){h.addWatcher((e=>{f(e?T:X)}));const e=document.createElement("div");e.className="navOverlay";for(const[t,n]of C.entries()){const s=document.createElement("div");s.className="overlay",1===t?(s.addEventListener("click",(()=>{F(n)}),{passive:!0}),s.addEventListener("keydown",(()=>{F(n)}),{passive:!0}),s.addEventListener("mouseover",(()=>{R(n)}),{passive:!0}),s.addEventListener("focus",(()=>{R(n)}),{passive:!0})):(s.addEventListener("click",(()=>{q(n)}),{passive:!0}),s.addEventListener("keydown",(()=>{q(n)}),{passive:!0}),s.addEventListener("mouseover",(()=>{D(n)}),{passive:!0}),s.addEventListener("focus",(()=>{D(n)}),{passive:!0})),e.append(s)}u.addWatcher((()=>{u.get()?e.classList.add("active"):e.classList.remove("active")})),t.append(e),window.addEventListener("keydown",$,{passive:!0})}()}export{G as initDesktop};