1import{r as d,u as h,j as e,a as g,L as p}from"./index-DCivqqn7.js";const f="__Host-oauth_state",b=600;function u(t){return btoa(JSON.stringify(t))}const y=(t="/")=>{const r="https://manus.im",c="KxQH6i6s6Zj9YDX5isSWfw",s=`${window.location.origin}/api/oauth/callback`,n=crypto.randomUUID();document.cookie=`${f}=${n}; Path=/; Max-Age=${b}; SameSite=None; Secure`;const o=u({redirectUri:s,nonce:n,returnPath:t}),a=new URL(`${r}/login`);return a.searchParams.set("app_id",c),a.searchParams.set("redirect_url",s),a.searchParams.set("state",o),a.toString()},x="/api/board-portal/documents/2026-27-meeting-dates",l={fontFamily:"'DM Sans', sans-serif",fontWeight:700,fontSize:"0.78rem",letterSpacing:"0.12em",textTransform:"uppercase",color:"#b41f60",marginBottom:"0.75rem"};function j(){const[t,r]=d.useState("checking"),[c,s]=d.useState("2026â27 Board Meeting Dates");h({title:"Board Portal",description:"Private Opera Santa Barbara Board Portal.",url:"https://operasb.org/board-portal",robots:"noindex,nofollow,noarchive"}),d.useEffect(()=>{const o=new AbortController;async function a(){try{const i=await(await fetch("/api/board-portal/access",{credentials:"include",signal:o.signal,cache:"no-store"})).json();if(i.access==="granted"){s(i.document?.label??"2026â27 Board Meeting Dates"),r("granted");return}r(i.access==="sign-in"||i.access==="denied"?i.access:"error")}catch(m){m.name!=="AbortError"&&r("error")}}return a(),()=>o.abort()},[]);const n=()=>{window.location.assign(y("/board-portal"))};return e.jsxs(g,{children:[e.jsxs("div",{className:"container",style:{borderBottom:"2px solid #b41f60",paddingTop:"3rem",paddingBottom:"2rem",marginBottom:"3rem"},children:[e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",fontWeight:600,fontSize:"0.72rem",letterSpacing:"0.15em",textTransform:"uppercase",color:"#b41f60",marginBottom:"0.75rem"},children:"Opera Santa Barbara"}),e.jsx("h1",{style:{fontFamily:"'Libre Baskerville', serif",fontWeight:400,fontSize:"clamp(2rem, 5vw, 3rem)",lineHeight:1.15,marginBottom:"1rem"},children:"Board Portal"}),e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",fontWeight:300,fontSize:"1rem",color:"#555",maxWidth:"42rem",lineHeight:1.7,margin:0},children:"A private space for Opera Santa Barbara Board materials, updates, and meeting resources."})]}),e.jsxs("main",{className:"container",style:{paddingBottom:"5rem"},children:[t==="checking"&&e.jsx("section",{"aria-live":"polite",style:{maxWidth:"42rem",padding:"1.5rem 0"},children:e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",color:"#555",margin:0},children:"Checking secure accessâ¦"})}),t==="sign-in"&&e.jsxs("section",{"aria-labelledby":"board-portal-sign-in-heading",style:{maxWidth:"42rem",background:"#fdf4f7",borderLeft:"4px solid #b41f60",borderRadius:"0 4px 4px 0",padding:"1.5rem"},children:[e.jsx("p",{style:l,children:"Secure access"}),e.jsx("h2",{id:"board-portal-sign-in-heading",style:{fontFamily:"'Libre Baskerville', serif",fontWeight:400,fontSize:"clamp(1.35rem, 3vw, 1.8rem)",lineHeight:1.35,marginBottom:"0.8rem"},children:"Sign in to continue"}),e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",fontWeight:300,color:"#333",lineHeight:1.7,marginBottom:"1.25rem"},children:"This temporary portal is limited to KPâs designated Opera Santa Barbara account."}),e.jsx("button",{className:"osb-btn-tickets",type:"button",onClick:n,children:"Sign in with Manus"})]}),t==="denied"&&e.jsxs("section",{"aria-labelledby":"board-portal-denied-heading",style:{maxWidth:"42rem",background:"#fdf4f7",borderLeft:"4px solid #b41f60",borderRadius:"0 4px 4px 0",padding:"1.5rem"},children:[e.jsx("p",{style:l,children:"Access restricted"}),e.jsx("h2",{id:"board-portal-denied-heading",style:{fontFamily:"'Libre Baskerville', serif",fontWeight:400,fontSize:"clamp(1.35rem, 3vw, 1.8rem)",lineHeight:1.35,marginBottom:"0.8rem"},children:"This account does not have Board Portal access"}),e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",fontWeight:300,color:"#333",lineHeight:1.7,margin:0},children:"Individual Board email access will be added after the approved list is supplied."})]}),t==="error"&&e.jsx("section",{"aria-live":"assertive",style:{maxWidth:"42rem",padding:"1.5rem 0"},children:e.jsx("p",{style:{fontFamily:"'DM Sans', sans-serif",color:"#333",lineHeight:1.7,margin:0},children:"Secure access is temporarily unavailable. Please try again shortly."})}),t==="granted"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{"aria-labelledby":"board-documents-heading",style:{maxWidth:"52rem"},children:[e.jsx("p",{style:l,children:"Board documents"}),e.jsx("h2",{id:"board-documents-heading",style:{fontFamily:"'Libre Baskerville', serif",fontWeight:400,fontSize:"clamp(1.35rem, 3vw, 1.8rem)",lineHeight:1.35,marginBottom:"1.25rem"},children:"Meeting resources"}),e.jsxs("a",{href:x,className:"osb-btn-tickets",style:{textDecoration:"none"},children:["Open ",c," (PDF)"]})]}),e.jsxs("section",{"aria-labelledby":"board-portal-email-video-heading",style:{maxWidth:"52rem",marginTop:"3.5rem"},children:[e.jsx("p",{style:l,children:"Email help"}),e.jsx("h2",{id:"board-portal-email-video-heading",style:{fontFamily:"'Libre Baskerville', serif",fontWeight:400,fontSize:"clamp(1.35rem, 3vw, 1.8rem)",lineHeight:1.35,marginBottom:"1.25rem"},children:"How to never miss an OSB email"}),e.jsxs("a",{href:"https://youtu.be/gQ-D5kKGigc","aria-label":"Watch How to never miss an OSB email on YouTube",style:{position:"relative",display:"block",width:"100%",aspectRatio:"16 / 9",overflow:"hidden",backgroundColor:"#111"},children:[e.jsx("img",{src:"https://i.ytimg.com/vi/gQ-D5kKGigc/maxresdefault.jpg",alt:"How to never miss an OSB email",loading:"lazy",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}),e.jsx("span",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0, 0, 0, 0.26)"},children:e.jsx("span",{className:"osb-btn-tickets",style:{pointerEvents:"none"},children:"Watch on YouTube"})})]})]})]}),e.jsx(p,{href:"/about",style:{display:"inline-block",marginTop:"2rem",fontFamily:"'DM Sans', sans-serif",fontSize:"0.85rem",color:"#b41f60",textDecoration:"none",borderBottom:"1px solid #b41f60"},children:"â Back to About"})]})]})}export{j as default};
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.