PageSourceSearch

https://airwaveai-bz7lhntu.manus.space/assets/Unsubscribe-DagtV0I4.js

js airwaveai-bz7lhntu.manus.space collected 2026-10-03 05:00:56 UTC 4,590 bytes, 1 lines download raw bytes

1import{a,j as e}from"./vendor-CbN_FLw4.js";import{M as x}from"./mail-DEIcc1M2.js";import{C as p}from"./circle-check-BmO7SfY6.js";import{C as h}from"./circle-x-GVMovFj0.js";import{S as g}from"./shield-check-Dx4XFBHZ.js";import"./index-ClmhQYHE.js";import"./ui-29psSSNT.js";function o(){return new URLSearchParams(window.location.search).get("email")??""}function v(){const[i,d]=a.useState(o),[t,r]=a.useState("idle"),[b,n]=a.useState(""),m=a.useMemo(()=>!!o(),[]);async function u(c){c.preventDefault(),r("submitting"),n("");try{const s=await fetch("/api/roku/unsubscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:i})}),l=await s.json();if(!s.ok||!l.ok)throw new Error(l.error||"Unable to process your request.");r("done")}catch(s){r("error"),n(s instanceof Error?s.message:"Unable to process your request.")}}return e.jsx("main",{"data-loc":"client/src/pages/Unsubscribe.tsx:34",className:"min-h-screen bg-[#09070c] px-4 py-14 text-white",children:e.jsxs("section",{"data-loc":"client/src/pages/Unsubscribe.tsx:35",className:"mx-auto max-w-xl overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-b from-[#1d1324] to-[#09070c] shadow-2xl shadow-fuchsia-950/30",children:[e.jsxs("div",{"data-loc":"client/src/pages/Unsubscribe.tsx:36",className:"border-b border-white/10 bg-gradient-to-r from-fuchsia-950/80 to-cyan-950/70 px-7 py-8",children:[e.jsx("div",{"data-loc":"client/src/pages/Unsubscribe.tsx:37",className:"mb-4 flex h-12 w-12 items-center justify-center rounded-2xl bg-white/10 text-cyan-200",children:e.jsx(x,{"data-loc":"client/src/pages/Unsubscribe.tsx:37"})}),e.jsx("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:38",className:"text-xs font-black uppercase tracking-[0.2em] text-cyan-200",children:"Andora Radio Listener Pass"}),e.jsx("h1",{"data-loc":"client/src/pages/Unsubscribe.tsx:39",className:"mt-2 text-3xl font-black",children:"Unsubscribe from marketing"}),e.jsx("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:40",className:"mt-3 text-sm leading-6 text-white/70",children:"This is one step, with no password, account login, survey, or follow-up required."})]}),e.jsx("div",{"data-loc":"client/src/pages/Unsubscribe.tsx:42",className:"p-7",children:t==="done"?e.jsxs("div",{"data-loc":"client/src/pages/Unsubscribe.tsx:44",className:"rounded-2xl border border-emerald-400/30 bg-emerald-400/10 p-6 text-center",children:[e.jsx(p,{"data-loc":"client/src/pages/Unsubscribe.tsx:45",className:"mx-auto mb-3 h-10 w-10 text-emerald-300"}),e.jsx("h2",{"data-loc":"client/src/pages/Unsubscribe.tsx:46",className:"text-xl font-black",children:"You’re unsubscribed."}),e.jsx("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:47",className:"mt-2 text-sm leading-6 text-white/70",children:"Marketing consent has been withdrawn for this email address. You will no longer receive Andora Radio marketing messages."})]}):e.jsxs("form",{"data-loc":"client/src/pages/Unsubscribe.tsx:50",className:"space-y-5",onSubmit:u,children:[e.jsx("label",{"data-loc":"client/src/pages/Unsubscribe.tsx:51",className:"block text-sm font-bold text-white/90",htmlFor:"unsubscribe-email",children:"Email address"}),e.jsx("input",{"data-loc":"client/src/pages/Unsubscribe.tsx:52",id:"unsubscribe-email",type:"email",required:!0,autoComplete:"email",value:i,onChange:c=>d(c.target.value),className:"w-full rounded-xl border border-white/15 bg-black/30 px-4 py-3 text-white outline-none transition focus:border-cyan-300",placeholder:"[email protected]"}),m&&e.jsx("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:62",className:"text-xs text-white/45",children:"Your email was prefilled from the unsubscribe link."}),t==="error"&&e.jsxs("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:63",className:"flex items-center gap-2 text-sm text-rose-300",children:[e.jsx(h,{"data-loc":"client/src/pages/Unsubscribe.tsx:63",className:"h-4 w-4"}),b]}),e.jsx("button",{"data-loc":"client/src/pages/Unsubscribe.tsx:64",type:"submit",disabled:t==="submitting",className:"w-full rounded-xl bg-cyan-300 px-5 py-3 font-black text-slate-950 transition hover:bg-cyan-200 disabled:cursor-wait disabled:opacity-60",children:t==="submitting"?"Unsubscribing…":"Unsubscribe"}),e.jsxs("p",{"data-loc":"client/src/pages/Unsubscribe.tsx:71",className:"flex gap-2 text-xs leading-5 text-white/45",children:[e.jsx(g,{"data-loc":"client/src/pages/Unsubscribe.tsx:71",className:"mt-0.5 h-4 w-4 shrink-0 text-cyan-200"}),"This removes marketing consent only. It does not affect any purchases, access, or support messages you may 
1need."]})]})})]})})}export{v 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.