1import{r as s,j as e,N as f,F as g,i as N}from"./index-Bp_CAvEw.js";import{P as v}from"./PageSeo-DQCAMxZF.js";import{S as a}from"./skeleton-8nNiBEHG.js";import{s as w}from"./sanitize--l7xDC1P.js";import"./purify.es-Dqc4LzU4.js";const I=()=>{const[d,m]=s.useState(""),[l,x]=s.useState("Privacy Policy"),[r,h]=s.useState(""),[c,u]=s.useState(null),[p,j]=s.useState(!0),[o,y]=s.useState(null);s.useEffect(()=>{(async()=>{try{const{data:t,error:i}=await N.functions.invoke("fetch-notion-page",{body:{pageTitle:"Privacy Policy"}});if(i)throw i;x(t.title||"Privacy Policy"),m(t.content),h(t.lastEdited),u(t.headerImage||null)}catch(t){console.error("Error fetching privacy policy:",t),y("Unable to load privacy policy. Please try again later.")}finally{j(!1)}})()},[]);const n=r?new Date(r).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"}):null;return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(v,{title:"Privacy Policy â Thread & Stack",description:"How Thread & Stack collects, uses, and protects your personal data. GDPR-aligned, plain English.",path:"/privacy"}),e.jsx(f,{}),e.jsx("main",{className:"pt-32 pb-20 px-6",children:e.jsx("article",{className:"max-w-4xl mx-auto",children:p?e.jsxs("div",{className:"space-y-4",children:[e.jsx(a,{className:"h-12 w-3/4"}),e.jsx(a,{className:"h-4 w-1/4"}),e.jsxs("div",{className:"space-y-3 mt-8",children:[e.jsx(a,{className:"h-4 w-full"}),e.jsx(a,{className:"h-4 w-full"}),e.jsx(a,{className:"h-4 w-5/6"}),e.jsx(a,{className:"h-4 w-full"}),e.jsx(a,{className:"h-4 w-4/5"})]})]}):o?e.jsx("div",{className:"text-center py-12",children:e.jsx("p",{className:"text-muted-foreground",children:o})}):e.jsxs(e.Fragment,{children:[c&&e.jsx("div",{className:"aspect-[21/9] overflow-hidden rounded-2xl mb-12",children:e.jsx("img",{src:c,alt:l,className:"w-full h-full object-cover"})}),e.jsxs("div",{className:"max-w-3xl mx-auto",children:[e.jsxs("header",{className:"mb-12",children:[e.jsx("h1",{className:"text-4xl md:text-5xl font-light mb-4",children:l}),n&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Last updated: ",n]})]}),e.jsx("div",{className:"blog-content prose prose-lg max-w-none",dangerouslySetInnerHTML:{__html:w(d)}})]})]})})}),e.jsx(g,{})]})};export{I 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.