1import{j as e}from"./vendor-radix-BgQ1tEw6.js";import{k as u,r as n}from"./vendor-react-DXpIY7U8.js";import{C as x,w as h,Q as p,E as f,a as j,B as v,s as N}from"./index-DjWeVXQh.js";import{V as g,a8 as C,aq as w}from"./vendor-utils-C1PKCXFi.js";import"./vendor-supabase-DoLSl-Em.js";function D(){const[c]=u(),s=c.get("email")||"",a=c.get("token")||"",[r,i]=n.useState("idle"),[d,m]=n.useState(null),l=async()=>{i("loading");try{const{data:t,error:o}=await N.functions.invoke("outreach-unsubscribe",{body:{email:s,token:a}});if(o)throw o;if(!t?.success)throw new Error(t?.error||"Ãchec de la désinscription");i("success")}catch(t){m(t?.message||"Une erreur est survenue"),i("error")}};return n.useEffect(()=>{s&&a&&r==="idle"&&l()},[s,a]),e.jsx("div",{className:"min-h-[70vh] flex items-center justify-center p-4",children:e.jsxs(x,{className:"max-w-md w-full",children:[e.jsxs(h,{children:[e.jsx(p,{children:"Désinscription"}),e.jsx(f,{children:s?`Adresse : ${s}`:"Aucune adresse email fournie."})]}),e.jsxs(j,{className:"space-y-4",children:[r==="loading"&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(g,{className:"h-4 w-4 animate-spin"}),e.jsx("span",{children:"Désinscription en coursâ¦"})]}),r==="success"&&e.jsxs("div",{className:"flex items-start gap-2 text-green-600",children:[e.jsx(C,{className:"h-5 w-5 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Vous êtes désinscrit·e."}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Vous ne recevrez plus d'invitations à laisser un avis. Merci pour votre attention."})]})]}),r==="error"&&e.jsxs("div",{className:"flex items-start gap-2 text-destructive",children:[e.jsx(w,{className:"h-5 w-5 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Ãchec de la désinscription"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:d})]})]}),r==="idle"&&s&&e.jsx(v,{onClick:l,className:"w-full",children:"Confirmer ma désinscription"}),!s&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"Le lien de désinscription est incomplet. Merci de cliquer à nouveau sur le lien dans l'email reçu."})]})]})})}export{D 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.