PageSourceSearch

https://podfriend.com/assets/MobilePage-CwRqjDx6.js

js podfriend.com collected 2026-10-02 10:12:27 UTC 2,600 bytes, 1 lines download raw bytes

1import{r as e,m as T,j as f,p as I,P as p,N as L,q as M}from"./vendor-react-DOIQJm1M.js";const d=768,v=1024,h=1200;function k(){const[s,i]=e.useState(!1);return e.useEffect(()=>{const t=window.matchMedia(`(max-width: ${d-1}px)`),n=()=>{i(window.innerWidth<d)};return t.addEventListener("change",n),i(window.innerWidth<d),()=>t.removeEventListener("change",n)},[]),!!s}function R(){const[s,i]=e.useState(!1);return e.useEffect(()=>{const t=window.matchMedia(`(min-width: ${d}px) and (max-width: ${v-1}px)`),n=()=>{const r=window.innerWidth;i(r>=d&&r<v)};return t.addEventListener("change",n),n(),()=>t.removeEventListener("change",n)},[]),!!s}function W(){const[s,i]=e.useState(!1);return e.useEffect(()=>{const t=window.matchMedia(`(min-width: ${h}px)`),n=()=>{i(window.innerWidth>=h)};return t.addEventListener("change",n),i(window.innerWidth>=h),()=>t.removeEventListener("change",n)},[]),!!s}const B={title:"",titleVisible:!0,canGoBack:!1},m=e.createContext(null);function H({children:s}){var b,x;const[i,t]=e.useState(B),n=T(),r=e.useRef(typeof window<"u"&&(x=(b=window.history.state)==null?void 0:b.idx)!=null?x:0);e.useEffect(()=>{var l,E;const a=(E=(l=window.history.state)==null?void 0:l.idx)!=null?E:0;t({title:"",titleVisible:!0,canGoBack:a>r.current})},[n]);const o=e.useCallback(a=>{t(l=>({...l,title:a})),document.title=a?`${a} - Podfriend`:"Podfriend"},[]),u=e.useCallback(a=>{t(l=>({...l,titleVisible:a}))},[]),c=e.useCallback(()=>{t(a=>({...a,title:"",titleVisible:!0}))},[]),w=e.useMemo(()=>({state:i,setTitle:o,setTitleVisible:u,clear:c}
1),[i,o,u,c]);return f.jsx(m.Provider,{value:w,children:s})}const C={state:{title:"",titleVisible:!1,canGoBack:!1},setTitle:()=>{},setTitleVisible:()=>{},clear:()=>{}};function g(){const s=e.useContext(m);if(!s){if(typeof window>"u")return C;throw new Error("useHeader must be used within HeaderProvider")}return s}function S(s){const{setTitle:i,setTitleVisible:t,clear:n}=g(),r=e.useRef(null),o=k(),u=e.useCallback(c=>{r.current&&(r.current.disconnect(),r.current=null),!(!c||o)&&(r.current=new IntersectionObserver(([w])=>t(w.isIntersecting),{rootMargin:"-48px 0px 0px 0px",threshold:0}),r.current.observe(c))},[t,o]);return e.useEffect(()=>{i(s.title)},[s.title,i]),e.useEffect(()=>()=>{n(),r.current&&r.current.disconnect()},[n]),{titleRef:u}}function V({title:s,large:i=!1,transparent:t=!1,right:n,children:r}){const{state:o}=g(),u=I(),c=i&&!o.canGoBack;return f.jsxs(p,{children:[f.jsx(L,{title:s,large:c,transparent:t,left:o.canGoBack?f.jsx(M,{onClick:()=>u(-1)}):void 0,right:n}),r]})}export{H,V as M,S as a,g as b,R as c,W as d,k as u};

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.