PageSourceSearch

https://www.sailingpass.com/assets/MemberProtectedRoute-yJmgbuL-.js

js sailingpass.com collected 2026-10-10 02:43:58 UTC 986 bytes, 1 lines download raw bytes

1import{r as a,u as h,j as t,N as x}from"./vendor-react-ecosystem-Dp07Pd22.js";import{e as g,c as i}from"./index-Cq_k3jkN.js";import"./vendor-supabase-DHXAK7-R.js";import"./vendor-icons-DpK9k7bd.js";function y({children:u}){const{user:r,loading:c}=g(),[d,n]=a.useState(!1),[m,o]=a.useState(!1),s=h();if(a.useEffect(()=>{let e=!1;return(async()=>{const{data:{session:f}}=await i.auth.getSession();if(e)return;if(f){o(!0),n(!0);return}if(await new Promise(p=>setTimeout(p,400)),e)return;const{data:{session:l}}=await i.auth.getSession();o(!!l||!!r),n(!0)})(),()=>{e=!0}},[r]),c||!d)return t.jsx("div",{className:"min-h-screen flex items-center justify-center",children:t.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-4 border-blue-600 border-t-transparent"})});if(!m&&!r){const e=`${s.pathname}${s.search}`;return t.jsx(x,{to:`/login?redirect=${encodeURIComponent(e)}`,state:{from:s},replace:!0})}return t.jsx(t.Fragment,{children:u})}export{y as MemberProtectedRoute};

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.