ispmail-workaround-org/_astro/page.B_tncCx8.js
forgejo-actions[bot] 1ded9972a6 Update dist for stage
2026-06-05 22:00:25 +00:00

1 line
2.2 KiB
JavaScript

const v={},d=new Set,s=new WeakSet;let f=!0,h,l=!1;function g(e){l||(l=!0,f??=!1,h??="hover",p(),w(),y(),S())}function p(){for(const e of["touchstart","mousedown"])document.addEventListener(e,t=>{const n=t.target.closest("a");i(n,"tap")&&c(n.href,{ignoreSlowConnection:!0})},{passive:!0})}function w(){let e;document.body.addEventListener("focusin",o=>{const r=o.target.closest("a");i(r,"hover")&&t(r.href)},{passive:!0}),document.body.addEventListener("focusout",n,{passive:!0}),u(()=>{for(const o of document.getElementsByTagName("a"))s.has(o)||i(o,"hover")&&(s.add(o),o.addEventListener("mouseenter",r=>t(r.currentTarget.href),{passive:!0}),o.addEventListener("mouseleave",n,{passive:!0}))});function t(o){e&&clearTimeout(e),e=setTimeout(()=>{c(o)},80)}function n(){e&&(clearTimeout(e),e=0)}}function y(){let e;u(()=>{for(const t of document.getElementsByTagName("a"))s.has(t)||i(t,"viewport")&&(s.add(t),e??=L(),e.observe(t))})}function L(){const e=new WeakMap;return new IntersectionObserver((t,n)=>{for(const o of t){const r=o.target,a=e.get(r);o.isIntersecting?(a&&clearTimeout(a),e.set(r,setTimeout(()=>{n.unobserve(r),e.delete(r),c(r.href)},300))):a&&(clearTimeout(a),e.delete(r))}})}function S(){u(()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&c(e.href)})}function c(e,t){e=e.replace(/#.*/,"");const n=t?.ignoreSlowConnection??!1;if(T(e,n))if(d.add(e),document.createElement("link").relList?.supports?.("prefetch")){const o=document.createElement("link");o.rel="prefetch",o.setAttribute("href",e),document.head.append(o)}else{const o=new Headers;for(const[r,a]of Object.entries(v))o.set(r,a);fetch(e,{priority:"low",headers:o})}}function T(e,t){if(!navigator.onLine||!t&&m())return!1;try{const n=new URL(e,location.href);return location.origin===n.origin&&(location.pathname!==n.pathname||location.search!==n.search)&&!d.has(e)}catch{}return!1}function i(e,t){if(e?.tagName!=="A")return!1;const n=e.dataset.astroPrefetch;return n==="false"?!1:t==="tap"&&(n!=null||f)&&m()?!0:n==null&&f||n===""?t===h:n===t}function m(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",()=>{if(!t){t=!0;return}e()})}g();