1import{a as p,r as a,j as e,L as o,s as f}from"./index-Cqd0JOc_.js";import{B as l}from"./button-BF8JIYbj.js";import{C as h,a as j}from"./card-BcVuNMRk.js";import{M as g}from"./mail-DQ_txK33.js";import{L as N}from"./loader-circle-BS6OsW3x.js";import{C as w}from"./circle-check-DS1KkgIu.js";import{C as v}from"./circle-x-DYIUPitU.js";import"./index-DEqiOm32.js";import"./createLucideIcon-BUgdZWmp.js";const M=()=>{const[c]=p(),s=c.get("email")||"",i=c.get("token")||"",[t,n]=a.useState("idle"),[x,m]=a.useState(""),u=async()=>{if(!s||!i){n("error"),m("Lien invalide ou incomplet.");return}n("loading");try{const{data:r,error:d}=await f.functions.invoke("newsletter-unsubscribe",{body:{email:s,token:i}});if(d)throw new Error(d.message);if(r!=null&&r.error)throw new Error(r.error);n("success")}catch(r){n("error"),m(r.message||"Une erreur est survenue.")}};return a.useEffect(()=>{document.title="Se désinscrire â SkillKa.ai",s&&i&&t==="idle"&&u()},[s,i]),e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background px-4",children:e.jsx(h,{className:"w-full max-w-md",children:e.jsxs(j,{className:"pt-8 pb-8 text-center space-y-4",children:[e.jsx("div",{className:"mx-auto w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center",children:e.jsx(g,{className:"w-6 h-6 text-primary"})}),e.jsx("h1",{className:"text-2xl font-bold",children:"Désinscription newsletter"}),t==="idle"&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-muted-foreground",children:["Vous êtes sur le point de vous désinscrire des emails marketing de SkillKa.ai",s&&e.jsxs(e.Fragment,{children:[" ","(",e.jsx("span",{className:"font-medium text-foreground",children:s}),")"]}),". Vous continuerez à recevoir les emails essentiels liés à votre compte."]}),e.jsx(l,{onClick:u,className:"w-full",size:"lg",children:"Confirmer la désinscription"}),e.jsx(o,{to:"/",className:"text-sm text-muted-foreground hover:underline block",children:"Annuler et retourner à l'accueil"})]}),t==="loading"&&e.jsx("div",{className:"flex items-center justify-center py-6",children:e.jsx(N,{className:"w-6 h-6 animate-spin text-primary"})}),t==="success"&&e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"w-12 h-12 text-green-600 mx-auto"}),e.jsx("p",{className:"text-foreground font-medium",children:"Désinscription confirmée"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Vous ne recevrez plus de newsletters de SkillKa.ai. Vous pouvez vous réinscrire à tout moment depuis vos paramètres."}),e.jsx(o,{to:"/",children:e.jsx(l,{variant:"outline",className:"w-full",children:"Retour à l'accueil"})})]}),t==="error"&&e.jsxs(e.Fragment,{children:[e.jsx(v,{className:"w-12 h-12 text-destructive mx-auto"}),e.jsx("p",{className:"text-foreground font-medium",children:"Ãchec de la désinscription"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:x}),e.jsx(o,{to:"/",children:e.jsx(l,{variant:"outline",className:"w-full",children:"Retour à l'accueil"})})]})]})})})};export{M 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.