1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-BMycstL7.js","assets/index-CBU06HTg.js","assets/index-ByG2R2W5.css"])))=>i.map(i=>d[i]); 2import{j as e,_ as Nr}from"./index-CBU06HTg.js";import{r as d,R as C}from"./index-7ExPSliO.js";import{a as xr}from"./animations-CovUZXvn.js";import{c as gr,k as Ve,u as En,a8 as Xe,a9 as Ze,aa as Sn,ab as jn,ac as Cn,B as E,am as vr,T as wr,af as ze,ag as Be,ah as $e,ai as Ye,aj as We,X as gt,an as vt,n as Ce,ao as Er,S as wt,ap as B,aq as yr,e as kr,m as nt,ar as Dr,j as Sr,as as tt,at as jr,au as Cr,av as Vr,aw as Mr,Z as _r,v as Pr,Q as Tr,ax as Ar,ay as Fr}from"./AppEntry-BsKMboTZ.js";import{I as je}from"./input-tAFFd3F3.js";import{B as se}from"./badge-CALTO_0D.js";import{S as bn}from"./switch-Bw_f2J8t.js";import{A as rt,h as Or,a as st,b as it,c as ot,d as at,e as Lr,f as ct,g as lt}from"./alert-dialog-BUKxk4XY.js";import{R as Ir,C as Rr,a as Ur,P as M,D as zr,U as Br}from"./index-BlM9S8pH.js";import{L as re}from"./label-BHu01jtc.js";import{C as Nn,a as xn,b as gn,c as vn}from"./card-BMPJMqL8.js";import{C as yn}from"./credit-card-C2PkG5uj.js";import{C as Et}from"./circle-alert-B2bHO5XP.js";import{C as $r}from"./calendar-Dp0zNJ07.js";import{C as yt}from"./circle-check-big-BFzVh9h4.js";import{P as Ge}from"./pause-BEYTGBxK.js";import{S as wn}from"./settings-CpdmcjGT.js";import{E as ut}from"./eye-off-D60KXAg4.js";import{E as mt}from"./eye-BplkquP5.js";import{C as Yr}from"./crown-nOgFdzK-.js";import{E as Wr}from"./external-link-ZAnEW7o2.js";import{I as Jr}from"./info-CrNN0F0y.js";import{M as Hr}from"./mail-3Kvro8jq.js";import{S as Gr}from"./shield-DZREwIfu.js";import{C as qr}from"./circle-x-CQ8nsNHF.js";/** 3 * @license lucide-react v0.453.0 - ISC 4 * 5 * This source code is licensed under the ISC license. 6 * See the LICENSE file in the root directory of this source tree. 7 */const Kr=gr("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]),Xr=Ir,Zr=Rr,Qr=Ur,es=["Feminine","Masculine","Non-Binary","Fluid"],ns=["Young Adult","Middle-Aged","Mature","Timeless"],ts=["Modern","Artistic","Classic","Bohemian","Minimalist","Vintage"],rs=["Compassionate","Mystical","Wise","Playful","Nurturing","Bold","Gentle","Passionate","Serene","Dynamic"],ss=["Empathetic","Bold","Gentle","Wise","Playful","Nurturing","Mysterious","Confident","Calming","Inspiring","Protective","Adventurous"];function is({isOpen:s,onClose:n,companion:i,onCompanionUpdated:o}){const{toast:c}=Ve(),{user:p}=En(),[g,y]=d.useState(!1),[l,P]=d.useState({name:"",vibeLine:"",genderExpression:"",ageRange:"",style:"",coreEssence:"",toneTags:[]});d.useEffect(()=>{i&&P({name:i.name||"",vibeLine:i.vibeLine||"",genderExpression:i.genderExpression||"",ageRange:i.ageRange||"",style:i.style||"",coreEssence:i.coreEssence||"",toneTags:i.toneTags||[]})},[i]);const j=(m,v)=>{P(R=>({...R,[m]:v}))},T=m=>{P(v=>({...v,toneTags:v.toneTags.includes(m)?v.toneTags.filter(R=>R!==m):[...v.toneTags,m].slice(0,3)}))},w=m=>{P(v=>({...v,toneTags:v.toneTags.filter(R=>R!==m)}))},k=async()=>{if(i){if(!l.name.trim()){c({title:"Name Required",description:"Please enter a name for your companion.",variant:"destructive"});return}y(!0);try{const v=await(await fetch(`/api/companions/${i.id}`,{method:"PUT",headers:{"Content-Type":"application/json","x-user-id":(p==null?void 0:p.id)||"guest"},body:JSON.stringify({name:l.name.trim(),vibeLine:l.vibeLine.trim()||"A personalized companion created just for you.",genderExpression:l.genderExpression,ageRange:l.ageRange,style:l.style,coreEssence:l.coreEssence,toneTags:l.toneTags})})).json();if(v.success&&v.companion)c({title:`${l.name} has been updated.`,description:"Your companion's details have been saved successfully.",duration:3e3}),o(v.companion),n();else throw new Error(v.error||"Failed to update companion")}catch(m){console.error("Error updating companion:",m),c({title:"Update Failed",description:"Failed to update your companion. Please try again.",variant:"destructive"})}finally{y(!1)}}};return i?e.jsxDEV(Xe,{open:s,onOpenChange:n,children:e.jsxDEV(Ze,{className:"bg-black/90 backdrop-blur-xl border border-white/20 text-white max-w-2xl max-h-[80vh] overflow-y-auto",children:[e.jsxDEV(Sn,{children:[e.jsxDEV(jn,{className:"text-xl font-bold text-white",children:"Edit Companion"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:194,columnNumber:11},this),e.jsxDEV(Cn,{className:"text-white/70",children:"Update your companion's details and personality traits."},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:195,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:193,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-6 py-4",children:[e.jsxDEV("div",{className:"flex items-center gap-4",children:[i.avatarUrl&&e.jsxDEV("img",{src:i.avatarUrl,alt:i.name,className:"w-20 h-20 rounded-full object-cover object-top border-2 border-white/20"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:204,columnNumber:15},this),e.jsxDEV("div",{children:[e.jsxDEV(re,{className:"text-sm font-medium text-white/70",children:"Avatar"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:211,columnNumber:15},this),e.jsxDEV(E,{variant:"outline",size:"sm",className:"mt-1 border-white/30 text-white hover:bg-white/10",onClick:()=>{c({title:"Avatar Update Coming Soon",description:"Avatar editing will be available shortly."})},children:[e.jsxDEV(vr,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:223,columnNumber:17},this),"Change Avatar"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:212,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:210,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:202,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{htmlFor:"name",className:"text-sm font-medium text-white",children:"Name *"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:231,columnNumber:13},this),e.jsxDEV(je,{id:"name",value:l.name,onChange:m=>j("name",m.target.value),className:"bg-white/10 border-white/20 text-white placeholder:text-white/50",placeholder:"Enter companion name"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:234,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:230,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{htmlFor:"vibeLine",className:"text-sm font-medium text-white",children:"Vibe Line"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:245,columnNumber:13},this),e.jsxDEV(wr,{id:"vibeLine",value:l.vibeLine,onChange:m=>j("vibeLine",m.target.value),className:"bg-white/10 border-white/20 text-white placeholder:text-white/50 min-h-[80px]",placeholder:"One-sentence descriptor of your companion's essence..."},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:248,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:244,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{className:"text-sm font-medium text-white",children:"Gender Expression"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:259,columnNumber:13},this),e.jsxDEV(ze,{value:l.genderExpression,onValueChange:m=>j("genderExpression",m),children:[e.jsxDEV(Be,{className:"bg-white/10 border-white/20 text-white",children:e.jsxDEV($e,{placeholder:"Select gender expression"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:265,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:264,columnNumber:15},this),e.jsxDEV(Ye,{className:"bg-black/90 border-white/20",children:es.map(m=>e.jsxDEV(We,{value:m,className:"text-white hover:bg-white/10",children:m},m,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:269,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:267,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:260,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:258,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{className:"text-sm font-medium text-white",children:"Age Range"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:279,columnNumber:13},this),e.jsxDEV(ze,{value:l.ageRange,onValueChange:m=>j("ageRange",m),children:[e.jsxDEV(Be,{className:"bg-white/10 border-white/20 text-white",children:e.jsxDEV($e,{placeholder:"Select age range"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:285,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:284,columnNumber:15},this),e.jsxDEV(Ye,{className:"bg-black/90 border-white/20",children:ns.map(m=>e.jsxDEV(We,{value:m,className:"text-white hover:bg-white/10",children:m},m,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:289,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:287,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:280,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:278,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{className:"text-sm font-medium text-white",children:"Style"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:299,columnNumber:13},this),e.jsxDEV(ze,{value:l.style,onValueChange:m=>j("style",m),children:[e.jsxDEV(Be,{className:"bg-white/10 border-white/20 text-white",children:e.jsxDEV($e,{placeholder:"Select style"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:305,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:304,columnNumber:15},this),e.jsxDEV(Ye,{className:"bg-black/90 border-white/20",children:ts.map(m=>e.jsxDEV(We,{value:m,className:"text-white hover:bg-white/10",children:m},m,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:309,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:307,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:300,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:298,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(re,{className:"text-sm font-medium text-white",children:"Core Essence"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:319,columnNumber:13},this),e.jsxDEV(ze,{value:l.coreEssence,onValueChange:m=>j("coreEssence",m),children:[e.jsxDEV(Be,{className:"bg-white/10 border-white/20 text-white",children:e.jsxDEV($e,{placeholder:"Select core essence"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:325,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:324,columnNumber:15},this),e.jsxDEV(Ye,{className:"bg-black/90 border-white/20",children:rs.map(m=>e.jsxDEV(We,{value:m,className:"text-white hover:bg-white/10",children:m},m,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:329,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:327,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:320,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:318,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV(re,{className:"text-sm font-medium text-white",children:["Tone Tags ",l.toneTags.length>0&&`(${l.toneTags.length}/3)`]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:339,columnNumber:13},this),l.toneTags.length>0&&e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:l.toneTags.map(m=>e.jsxDEV(se,{variant:"secondary",className:"bg-blue-500/20 text-blue-200 border-blue-400/30 flex items-center gap-1",children:[m,e.jsxDEV(gt,{className:"w-3 h-3 cursor-pointer hover:text-white",onClick:()=>w(m)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:353,columnNumber:21},this)]},m,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:347,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:345,columnNumber:15},this),e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:ss.filter(m=>!l.toneTags.includes(m)).map(m=>e.jsxDEV(E,{variant:"outline",size:"sm",onClick:()=>T(m),disabled:l.toneTags.length>=3,className:"border-white/30 text-white/70 hover:text-white hover:bg-white/10 text-xs",children:["+ ",m]},m,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:365,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:363,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:338,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:200,columnNumber:9},this),e.jsxDEV(vt,{className:"gap-2",children:[e.jsxDEV(E,{variant:"ghost",onClick:n,className:"text-white/70 hover:text-white hover:bg-white/10",disabled:g,children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:381,columnNumber:11},this),e.jsxDEV(E,{onClick:k,disabled:g||!l.name.trim(),className:"bg-gradient-to-r from-[#1bc1e2] to-[#007BFF] hover:from-[#007BFF] hover:to-[#1bc1e2] text-white",children:g?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ce,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:396,columnNumber:17},this),"Saving..."]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:395,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Er,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:401,columnNumber:17},this),"Save Changes"]},void 0,!0,{fileName:"/home/runner/workspace/clien
7t/src/components/ui/edit-companion-modal.tsx",lineNumber:400,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:389,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:380,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:192,columnNumber:7},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/ui/edit-companion-modal.tsx",lineNumber:191,columnNumber:5},this):null}var kt="basil",os=function(n){return n===3?"v3":n},Dt="https://js.stripe.com",as="".concat(Dt,"/").concat(kt,"/stripe.js"),cs=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,ls=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;var us=function(n){return cs.test(n)||ls.test(n)},ms=function(){for(var n=document.querySelectorAll('script[src^="'.concat(Dt,'"]')),i=0;i<n.length;i++){var o=n[i];if(us(o.src))return o}return null},dt=function(n){var i="",o=document.createElement("script");o.src="".concat(as).concat(i);var c=document.head||document.body;if(!c)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return c.appendChild(o),o},ds=function(n,i){!n||!n._registerWrapper||n._registerWrapper({name:"stripe-js",version:"7.9.0",startTime:i})},De=null,Je=null,He=null,ps=function(n){return function(i){n(new Error("Failed to load Stripe.js",{cause:i}))}},hs=function(n,i){return function(){window.Stripe?n(window.Stripe):i(new Error("Stripe.js not available"))}},fs=function(n){return De!==null?De:(De=new Promise(function(i,o){if(typeof window>"u"||typeof document>"u"){i(null);return}if(window.Stripe){i(window.Stripe);return}try{var c=ms();if(!(c&&n)){if(!c)c=dt(n);else if(c&&He!==null&&Je!==null){var p;c.removeEventListener("load",He),c.removeEventListener("error",Je),(p=c.parentNode)===null||p===void 0||p.removeChild(c),c=dt(n)}}He=hs(i,o),Je=ps(o),c.addEventListener("load",He),c.addEventListener("error",Je)}catch(g){o(g);return}}),De.catch(function(i){return De=null,Promise.reject(i)}))},bs=function(n,i,o){if(n===null)return null;var c=i[0],p=c.match(/^pk_test/),g=os(n.version),y=kt;p&&g!==y&&console.warn("Stripe.js@".concat(g," was loaded on the page, but @stripe/stripe-js@").concat("7.9.0"," expected Stripe.js@").concat(y,". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));var l=n.apply(void 0,i);return ds(l,o),l},Se,St=!1,jt=function(){return Se||(Se=fs(null).catch(function(n){return Se=null,Promise.reject(n)}),Se)};Promise.resolve().then(function(){return jt()}).catch(function(s){St||console.warn(s)});var Ns=function(){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];St=!0;var c=Date.now();return jt().then(function(p){return bs(p,i,c)})};function pt(s,n){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(s);n&&(o=o.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),i.push.apply(i,o)}return i}function ht(s){for(var n=1;n<arguments.length;n++){var i=arguments[n]!=null?arguments[n]:{};n%2?pt(Object(i),!0).forEach(function(o){Ct(s,o,i[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):pt(Object(i)).forEach(function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))})}return s}function qe(s){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qe=function(n){return typeof n}:qe=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},qe(s)}function Ct(s,n,i){return n in s?Object.defineProperty(s,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[n]=i,s}function xs(s,n){if(s==null)return{};var i={},o=Object.keys(s),c,p;for(p=0;p<o.length;p++)c=o[p],!(n.indexOf(c)>=0)&&(i[c]=s[c]);return i}function gs(s,n){if(s==null)return{};var i=xs(s,n),o,c;if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(s);for(c=0;c<p.length;c++)o=p[c],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(s,o)&&(i[o]=s[o])}return i}function Vt(s,n){return vs(s)||ws(s,n)||Es(s,n)||ys()}function vs(s){if(Array.isArray(s))return s}function ws(s,n){var i=s&&(typeof Symbol<"u"&&s[Symbol.iterator]||s["@@iterator"]);if(i!=null){var o=[],c=!0,p=!1,g,y;try{for(i=i.call(s);!(c=(g=i.next()).done)&&(o.push(g.value),!(n&&o.length===n));c=!0);}catch(l){p=!0,y=l}finally{try{!c&&i.return!=null&&i.return()}finally{if(p)throw y}}return o}}function Es(s,n){if(s){if(typeof s=="string")return ft(s,n);var i=Object.prototype.toString.call(s).slice(8,-1);if(i==="Object"&&s.constructor&&(i=s.constructor.name),i==="Map"||i==="Set")return Array.from(s);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return ft(s,n)}}function ft(s,n){(n==null||n>s.length)&&(n=s.length);for(var i=0,o=new Array(n);i<n;i++)o[i]=s[i];return o}
vendor: 4,517 bytes, lines 7-8
7function ys(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 8In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var H=function(n,i,o){var c=!!o,p=C.useRef(o);C.useEffect(function(){p.current=o},[o]),C.useEffect(function(){if(!c||!n)return function(){};var g=function(){p.current&&p.current.apply(p,arguments)};return n.on(i,g),function(){n.off(i,g)}},[c,i,n,p])},kn=function(n){var i=C.useRef(n);return C.useEffect(function(){i.current=n},[n]),i.current},me=function(n){return n!==null&&qe(n)==="object"},ks=function(n){return me(n)&&typeof n.then=="function"},Ds=function(n){return me(n)&&typeof n.elements=="function"&&typeof n.createToken=="function"&&typeof n.createPaymentMethod=="function"&&typeof n.confirmCardPayment=="function"},bt="[object Object]",Ss=function s(n,i){if(!me(n)||!me(i))return n===i;var o=Array.isArray(n),c=Array.isArray(i);if(o!==c)return!1;var p=Object.prototype.toString.call(n)===bt,g=Object.prototype.toString.call(i)===bt;if(p!==g)return!1;if(!p&&!o)return n===i;var y=Object.keys(n),l=Object.keys(i);if(y.length!==l.length)return!1;for(var P={},j=0;j<y.length;j+=1)P[y[j]]=!0;for(var T=0;T<l.length;T+=1)P[l[T]]=!0;var w=Object.keys(P);if(w.length!==y.length)return!1;var k=n,m=i,v=function(W){return s(k[W],m[W])};return w.every(v)},Mt=function(n,i,o){return me(n)?Object.keys(n).reduce(function(c,p){var g=!me(i)||!Ss(n[p],i[p]);return o.includes(p)?(g&&console.warn("Unsupported prop change: options.".concat(p," is not a mutable property.")),c):g?ht(ht({},c||{}),{},Ct({},p,n[p])):c},null):null},_t="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Nt=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_t;if(n===null||Ds(n))return n;throw new Error(i)},js=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_t;if(ks(n))return{tag:"async",stripePromise:Promise.resolve(n).then(function(c){return Nt(c,i)})};var o=Nt(n,i);return o===null?{tag:"empty"}:{tag:"sync",stripe:o}},Cs=function(n){!n||!n._registerWrapper||!n.registerAppInfo||(n._registerWrapper({name:"react-stripe-js",version:"3.10.0"}),n.registerAppInfo({name:"react-stripe-js",version:"3.10.0",url:"https://stripe.com/docs/stripe-js/react"}))},Qe=C.createContext(null);Qe.displayName="ElementsContext";var Pt=function(n,i){if(!n)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(i," in an <Elements> provider."));return n},Tt=function(n){var i=n.stripe,o=n.options,c=n.children,p=C.useMemo(function(){return js(i)},[i]),g=C.useState(function(){return{stripe:p.tag==="sync"?p.stripe:null,elements:p.tag==="sync"?p.stripe.elements(o):null}}),y=Vt(g,2),l=y[0],P=y[1];C.useEffect(function(){var w=!0,k=function(v){P(function(R){return R.stripe?R:{stripe:v,elements:v.elements(o)}})};return p.tag==="async"&&!l.stripe?p.stripePromise.then(function(m){m&&w&&k(m)}):p.tag==="sync"&&!l.stripe&&k(p.stripe),function(){w=!1}},[p,l,o]);var j=kn(i);C.useEffect(function(){j!==null&&j!==i&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[j,i]);var T=kn(o);return C.useEffect(function(){if(l.elements){var w=Mt(o,T,["clientSecret","fonts"]);w&&l.elements.update(w)}},[o,T,l.elements]),C.useEffect(function(){Cs(l.stripe)},[l.stripe]),C.createElement(Qe.Provider,{value:l},c)};Tt.propTypes={stripe:M.any,options:M.object};var Vs=function(n){var i=C.useContext(Qe);return Pt(i,n)},Ms=function(){var n=Vs("calls useElements()"),i=n.elements;return i};M.func.isRequired;var At=C.createContext(null);At.displayName="CheckoutSdkContext";var _s=function(n,i){if(!n)throw new Error("Could not find CheckoutProvider context; You need to wrap the part of your app that ".concat(i," in an <CheckoutProvider> provider."));return n},Ps=C.createContext(null);Ps.displayName="CheckoutContext";M.any,M.shape({fetchClientSecret:M.func.isRequired,elementsOptions:M.object}).isRequired;var Dn=function(n){var i=C.useContext(At),o=C.useContext(Qe);if(i&&o)throw new Error("You cannot wrap the part of your app that ".concat(n," in both <CheckoutProvider> and <Elements> providers."));return i?_s(i,n):Pt(o,n)},Ts=["mode"],As=function(n){return n.charAt(0).toUpperCase()+n.slice(1)},L=function(n,i){var o="".concat(As(n),"Element"),c=function(l){var P=l.id,j=l.className,T=l.options,w=T
8===void 0?{}:T,k=l.onBlur,m=l.onFocus,v=l.onReady,R=l.onChange,W=l.onEscape,ne=l.onClick,de=l.onLoadError,ae=l.onLoaderStart,X=l.onNetworksChange,V=l.onConfirm,O=l.onCancel,Me=l.onShippingAddressChange,Vn=l.onShippingRateChange,Mn=l.onSavedPaymentMethodRemove,_n=l.onSavedPaymentMethodUpdate,pe=Dn("mounts <".concat(o,">")),he="elements"in pe?pe.elements:null,Z="checkoutSdk"in pe?pe.checkoutSdk:null,Pn=C.useState(null),en=Vt(Pn,2),Y=en[0],nn=en[1],K=C.useRef(null),fe=C.useRef(null);H(Y,"blur",k),H(Y,"focus",m),H(Y,"escape",W),H(Y,"click",ne),H(Y,"loaderror",de),H(Y,"loaderstart",ae),H(Y,"networkschange",X),H(Y,"confirm",V),H(Y,"cancel",O),H(Y,"shippingaddresschange",Me),H(Y,"shippingratechange",Vn),H(Y,"savedpaymentmethodremove",Mn),H(Y,"savedpaymentmethodupdate",_n),H(Y,"change",R);var be;v&&(n==="expressCheckout"?be=v:be=function(){v(Y)}),H(Y,"ready",be),C.useLayoutEffect(function(){if(K.current===null&&fe.current!==null&&(he||Z)){var $=null;if(Z)switch(n){case"payment":$=Z.createPaymentElement(w);break;case"address":if("mode"in w){var _e=w.mode,xe=gs(w,Ts);if(_e==="shipping")$=Z.createShippingAddressElement(xe);else if(_e==="billing")$=Z.createBillingAddressElement(xe);else throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.")}else throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");break;case"expressCheckout":$=Z.createExpressCheckoutElement(w);break;case"currencySelector":$=Z.createCurrencySelectorElement();break;case"taxId":$=Z.createTaxIdElement(w);break;default:throw new Error("Invalid Element type ".concat(o,". You must use either the <PaymentElement />, <AddressElement options={{mode: 'shipping'}} />, <AddressElement options={{mode: 'billing'}} />, or <ExpressCheckoutElement />."))}else he&&($=he.create(n,w));K.current=$,nn($),$&&$.mount(fe.current)}},[he,Z,w]);var Ne=kn(w);return C.useEffect(function(){if(K.current){var $=Mt(w,Ne,["paymentRequest"]);$&&"update"in K.current&&K.current.update($)}},[w,Ne]),C.useLayoutEffect(function(){return function(){if(K.current&&typeof K.current.destroy=="function")try{K.current.destroy(),K.current=null}catch{}}},[]),C.createElement("div",{id:P,className:j,ref:fe})},p=function(l){Dn("mounts <".concat(o,">"));var P=l.id,j=l.className;return C.createElement("div",{id:P,className:j})},g=i?p:c;return g.propTypes={id:M.string,className:M.string,onChange:M.func,onBlur:M.func,onFocus:M.func,onReady:M.func,onEscape:M.func,onClick:M.func,onLoadError:M.func,onLoaderStart:M.func,onNetworksChange:M.func,onConfirm:M.func,onCancel:M.func,onShippingAddressChange:M.func,onShippingRateChange:M.func,onSavedPaymentMethodRemove:M.func,onSavedPaymentMethodUpdate:M.func,options:M.object},g.displayName=o,g.__elementType=n,g},I=typeof window>"u",Fs=C.createContext(null);Fs.displayName="EmbeddedCheckoutProviderContext";var Os=function(){var n=Dn("calls useStripe()"),i=n.stripe;return i};L("auBankAccount",I);var xt=L("card",I);L("cardNumber",I);L("cardExpiry",I);L("cardCvc",I);L("fpxBank",I);L("iban",I);L("idealBank",I);L("p24Bank",I);L("epsBank",I);L("payment",I);L("expressCheckout",I);L("currencySelector",I);L("paymentRequestButton",I);L("linkAuthentication",I);L("address",I);L("shippingAddress",I);L("paymentMethodMessaging",I);L("affirmMessage",I);L("afterpayClearpayMessage",I);L("taxId",I);async function Ke(){const{data:{session:s}}=await B.auth.getSession();return s!=null&&s.access_token?{Authorization:`Bearer ${s.access_token}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}const Ls={style:{base:{fontSize:"16px",color:"#ffffff","::placeholder":{color:"#9ca3af"},iconColor:"#1bc1e2"},invalid:{color:"#ef4444",iconColor:"#ef4444"}}};function Is({onSuccess:s,onCancel:n}){const i=Os(),o=Ms(),[c,p]=d.useState(!1),[g,y]=d.useState(null),{toast:l}=Ve(),P=async j=>{if(j.preventDefault(),!(!i||!o)){p(!0),y(null);try{const T=await Ke(),w=await fetch("/api/stripe/create-setup-intent",{method:"POST",headers:T});if(!w.ok)throw new Error("Failed to initialize payment setup");const{clientSecret:k}=await w.json(),m=o.getElement(xt);if(!m)throw new Error("Card element not found");const{error:v,setupIntent:R}=await i.confirmCardSetup(k,{payment_method:{card:m}});if(v)throw new Error(v.message);if(R!=null&&R.payment_method){const W=await fetch("/api/stripe/update-payment-method",{method:"POST",headers:T,body:JSON.stringify({paymentMethodId:R.payment_method})});if(!W.ok)throw new Error("Failed to update payment method");const{paymentMethod:ne}=await W.json();s(ne),l({title:"Payment method updated",description:"Your new card has been saved successfully."})}}catch(T){y(T.message),l({title:"Error",description:T.message,variant:"destructive"})}finally{p(!1)}}};return e.jsxDEV("form",{onSubmit:P,className:"space-y-4",children:[e.jsxDEV("div",{className:"p-4 bg-white/5 border border-white/20 rounded-lg",children:e.jsxDEV(xt,{options:Ls},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:152,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:151,columnNumber:7},this),g&&e.jsxDEV("div",{className:"flex items-center gap-2 text-red-400 text-sm",children:[e.jsxDEV(Et,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:157,columnNumber:11},this),g]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:156,columnNumber:9},this),e.jsxDEV("div",{className:"flex gap-3",children:[e.jsxDEV(E,{type:"button",variant:"outline",onClick:n,className:"flex-1 border-white/20 text-white hover:bg-white/10",children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:163,columnNumber:9},this),e.jsxDEV(E,{type:"submit",disabled:!i||c,className:"flex-1 bg-gradient-to-r from-[#1bc1e2] to-[#007BFF]",children:c?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ce,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:178,columnNumber:15},this),"Saving..."]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:177,columnNumber:13},this):"Save Card"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:171,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:162,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:150,columnNumber:5},this)}function Rs({isOpen:s,onClose:n,subscriptionStatus:i}
8){const[o,c]=d.useState(null),[p,g]=d.useState(!0),[y,l]=d.useState(!1),[P,j]=d.useState(!1),[T,w]=d.useState(!1),[k,m]=d.useState(null),{toast:v}=Ve();d.useEffect(()=>{s&&(W(),R())},[s]);const R=async()=>{try{const V=await fetch("/api/stripe/publishable-key"),{publishableKey:O}=await V.json();O&&m(Ns(O))}catch(V){console.error("Failed to load Stripe:",V)}},W=async()=>{g(!0);try{const V=await Ke(),O=await fetch("/api/stripe/customer-subscription",{headers:V});if(O.ok){const Me=await O.json();c(Me)}}catch(V){console.error("Failed to fetch subscription:",V),v({title:"Error",description:"Failed to load subscription details",variant:"destructive"})}finally{g(!1)}},ne=async()=>{if(confirm("Are you sure you want to cancel your subscription? You will still have access until the end of your billing period.")){l(!0);try{const V=await Ke();if(!(await fetch("/api/stripe/cancel-subscription",{method:"POST",headers:V,body:JSON.stringify({cancelImmediately:!1})})).ok)throw new Error("Failed to cancel subscription");v({title:"Subscription cancelled",description:"Your subscription will end at the end of your billing period."}),W()}catch(V){v({title:"Error",description:V.message||"Failed to cancel subscription",variant:"destructive"})}finally{l(!1)}}},de=async()=>{j(!0);try{const V=await Ke();if(!(await fetch("/api/stripe/reactivate-subscription",{method:"POST",headers:V})).ok)throw new Error("Failed to reactivate subscription");v({title:"Subscription reactivated",description:"Your subscription has been reactivated."}),W()}catch(V){v({title:"Error",description:V.message||"Failed to reactivate subscription",variant:"destructive"})}finally{j(!1)}},ae=V=>{if(!V)return"N/A";const O=new Date(V*1e3);return isNaN(O.getTime())?"N/A":O.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})},X=(V,O)=>{if(O)return e.jsxDEV(se,{className:"bg-yellow-500/20 text-yellow-300 border-yellow-500/30",children:"Cancelling"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:320,columnNumber:14},this);switch(V){case"active":return e.jsxDEV(se,{className:"bg-green-500/20 text-green-300 border-green-500/30",children:"Active"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:324,columnNumber:16},this);case"past_due":return e.jsxDEV(se,{className:"bg-red-500/20 text-red-300 border-red-500/30",children:"Past Due"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:326,columnNumber:16},this);case"canceled":return e.jsxDEV(se,{className:"bg-gray-500/20 text-gray-300 border-gray-500/30",children:"Cancelled"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:328,columnNumber:16},this);default:return e.jsxDEV(se,{className:"bg-gray-500/20 text-gray-300 border-gray-500/30",children:V},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:330,columnNumber:16},this)}};return e.jsxDEV(Xe,{open:s,onOpenChange:n,children:e.jsxDEV(Ze,{className:"bg-gradient-to-b from-[#1a1a2e] to-[#16213e] border-white/20 text-white max-w-lg",children:[e.jsxDEV(Sn,{children:[e.jsxDEV(jn,{className:"text-2xl font-bold flex items-center gap-2",children:[e.jsxDEV(yn,{className:"w-6 h-6 text-[#1bc1e2]"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:339,columnNumber:13},this),"Manage Subscription"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:338,columnNumber:11},this),e.jsxDEV(Cn,{className:"text-white/70",children:"View and manage your SAM subscription"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:342,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:337,columnNumber:9},this),i==="lifetime"?e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV(Nn,{className:"bg-white/5 border-white/10",children:[e.jsxDEV(xn,{className:"pb-2",children:e.jsxDEV(gn,{className:"text-lg text-white flex items-center justify-between",children:[e.jsxDEV("span",{children:"Subscription Status"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:352,columnNumber:19},this),e.jsxDEV(se,{className:"bg-green-500/20 text-green-300 border-green-500/30",children:"Lifetime Access"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:353,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:351,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:350,columnNumber:15},this),e.jsxDEV(vn,{className:"space-y-3",children:e.jsxDEV("div",{className:"flex items-center gap-3 text-sm",children:[e.jsxDEV(wt,{className:"w-5 h-5 text-green-400 flex-shrink-0"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:358,columnNumber:19},this),e.jsxDEV("span",{className:"text-white/80",children:"You have permanent lifetime access to SAM â no recurring charges, ever."},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:359,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:357,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:356,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:349,columnNumber:13},this),e.jsxDEV("div",{className:"pt-4 border-t border-white/10",children:e.jsxDEV(E,{onClick:n,className:"w-full bg-gradient-to-r from-[#1bc1e2] to-[#007BFF]",children:"Close"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:364,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:363,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:348,columnNumber:11},this):p?e.jsxDEV("div",{className:"flex items-center justify-center py-12",children:e.jsxDEV(Ce,{className:"w-8 h-8 animate-spin text-[#1bc1e2]"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:371,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:370,columnNumber:11},this):o!=null&&o.subscription?e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV(Nn,{className:"bg-white/5 border-white/10",children:[e.jsxDEV(xn,{className:"pb-2",children:e.jsxDEV(gn,{className:"text-lg text-white flex items-center justify-between",children:[e.jsxDEV("span",{children:"Subscription Status"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:389,columnNumber:19},this),X(o.subscription.status,o.subscription.cancelAtPeriodEnd)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:388,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:387,columnNumber:15},this),e.jsxDEV(vn,{className:"space-y-3",children:[e.jsxDEV("div",{className:"flex items-center justify-between text-sm",children:[e.jsxDEV("span",{className:"text-white/70",children:"Plan"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:395,columnNumber:19},this),e.jsxDEV("span",{className:"text-white font-medium",children:["$",(o.subscription.plan.amount/100).toFixed(2)," / ",o.subscription.plan.interval]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:396,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:394,columnNumber:17},this),e.jsxDEV("div",{className:"flex items-center justify-between text-sm",children:[e.jsxDEV("span",{className:"text-white/70 flex items-center gap-2",children:[e.jsxDEV($r,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:402,columnNumber:21},this),o.subscription.cancelAtPeriodEnd?"Access Until":"Next Billing"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:401,columnNumber:19},this),e.jsxDEV("span",{className:"text-white",children:ae(o.subscription.currentPeriodEnd)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:405,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:400,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:393,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:386,columnNumber:13},this),e.jsxDEV(Nn,{className:"bg-white/5 border-white/10",children:[e.jsxDEV(xn,{className:"pb-2",children:e.jsxDEV(gn,{className:"text-lg text-white flex items-center justify-between",children:[e.jsxDEV("span",{children:"Payment Method"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:415,columnNumber:19},this),!T&&e.jsxDEV(E,{variant:"ghost",size:"sm",onClick:()=>w(!0),className:"text-[#1bc1e2] hover:text-[#1bc1e2]/80 hover:bg-white/5",children:o.paymentMethod?"Update":"Add"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:417,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:414,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:413,columnNumber:15},this),e.jsxDEV(vn,{children:T&&k?e.jsxDEV(Tt,{stripe:k,children:e.jsxDEV(Is,{onSuccess:V=>{w(!1),c(O=>O?{...O,paymentMethod:V}:null)},onCancel:()=>w(!1)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:431,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:430,columnNumber:19},this):o.paymentMethod?e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"w-10 h-7 bg-white/10 rounded flex items-center justify-center",children:e.jsxDEV(yn,{className:"w-5 h-5 text-white/70"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:442,columnNumber:23},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:441,columnNumber:21},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-white font-medium capitalize",children:[o.paymentMethod.brand," â¢â¢â¢â¢ ",o.paymentMethod.last4]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:445,
8columnNumber:23},this),e.jsxDEV("p",{className:"text-white/50 text-sm",children:["Expires ",o.paymentMethod.expMonth,"/",o.paymentMethod.expYear]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:448,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:444,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:440,columnNumber:19},this):e.jsxDEV("p",{className:"text-white/50 text-sm",children:"No payment method on file"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:454,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:428,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:412,columnNumber:13},this),e.jsxDEV("div",{className:"pt-4 border-t border-white/10",children:o.subscription.cancelAtPeriodEnd?e.jsxDEV(E,{onClick:de,disabled:P,className:"w-full bg-gradient-to-r from-green-500 to-emerald-600 hover:from-green-600 hover:to-emerald-700",children:P?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ce,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:468,columnNumber:23},this),"Reactivating..."]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:467,columnNumber:21},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(yt,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:473,columnNumber:23},this),"Reactivate Subscription"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:472,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:461,columnNumber:17},this):o.subscription.status==="active"?e.jsxDEV(E,{onClick:ne,disabled:y,variant:"outline",className:"w-full border-red-500/30 text-red-400 hover:bg-red-500/10 hover:text-red-300",children:y?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ce,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:487,columnNumber:23},this),"Cancelling..."]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:486,columnNumber:21},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(gt,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:492,columnNumber:23},this),"Cancel Subscription"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:491,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:479,columnNumber:17},this):null},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:459,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:385,columnNumber:11},this):e.jsxDEV("div",{className:"text-center py-8",children:[e.jsxDEV(Et,{className:"w-12 h-12 text-white/40 mx-auto mb-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:375,columnNumber:13},this),e.jsxDEV("p",{className:"text-white/70 mb-4",children:"No active subscription found"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:376,columnNumber:13},this),e.jsxDEV(E,{onClick:()=>window.location.href="/pricing",className:"bg-gradient-to-r from-[#1bc1e2] to-[#007BFF]",children:"View Plans"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:377,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:374,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:336,columnNumber:7},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/SubscriptionManagementModal.tsx",lineNumber:335,columnNumber:5},this)}const Us=[{months:1,label:"1 Month",description:"Take a short break"},{months:2,label:"2 Months",description:"A longer pause"},{months:3,label:"3 Months",description:"Extended time away"}];function zs({isOpen:s,onClose:n,onPaused:i}){const{toast:o}
8=Ve(),[c,p]=d.useState(null),[g,y]=d.useState("select"),[l,P]=d.useState(!1),j=()=>{p(null),y("select"),n()},T=async()=>{if(c){P(!0);try{const{data:{session:k}}=await B.auth.getSession();if(!(k!=null&&k.access_token))throw new Error("Authentication required");const m=await fetch("/api/stripe/pause-subscription",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${k.access_token}`},body:JSON.stringify({months:c})});if(!m.ok){const v=await m.json().catch(()=>({}));throw new Error(v.error||"Failed to pause subscription")}o({title:"Subscription Paused",description:`Your billing has been paused for ${c} month${c>1?"s":""}. You still have full access during this time.`}),i(),j()}catch(k){console.error("Failed to pause subscription:",k),o({title:"Failed to Pause",description:k.message||"Something went wrong. Please try again.",variant:"destructive"})}finally{P(!1)}}},w=c?new Date(Date.now()+c*30*24*60*60*1e3).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"";return e.jsxDEV(Xe,{open:s,onOpenChange:k=>{k||j()},children:e.jsxDEV(Ze,{className:"sm:max-w-md",children:[e.jsxDEV(Sn,{children:[e.jsxDEV(jn,{className:"flex items-center gap-2",children:[e.jsxDEV(Ge,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:84,columnNumber:13},this),"Pause My Account"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:83,columnNumber:11},this),e.jsxDEV(Cn,{children:g==="select"?"Choose how long you'd like to pause your billing. You'll keep full access during the pause.":"Confirm your pause duration below."},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:87,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:82,columnNumber:9},this),g==="select"&&e.jsxDEV("div",{className:"space-y-3 py-2",children:Us.map(k=>e.jsxDEV("button",{onClick:()=>p(k.months),className:`w-full text-left p-4 rounded-lg border transition-all duration-200 ${c===k.months?"border-purple-500 bg-purple-500/10 ring-1 ring-purple-500":"border-white/20 bg-white/5 hover:border-white/40 hover:bg-white/10"}`,children:e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-semibold text-white",children:k.label},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:108,columnNumber:21},this),e.jsxDEV("p",{className:"text-sm text-white/60",children:k.description},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:109,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:107,columnNumber:19},this),e.jsxDEV(yr,{className:`w-5 h-5 ${c===k.months?"text-purple-400":"text-white/30"}`},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:111,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:106,columnNumber:17},this)},k.months,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:97,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:95,columnNumber:11},this),g==="confirm"&&c&&e.jsxDEV("div",{className:"py-2 space-y-4",children:e.jsxDEV("div",{className:"p-4 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[e.jsxDEV("p",{className:"text-sm text-white/90",children:["Your billing will be paused for ",e.jsxDEV("strong",{children:[c," month",c>1?"s":""]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:122,columnNumber:49},this),". No charges will be made until ",e.jsxDEV("strong",{children:w},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:123,columnNumber:47},this),"."]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:121,columnNumber:15},this),e.jsxDEV("p",{className:"text-sm text-white/60 mt-2",children:"You can resume at any time from your account page."},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:125,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:120,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:119,columnNumber:11},this),e.jsxDEV(vt,{className:"flex gap-2 sm:gap-2",children:g==="select"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(E,{variant:"outline",onClick:j,className:"border-white/20",children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:135,columnNumber:15},this),e.jsxDEV(E,{onClick:()=>y("confirm"),disabled:!c,className:"bg-purple-600 hover:bg-purple-700 text-white",children:"Continue"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:138,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:134,columnNumber:13},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(E,{variant:"outline",onClick:()=>y("select"),className:"border-white/20",children:"Back"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:148,columnNumber:15},this),e.jsxDEV(E,{onClick:T,disabled:l,className:"bg-purple-600 hover:bg-purple-700 text-white",children:l?"Pausing...":"Confirm Pause"},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:151,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:147,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:132,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:81,columnNumber:7},this)},void 0,!1,{fileName:"/home/runner/workspace/client/src/components/subscription/PauseSubscriptionModal.tsx",lineNumber:80,columnNumber:5},this)}function Bs(s){const n=typeof s=="string"?s:s.toISOString();localStorage.setItem("user_dob",n)}const Ni=()=>{var Gn,qn,Kn;const{toast:s}=Ve(),{user:n,signOut:i}
8=En(),[,o]=kr(),[c,p]=d.useState(""),[g,y]=d.useState(!1),[l,P]=d.useState(""),[j,T]=d.useState(!1),[w,k]=d.useState({onboardingTips:!0,updates:!0}),[m,v]=d.useState(!1),[R,W]=d.useState(!1),[ne,de]=d.useState(!1),[ae,X]=d.useState([]),[V,O]=d.useState(!1),[Me,Vn]=d.useState(null),[Mn,_n]=d.useState([]),[pe,he]=d.useState(!1),[Z,Pn]=d.useState(!1),[en,Y]=d.useState(null),[nn,K]=d.useState(!1),[fe,be]=d.useState(null),[Ne,$]=d.useState([]),[_e,xe]=d.useState(!1),[$s,Ys]=d.useState(!1),[Ft,Tn]=d.useState(!1),[Ot,tn]=d.useState(!1),[Pe,rn]=d.useState({isPaused:!1,pausedUntil:null}),[ge,sn]=d.useState(!1),[Q,An]=d.useState(null),[Fn,On]=d.useState(!1),[Lt,Te]=d.useState(!1),[ie,ve]=d.useState(null),[Ln,on]=d.useState(!1),[ce,an]=d.useState(""),[Ae,cn]=d.useState(""),[In,Rn]=d.useState(!1),[It,ln]=d.useState(!1),[le,Fe]=d.useState(!1),Rt=async()=>{if(n!=null&&n.email){xe(!0);try{const{data:{session:r}}=await B.auth.getSession(),a=await fetch("/api/stripe/customer-invoices",{headers:r!=null&&r.access_token?{Authorization:`Bearer ${r.access_token}`}:{}});if(a.ok){const h=await a.json();$(h.invoices||[])}}catch(r){console.error("Failed to fetch invoices:",r)}finally{xe(!1)}}},Ut=async()=>{try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token))return;const a=await fetch("/api/email-preferences",{headers:{Authorization:`Bearer ${r.access_token}`}});if(a.ok){const h=await a.json();h.success&&k({onboardingTips:h.onboardingEmails??!0,updates:h.emotionalNudges??!0})}}catch(r){console.error("Failed to fetch email preferences:",r)}},zt=async()=>{try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token))return;const a=await fetch("/api/auto-delete-preference",{headers:{Authorization:`Bearer ${r.access_token}`}});if(a.ok){const h=await a.json();h.success&&W(h.autoDelete??!1)}}catch(r){console.error("Failed to fetch auto-delete preference:",r)}},Bt=async()=>{if(!ce||!Ae){s({title:"Missing information",description:"Please fill in all password fields",variant:"destructive"});return}if(ce.length<6){s({title:"Password too short",description:"New password must be at least 6 characters",variant:"destructive"});return}if(ce!==Ae){s({title:"Passwords don't match",description:"Please make sure both passwords match",variant:"destructive"});return}Rn(!0);try{const{error:r}=await B.auth.updateUser({password:ce});if(r){const a=r.status===422&&r.message.toLowerCase().includes("same");s({title:"Failed to update password",description:a?"Your new password must be different from your current password.":r.message,variant:"destructive"})}else s({title:"Password updated",description:"Your password has been changed successfully"}),an(""),cn(""),ln(!1),Fe(!1)}catch{s({title:"Error",description:"An unexpected error occurred. Please try again.",variant:"destructive"})}finally{Rn(!1)}},$t=async r=>{W(r);try{const{data:{session:a}}=await B.auth.getSession();if(!(a!=null&&a.access_token))throw new Error("Authentication required");if(!(await fetch("/api/auto-delete-preference",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a.access_token}`},body:JSON.stringify({autoDelete:r})})).ok)throw new Error("Failed to save auto-delete preference");s({title:"Preference saved",description:r?"Your data will be deleted if you cancel your subscription.":"Your data will be retained if you cancel your subscription."})}catch(a){console.error("Failed to save auto-delete preference:",a),W(!r),s({title:"Error",description:"Failed to save preference. Please try again.",variant:"destructive"})}};d.useEffect(()=>{window.scrollTo(0,0),Yt(),Rt(),n!=null&&n.email&&(Ut(),zt())},[n==null?void 0:n.email]);const Yt=async()=>{O(!0);try{if(!(n!=null&&n.id)){console.log("ð Guest user - custom companions require authentication"),X([]),O(!1);return}console.log("ð¤ [ACCOUNT] Fetching custom companions for user:",n.id);const r=await fetch("/api/companions",{headers:{"x-user-id":n.id}});if(console.log("ð¤ [ACCOUNT] Companions response status:",r.status),r.ok){const a=await r.json();console.log("ð¤ [ACCOUNT] Companions response data:",a),a.success&&a.companions?(console.log("ð¤ [ACCOUNT] Setting companions:",a.companions.length),X(a.companions)):(console.log("ð¤ [ACCOUNT] No companions foun
8d or API error"),X([]))}else console.log("ð¤ [ACCOUNT] API call failed with status:",r.status),X([])}catch(r){console.error("ð¤ [ACCOUNT] Failed to fetch custom companions:",r),X([])}finally{O(!1)}},[we,Wt]=d.useState(!1);d.useEffect(()=>{(async()=>{if(n!=null&&n.id)try{const{data:{session:a}}=await B.auth.getSession();if(!(a!=null&&a.access_token))return;const h=await fetch("/api/tester-status",{headers:{Authorization:`Bearer ${a.access_token}`}});if(!h.ok)return;const t=await h.json();Wt(A=>t.isInnerCircle===!0?!0:A)}catch{}})()},[n]);const[un,Un]=d.useState(()=>{var a;const r=(a=n==null?void 0:n.user_metadata)==null?void 0:a.birthday;return typeof r=="string"?r:""}),[zn,Oe]=d.useState(!1),[Bn,$n]=d.useState(!1),[oe,Yn]=d.useState("");d.useEffect(()=>{var a;const r=(a=n==null?void 0:n.user_metadata)==null?void 0:a.birthday;typeof r=="string"&&r&&Un(h=>h||r)},[n]);const Jt=async()=>{if(!oe){Oe(!1);return}$n(!0);try{const{error:r}=await B.auth.updateUser({data:{birthday:oe}});if(r)throw r;Un(oe),Bs(oe);try{const{data:{session:a}}=await B.auth.getSession();a!=null&&a.access_token&&await fetch("/api/auth/age-attestation",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a.access_token}`},body:JSON.stringify({dob:oe})})}catch(a){console.warn("Age attestation sync failed (non-fatal):",a)}Oe(!1),s({title:"Date of birth saved"})}catch(r){console.error("Failed to save date of birth:",r),s({title:"Could not save date of birth",description:"Please try again.",variant:"destructive"})}finally{$n(!1)}},{tierData:mn}=En(),[Le,Ie]=d.useState({name:((Gn=n==null?void 0:n.user_metadata)==null?void 0:Gn.name)||((qn=n==null?void 0:n.user_metadata)==null?void 0:qn.full_name)||((Kn=n==null?void 0:n.email)==null?void 0:Kn.split("@")[0])||"User",email:(n==null?void 0:n.email)||"",tier:"Soul",subscriptionType:"Monthly",profileAvatarId:null,customProfileAvatarUrl:null,nextBillingDate:"Not available",paymentMethod:"Not configured"});d.useEffect(()=>{(async()=>{var a;if(n!=null&&n.email)try{const{data:{session:h}}=await B.auth.getSession();if(!(h!=null&&h.access_token))return;const t=await fetch("/api/stripe/customer-subscription",{headers:{Authorization:`Bearer ${h.access_token}`}});if(!t.ok)return;const A=await t.json();if(A.subscription){const S=A.subscription,f=((a=S.plan)==null?void 0:a.interval)==="year"?"Annual":"Monthly",J=S.currentPeriodEnd?new Date(S.currentPeriodEnd*1e3).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"Not available";Ie(Xn=>({...Xn,subscriptionType:f,nextBillingDate:S.cancelAtPeriodEnd?`Access until ${J}`:J})),rn({isPaused:!!S.isPaused,pausedUntil:S.pausedUntil||null}),sn(["active","trialing","past_due"].includes(S.status))}if(A.paymentMethod){const S=A.paymentMethod;Ie(f=>({...f,paymentMethod:`${S.brand?S.brand.charAt(0).toUpperCase()+S.brand.slice(1):"Card"} â¢â¢â¢â¢ ${S.last4||"****"}`}))}}catch(h){console.error("Failed to load subscription data:",h)}})()},[n==null?void 0:n.email]),d.useEffect(()=>{(async()=>{if(n!=null&&n.id)try{const a=await fetch("/api/user/profile",{headers:{"x-user-id":n.id}});if(a.ok){const h=await a.json();h.success&&h.user&&(Ie(t=>{var A,S,f;return{...t,name:h.user.name||((A=n==null?void 0:n.user_metadata)==null?void 0:A.name)||((S=n==null?void 0:n.user_metadata)==null?void 0:S.full_name)||((f=n==null?void 0:n.email)==null?void 0:f.split("@")[0])||t.name,email:h.user.email||t.email,profileAvatarId:h.user.profileAvatarId||null,customProfileAvatarUrl:h.user.customProfileAvatarUrl||null}}),p(h.user.email||n.email||""))}}catch(a){console.error("Failed to load user profile:",a)}})()},[n]),d.useEffect(()=>{n!=null&&n.email&&!c&&(p(n.email),Ie(r=>{var a,h,t;return{...r,email:n.email||"",name:((a=n.user_metadata)==null?void 0:a.name)||((h=n.user_metadata)==null?void 0:h.full_name)||((t=n.email)==null?void 0:t.split("@")[0])||"User"}}))},[n,c]);const Wn=async(r,a)=>{v(!0);try{const{data:{session:h}}=await B.auth.getSession();if(!(h!=null&&h.access_token))throw new Error("Authentication required");if(!(await fetch("/api/email-preferences",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${h.access_token}`},body:JSON.stringify({onboardingEmails:r==="onboardingTips"?a:w.onboardingTips,emotionalNudges:r==="updates"?a:w.updates})})).ok)throw new Error("Failed to update email preferences");k(A=>({...A,[r]:a})),s({title:"Preferences updated",description:"Your email preferences have been saved successfully."})}catch(h){console.error("Failed to update email preferences:",h),s({title:"Update failed",description:"Failed to update email preferences. Please try again.",variant:"destructive"})}finally{v(!1)}},Ht=async()=>{v(!0);try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token))throw new Error("Authentication required");if(!(await fetch("/api/email-preferences",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.access_token}`},body:JSON.stringify({onboardingEmails:!1,emotionalNudges:!1})})).ok)throw new Error("Failed to unsubscribe from emails");k({onboardingTips:!1,updates:!1}),s({title:"Unsubscribed successfully",description:"You've been unsubscribed from all non-e
8ssential emails."})}catch(r){console.error("Failed to unsubscribe from emails:",r),s({title:"Unsubscribe failed",description:"Failed to unsubscribe from emails. Please try again.",variant:"destructive"})}finally{v(!1)}},[Ws,Gt]=d.useState(!0);d.useEffect(()=>{const r=()=>{const a=!!localStorage.getItem("selectedSoulAvatar")||ae.length>0;Gt(a)};return r(),window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)},[Le.tier,ae]);const qt=r=>{X(a=>a.map(h=>h.id===r.id?r:h))},Kt=async()=>{if(!c||c===Le.email){y(!1);return}try{const{error:r}=await B.auth.updateUser({email:c});if(r)throw r;s({title:"Verification email sent",description:"Please check your new email address to confirm the change."}),y(!1)}catch(r){console.error("Failed to update email:",r),s({title:"Update failed",description:r.message||"Failed to update email. Please try again.",variant:"destructive"})}},Xt=async()=>{if(!(n!=null&&n.id)){s({title:"Error",description:"You must be logged in to delete chat history.",variant:"destructive"});return}try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token)){s({title:"Error",description:"Session expired. Please log in again.",variant:"destructive"});return}if((await fetch(`/api/user/${n.id}/chat-history`,{method:"DELETE",headers:{Authorization:`Bearer ${r.access_token}`}})).ok)s({title:"Chat history deleted",description:"All your conversation history has been removed."});else throw new Error("Failed to delete chat history")}catch(r){console.error("Error deleting chat history:",r),s({title:"Error",description:"Failed to delete chat history. Please try again.",variant:"destructive"})}},[dn,pn]=d.useState(!1),[Re,Ue]=d.useState(!1),Zt=async()=>{if(!(n!=null&&n.id)){s({title:"Error",description:"You must be logged in to delete your account.",variant:"destructive"});return}Te(!1),pn(!0),ve(null),on(!0);try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token)){const t="Session expired. Please log in again.";ve({success:!1,error:t}),pn(!1),s({title:"Session expired",description:t,variant:"destructive"});return}const a=await fetch("/api/gdpr/account-deletion",{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({dryRun:!1})}),h=await a.json();if(a.ok&&h.success)ve({success:!0,summary:h.summary,stripe:h.stripe,externalSystems:h.externalSystems});else{const t=h.error||"Failed to delete account";ve({success:!1,error:t}),s({title:"Deletion failed",description:t,variant:"destructive"})}}catch(r){console.error("Error deleting account:",r);const a=r.message||"Failed to delete account. Please try again.";ve({success:!1,error:a}),s({title:"Deletion failed",description:a,variant:"destructive"})}finally{pn(!1)}},Jn=async()=>{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token))throw new Error("Session expired. Please log in again.");const a=await fetch("/api/gdpr/account-deletion/export",{headers:{Authorization:`Bearer ${r.access_token}`}});if(!a.ok)throw new Error("Failed to export data");return await a.json()},Qt=(r,a,h)=>{const t=r instanceof Blob?r:new Blob([r],{type:h}),A=window.URL.createObjectURL(t),S=document.createElement("a");S.href=A,S.download=a,document.body.appendChild(S),S.click(),document.body.removeChild(S),window.URL.revokeObjectURL(A)},er=async()=>{if(n!=null&&n.id){Ue(!0);try{const r=await Jn();Qt(JSON.stringify(r,null,2),`sam-data-export-${new Date().toISOString().split("T")[0]}.json`,"application/json"),s({title:"Data exported",description:"Your data has been downloaded as a JSON file."})}catch(r){s({title:"Error",description:r.message||"Failed to export your data.",variant:"destructive"})}finally{Ue(!1)}}},nr=async()=>{var r;if(n!=null&&n.id){Ue(!0);try{const a=await Jn(),{jsPDF:h}=await Nr(async()=>{const{jsPDF:b}=await import("./jspdf.es.min-BMycstL7.js").then(F=>F.j);return{jsPDF:b}},__vite__mapDeps([0,1,2])),t=new h({orientation:"portrait",unit:"mm",format:"a4"}),A=t.internal.pageSize.getWidth(),S=t.internal.pageSize.getHeight(),f=18,J=A-f*2,Ee=S-14;let u=f;const Zn=new Date().toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"}),_=b=>b.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g,"").replace(/[\u2018\u2019\u0060\u00B4]/g,"'").replace(/[\u2014\u2013]/g,"-").replace(/[\u201C\u201D]/g,'"').replace(/\u2026/g,"...").replace(/[\uFFFD\uFFFE\uFFFF]/g,""),U=b=>{u+b>Ee-6&&(t.addPage(),u=f)}
8,Qn=new Set(["user_id","id","prompt_hash","promptHash","augmented_prompt","augmentedPrompt","model","model_id","model_version","primary_provider","fallback_provider","response_time_ms","fallback_succeeded","generation_prompt","chat_context","generation_status","companion_style_snapshot","cluster_id","memory_weight","recall_count","last_recalled_at","anchor_frequency","last_triggered","evolution_stage","anchor_type","anchor_weight","anchor_last_updated","anchor_tag","trigger_strength","trigger_phrase","tone_adjustment","session_id","error_type","error_message"]),or={account:"Account Information",directUserData:"Conversations & Messages",memoryAndIdentity:"Memory & Identity",heartlineAndLetters:"Heartline & Soul Letters",companionState:"Companion Data",photosAndMedia:"Photos & Media",creditsAndBilling:"Credits & Billing",preferencesAndSettings:"Preferences & Settings",messaging:"Messaging",journalAndContent:"Journal & Content",abuseAndSafety:"Safety Records",systemEvents:"System Events"},ar={conversation_messages:"Chat Messages",conversation_digests:"Conversation Summaries",sami_conversations:"Sami Conversations",message_feedback:"Message Feedback",i
8dentity_facts:"Things SAM Knows About You",memory_connections:"Memory Connections",soul_chat_memory:"Soul Chat Memories (legacy)",soul_memory:"Soul Memories",soul_reflections:"Soul Reflections",soul_insights:"Soul Insights",user_memory_light:"Quick Memories (legacy)",relationship_continuity_summaries:"Relationship Summaries",soul_letters:"Soul Letters",soul_letter_triggers:"Letter Triggers",companion_scheduled_letters:"Scheduled Letters",heartline_entries:"Heartline Journal Entries",heartline_milestones:"Heartline Milestones",companion_intimacy_state:"Relationship Stage",companion_interactions:"Companion Interactions",companion_interaction_stats:"Interaction Statistics",companion_stats:"Companion Statistics",companion_overrides:"Companion Customisations",companion_checkins:"Companion Check-ins",companions:"Your Companions",custom_companions:"Custom Companions",custom_companion_consent:"Companion Consent Records",photos:"Photos",photo_generation_usage:"Photo Generation History",photo_credits:"Photo Credits",uploaded_files:"Uploaded Files",media_files:"Media Files",documents:"Documents",companion_documents:"Companion Documents",credit_reservations:"Credit Reservations",credit_balances:"Credit Balances",user_subscriptions:"Subscription History",user_storage_quotas:"Storage Quotas",storage_usage:"Storage Usage",user_preferences:"Preferences",user_settings:"Settings",user_messaging_preferences:"Messaging Preferences",user_tier_progress:"Tier Progress",user_tier_sessions:"Tier Sessions",message_delivery_logs:"Message Delivery Logs",scheduled_messages:"Scheduled Messages",web_search_usage:"Web Search Usage",abuse_logs:"Safety Logs",user_lockouts:"Account Lockouts",user_abuse_strikes:"Safety Strikes",crisis_audit_log:"Crisis Support Log",llm_fallback_events:"System Fallback Events",selfie_generations:"Selfie Generations"},cr={created_at:"Date",updated_at:"Updated",content:"Message",role:"From",message:"Message",text:"Text",companion_id:"Companion",companion_name:"Companion",tier:"Tier",status:"Status",email:"Email",createdAt:"Created",lastSignIn:"Last Sign In",fact_type:"Type",fact_value:"Value",confidence:"Confidence",summary:"Summary",emotion:"Emotion",primary_emotion:"Emotion",emotional_tone:"Emotional Tone",emotion_intensity:"Intensity",emotion_confidence:"Emotion Confidence",topic:"Topic",timestamp:"Time",name:"Name",description:"Description",body:"Body",subject:"Subject",stripe_subscription_id:"Subscription ID",stripe_customer_id:"Customer ID",is_favorite:"Favourite",is_manual_save:"Manually Saved",is_companion_reflection:"Companion Reflection",mood_tone:"Mood",user_notes:"Your Notes",tags:"Tags",emotional_tags:"Emotional Tags",memory_type:"Memory Type",memory_content:"Memory",importance_score:"Importance",intensity_score:"Intensity",tone_context:"Tone",emotional_frame:"Emotional Frame",archetype_style:"Style",fact_key:"About",confirmed:"Confirmed",source:"Source",companion_scope:"Applies To",last_confirmed_at:"Last Confirmed",emotional_context:"Emotional Context",custom_name_given:"Custom Name",last_interaction:"Last Interaction",type:"Type",photo_id:"Photo",count:"Count",date:"Date",credits_used:"Credits Used",deleted:"Deleted"},hn=b=>cr[b]||b.replace(/_/g," ").replace(/\b\w/g,F=>F.toUpperCase()),ye=b=>{if(b==null)return"â";if(typeof b=="boolean")return b?"Yes":"No";if(Array.isArray(b))return b.length===0?"â":b.map(N=>typeof N=="string"?N:JSON.stringify(N)).join(", ");if(typeof b=="object"){if(b instanceof Date)return b.toLocaleString();const N=Object.entries(b).filter(([D])=>!Qn.has(D));return N.length===0?"â":N.map(([D,x])=>`${hn(D)}: ${x}`).join(", ")}const F=String(b);if(/^\d{4}-\d{2}-\d{2}T/.test(F))try{const N=new Date(F);return N.toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"})+" "+N.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit"})}catch{return F}return F},lr=b=>b==="user"?"You":b==="assistant"?"Companion":b==="system"?"System":b.charAt(0).toUpperCase()+b.slice(1);t.setFillColor(30,30,60),t.rect(0,0,A,42,"F"),t.setFontSize(24),t.setFont("helvetica","bold"),t.setTextColor(255,255,255),t.text("SAM",f,18),t.setFontSize(11),t.setFont("helvetica","normal"),t.setTextColor(180,180,220),t.text("Personal Data Export",f,25),t.setFontSize(9),t.setTextColor(140,140,180),t.text(Zn,f,32),a.email&&t.text(a.email,A-f,32,{align:"right"}),u=50,t.setTextColor(0,0,0),t.setFontSize(9),t.setFont("helvetica","normal"),t.setTextColor(80,80,80);const ur=t.splitTextToSize("This document contains all personal data held by SAM, exported in accordance with your data rights under GDPR Article 20. For the complete machine-readable dataset, please use the JSON export option.",J);for(const b of ur)t.text(_(b),f,u),u+=4;if(u+=6,t.setTextColor(0,0,0),(r=a.data)!=null&&r.account){U(20),t.setFontSize(13),t.setFont("helvetica","bold"),t.setTextColor(30,30,60),t.text("Account Information",f,u),u+=2,t.setDrawColor(30,30,60),t.setLineWidth(.5),t.line(f,u,f+60,u),u+=6,t.setFontSize(10),t.setFont("helvetica","normal"),t.setTextColor(0,0,0);const b=a.data.account;for(const[F,N]of Object.entries(b))U(6),t.setFont("helvetica","bold"),t.text(_(`${hn(F)}:`),f+2,u),t.setFont("helvetica","normal"),t.text(_(` ${ye(N)}`),f+35,u),u+=5;u+=6}const mr=b=>{const F={};for(const N of b){const D=N.companion_id||N.companion_name||"general";
8F[D]||(F[D]=[]),F[D].push(N)}for(const[N,D]of Object.entries(F)){U(12),t.setFontSize(10),t.setFont("helvetica","bold"),t.setTextColor(60,60,120);const x=N==="general"?"General":`Companion: ${N.substring(0,8)}`;t.text(_(x),f+4,u),t.setFontSize(8),t.setFont("helvetica","normal"),t.setTextColor(140,140,140),t.text(`${D.length} message${D.length!==1?"s":""}`,f+J-2,u,{align:"right"}),u+=5,t.setTextColor(0,0,0);const G=D.slice(0,100);for(const z of G){U(10);const ee=lr(z.role||"unknown"),te=z.created_at?ye(z.created_at):"",q=z.content||z.message||z.text||"";t.setFontSize(8),t.setFont("helvetica","bold"),t.setTextColor(ee==="You"?40:80,ee==="You"?100:40,ee==="You"?40:120),t.text(_(ee),f+6,u),te&&(t.setFont("helvetica","normal"),t.setTextColor(160,160,160),t.text(_(te),f+J-4,u,{align:"right"})),u+=4,t.setFont("helvetica","normal"),t.setTextColor(30,30,30);const ke=t.splitTextToSize(_(String(q)),J-14);for(const ue of ke)U(4),t.text(ue,f+8,u),u+=3.5;u+=2}D.length>100&&(U(6),t.setFontSize(7),t.setTextColor(150,150,150),t.text(_(`... and ${D.length-100} more messages (see JSON export for full transcript)`),f+8,u),u+=4,t.setTextColor(0,0,0)),u+=3}},dr=b=>{const F=b.slice(0,50);for(const N of F){U(16),t.setFontSize(9),t.setFont("helvetica","bold"),t.setTextColor(30,30,30);const D=N.created_at?ye(N.created_at):"Unknown date",x=N.primary_emotion||N.mood_tone||"";if(t.text(_(D),f+4,u),x&&(t.setFont("helvetica","italic"),t.setTextColor(100,60,140),t.text(_(x),f+55,u)),u+=4,N.content){t.setFont("helvetica","normal"),t.setTextColor(30,30,30);const G=t.splitTextToSize(_(String(N.content)),J-10);for(const z of G)U(4),t.text(z,f+6,u),u+=3.5}if(N.user_notes){t.setFont("helvetica","italic"),t.setTextColor(80,80,80);const G=t.splitTextToSize(_(`Note: ${N.user_notes}`),J-10);for(const z of G)U(4),t.text(z,f+6,u),u+=3.5}N.tags&&Array.isArray(N.tags)&&N.tags.length>0&&(t.setFontSize(7),t.setFont("helvetica","normal"),t.setTextColor(120,120,120),t.text(_(`Tags: ${N.tags.join(", ")}`),f+6,u),u+=3.5),N.is_favorite&&(t.setFontSize(7),t.setTextColor(200,150,50),t.text("Favourite",f+6,u),u+=3.5),u+=3,t.setTextColor(0,0,0)}b.length>50&&(U(6),t.setFontSize(7),t.setTextColor(150,150,150),t.text(_(`... and ${b.length-50} more entries (see JSON export)`),f+6,u),u+=4,t.setTextColor(0,0,0))},pr=(b,F)=>{const N=b.slice(0,50);for(let D=0;D<N.length;D++){const x=N[D];U(12);const G=x.memory_content||x.fact_value||x.content||x.summary||"",z=x.fact_key||x.memory_type||x.fact_type||"",ee=x.primary_emotion||x.emotional_tone||x.emotional_context||"",te=x.created_at?ye(x.created_at):"";if(t.setFontSize(9),t.setFont("helvetica","bold"),t.setTextColor(30,30,30),z?t.text(_(z),f+4,u):t.text(`Entry ${D+1}`,f+4,u),te&&(t.setFont("helvetica","normal"),t.setTextColor(140,140,140),t.setFontSize(7),t.text(_(te),f+J-2,u,{align:"right"})),u+=4,G){t.setFontSize(8),t.setFont("helvetica","normal"),t.setTextColor(30,30,30);const ke=t.splitTextToSize(_(String(G)),J-10);for(const ue of ke)U(4),t.text(ue,f+6,u),u+=3.5}const q=[];ee&&q.push(`Emotion: ${ee}`),x.importance_score!=null&&q.push(`Importance: ${x.importance_score}`),x.confidence!=null&&q.push(`Confidence: ${x.confidence}`),(x.companion_name||x.companion_scope)&&q.push(`Companion: ${x.companion_name||x.companion_scope}`),x.is_favorite&&q.push("Favourite"),x.confirmed!=null&&q.push(x.confirmed?"Confirmed":"Unconfirmed"),q.length>0&&(t.setFontSize(7),t.setFont("helvetica","italic"),t.setTextColor(100,100,100),t.text(_(q.join(" | ")),f+6,u),u+=3.5),u+=2.5,t.setTextColor(0,0,0)}b.length>50&&(U(6),t.setFontSize(7),t.setTextColor(150,150,150),t.text(_(`... and ${b.length-50} more records (see JSON export)`),f+6,u),u+=4,t.setTextColor(0,0,0))},hr=new Set(["identity_facts","memory_connections","soul_chat_memory","soul_memory","soul_reflections","soul_insights","user_memory_light","relationship_continuity_summaries"]),fr=(b,F)=>{const N=b.slice(0,50);for(let D=0;D<N.length;D++){const x=N[D];U(10),N.length>1&&(t.setFontSize(8),t.setFont("helvetica","italic"),t.setTextColor(120,120,120),t.text(`Record ${D+1}`,f+4,u),u+=4,t.setTextColor(0,0,0)),t.setFontSize(8),t.setFont("helvetica","normal");const G=Object.entries(x).filter(([z])=>!Qn.has(z));for(const[z,ee]of G){U(5);const te=hn(z),q=ye(ee);t.setFont("helvetica","bold"),t.setTextColor(60,60,60),t.text(_(`${te}:`),f+6,u),t.setFont("helvetica","normal"),t.setTextColor(30,30,30);const ke=_(q),ue=t.getTextWidth(`${te}: `),fn=t.splitTextToSize(ke,J-10-ue);if(fn.length===1)t.text(fn[0],f+6+ue,u),u+=4;else{u+=4;for(const br of fn)U(4),t.text(br,f+8,u),u+=3.5}}u+=3}b.length>50&&(U(6),t.setFontSize(7),t.setTextColor(150,150,150),t.text(_(`... and ${b.length-50} more records (see JSON export)`),f+6,u),u+=4,t.setTextColor(0,0,0))};for(const[b,F]of Object.entries(a.data||{})){if(b==="account"||typeof F!="object"||F===null)continue;const N=or[b]||b.replace(/([A-Z])/g," $1").trim();U(16),t.setFillColor(240,240,248),t.rect(f,u-4,J,9,"F"),t.setFontSize(13),t.setFont("helvetica","bold"),t.setTextColor(30,30,60),t.text(_(N),f+3,u+2),u+=10,t.setTextColor(0,0,0);for(const[D,x]of Object.entries(F)){if(!Array.isArray(x)||x.length===0)continue;const G=ar[D]||D.replace(/_/g," ").replace(/\b\w/g,z=>z.toUpperCase());U(12),t.setFontSize(10),t.setFont("helvetica","bold"),t.setTextColor(30,30,30),t.text(_(G),f+2,u),t.setFontSize(8),t.setFont("helvetica","normal"),t.setTextColor(140,140,140),t.text(`${x.length} record${x.length!==1?"s":""}`,f+J-2,u,{align:"right"}),u+=2,t.setDrawColor(180,180,200),t.setLineWidth(.3),t.line(f+2,u,f+J-2,u),u+=4,t.setTextColor(0,0,0),D==="conversation_messages"?mr(x):D==="heartline_entries"?dr(x):hr.has(D)?pr(x,D):fr(x,D),u+=4}}const et=t.getNumberOfPages();for(let b=1;b<=et;b++)t.setPage(b),t.setFontSize(7),t.setFont("helvetica","normal"),t.setTextColor(150,150,150),t.setDrawColor(200,200,200),t.line(f,Ee-3,A-f,Ee-3),t.text(`SAM Data Export | Generated ${Zn} | For complete raw data, see JSON export`,f,Ee),t.text(`Page ${b} of ${et}`,A-f,Ee,{align:"right"}),t.setTextColor(0,0,0);
8t.save(`sam-data-export-${new Date().toISOString().split("T")[0]}.pdf`),s({title:"Data exported",description:"Your data has been downloaded as a readable PDF."})}catch(a){console.error("Error exporting PDF:",a),s({title:"Error",description:a.message||"Failed to export your data as PDF.",variant:"destructive"})}finally{Ue(!1)}}},tr=()=>{if(!(n!=null&&n.email)){s({title:"Error",description:"Please sign in to manage your subscription",variant:"destructive"});return}Tn(!0)},rr=()=>{Te(!1),setTimeout(()=>{tn(!0)},150)},sr=async()=>{On(!0);try{const{data:{session:r}}=await B.auth.getSession();if(!(r!=null&&r.access_token))throw new Error("Authentication required");const a=await fetch("/api/stripe/resume-subscription",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.access_token}`}});if(!a.ok){const h=await a.json().catch(()=>({}));throw new Error(h.error||"Failed to resume subscription")}rn({isPaused:!1,pausedUntil:null}),s({title:"Subscription Resumed",description:"Your billing has been resumed. Welcome back!"})}catch(r){console.error("Failed to resume subscription:",r),s({title:"Failed to Resume",description:r.message||"Something went wrong. Please try again.",variant:"destructive"})}finally{On(!1)}},Hn=()=>{(async()=>{var a,h;if(n!=null&&n.email)try{const{data:{session:t}}=await B.auth.getSession();if(!(t!=null&&t.access_token))return;const A=await fetch("/api/stripe/customer-subscription",{headers:{Authorization:`Bearer ${t.access_token}`}});if(!A.ok)return;const S=await A.json();S.subscription?(rn({isPaused:!!S.subscription.isPaused,pausedUntil:S.subscription.pausedUntil||null}),sn(["active","trialing","past_due"].includes(S.subscription.status)),An({status:S.subscription.status,amount:((a=S.subscription.plan)==null?void 0:a.amount)??0,interval:((h=S.subscription.plan)==null?void 0:h.interval)??"month",currentPeriodEnd:S.subscription.currentPeriodEnd??null})):(sn(!1),An(null))}catch(t){console.error("Failed to reload subscription data:",t)}})()};d.useEffect(()=>{Hn()},[n==null?void 0:n.id]);const ir=r=>{r?window.open(r,"_blank"):s({title:"Invoice unavailable",description:"PDF download is not available for this invoice.",variant:"destructive"})};return e.jsxDEV(nt.main,{className:"pt-28 md:pt-20 min-h-screen bg-gradient-to-br from-black via-gray-900 to-black",initial:"hidden",animate:"visible",exit:"exit",variants:xr,children:[e.jsxDEV("div",{className:"sam-container py-12",children:e.jsxDEV(nt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"max-w-4xl mx-auto",children:[e.jsxDEV("div",{className:"mb-8",children:[e.jsxDEV("h1",{className:"font-heading text-3xl md:text-4xl font-bold mb-2 text-white",children:"Account Settings"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1984,columnNumber:13},void 0),e.jsxDEV("p",{className:"text-white/70",children:"Manage your SAM account, subscription, and privacy preferences"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1985,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1983,columnNumber:11},void 0),e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{className:"bg-white/10 backdrop-blur-md border border-white/20 rounded-lg p-6",children:[e.jsxDEV("div",{className:"mb-6",children:[e.jsxDEV("h3",{className:"text-xl font-bold text-white flex items-center gap-2 mb-2",children:[e.jsxDEV(Dr,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1993,columnNumber:19},void 0),"Profile"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1992,columnNumber:17},void 0),e.jsxDEV("p",{className:"text-white/70",children:"Your basic account information"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1996,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1991,columnNumber:15},void 0),e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Name"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2001,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-lg font-medium text-white",children:Le.name},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2002,columnNumber:21},void 0),we&&e.jsxDEV("span",{style:{display:"inline-block",marginTop:"6px",padding:"4px 10px",borderRadius:"12px",fontSize:"12px",fontWeight:600,letterSpacing:"0.02em",background:"rgba(255, 190, 60, 0.15)",border:"1px solid rgba(255, 190, 60, 0.4)",color:"#F6C65B"},children:"Inner Circle"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2004,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2e3,columnNumber:19},void 0),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Email"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2021,columnNumber:21},void 0),g?e.jsxDEV("div",{className:"flex gap-2 mt-1",children:[e.jsxDEV(je,{type:"email",value:c,onChange:r=>p(r.target.value),className:"flex-1"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2024,columnNumber:25},void 0),e.jsxDEV(E,{onClick:Kt,size:"sm",children:"Save"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2030,columnNumber:25},void 0),e.jsxDEV(E,{onClick:()=>y(!1),variant:"outline",size:"sm",children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2031,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2023,columnNumber:23},void 0):e.jsxDEV("div",{className:"flex items-center gap-2 mt-1",children:[e.jsxDEV("p",{className:"text-lg text-white",children:Le.email},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2035,columnNumber:25},void 0),e.jsxDEV(E,{onClick:()=>y(!0),variant:"ghost",size:"sm",className:"text-white/70 hover:text-white",children:e.jsxDEV(wn,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2037,columnNumber:27},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2036,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2034,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2020,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1999,columnNumber:17},void 0),e.jsxDEV("div",{className:"border-t border-white/10 mt-4 pt-4",children:e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:["Date of birth ",e.jsxDEV("span",{className:"text-white/40",children:"(optional)"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2047,columnNumber:90},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2047,columnNumber:23},void 0),zn?e.jsxDEV("div",{className:"flex items-center gap-2 mt-1 flex-wrap",children:[e.jsxDEV(je,{type:"date",value:oe,onChange:r=>Yn(r.target.value),max:new Date().toISOString().split("T")[0],className:"w-44 h-8 text-sm bg-white/5 border-white/20 text-white",style:{fontSize:"16px"}},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2050,columnNumber:27},void 0),e.jsxDEV(E,{onClick:Jt,disabled:Bn||!oe,size:"sm",className:"h-8 text-sm bg-purple-600 hover:bg-purple-700 text-white disabled:opacity-50",children:Bn?"Saving...":"Save"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2058,columnNumber:27},void 0),e.jsxDEV(E,{onClick:()=>Oe(!1),variant:"ghost",size:"sm",className:"h-8 text-sm text-white/70 hover:text-white",children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2066,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2049,columnNumber:25},void 0):e.jsxDEV("p",{className:"text-sm text-white/50",children:un?new Date(un+"T00:00:00").toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"Not set"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2076,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2046,columnNumber:21},void 0),!zn&&e.jsxDEV(E,{onClick:()=>{Yn(un),Oe(!0)},variant:"ghost",size:"sm",className:"text-white/70 hover:text-white",children:e.jsxDEV(wn,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2088,columnNumber:25},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2082,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2045,columnNumber:19},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2044,columnNumber:17},void 0),e.jsxDEV("div",{className:"border-t border-white/10 mt-4 pt-4",children:e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Password"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2097,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-sm text-white/50",children:"â¢â¢â¢â¢â¢â¢â¢â¢"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2098,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2096,columnNumber:21},void 0),It?e.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap justify-end",children:[e.jsxDEV("div",{className:"relative",children:[e.jsxDEV(je,{type:le?"text":"password",value:ce,onChange:r=>an(r.target.value),placeholder:"New password",className:"w-40 h-8 text-sm bg-white/5 border-white/20 text-white placeholder:text-white/40 pr-8",minLength:6},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2103,columnNumber:27},void 0),e.jsxDEV("button",{type:"button",onClick:()=>Fe(!le),className:"absolute right-2 top-1/2 -translate-y-1/2 text-white/50 hover:text-white",children:le?e.jsxDEV(ut,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2116,columnNumber:48},void 0):e.jsxDEV(mt,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2116,columnNumber:85},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2111,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2102,columnNumber:25},void 0),e.jsxDEV("div",{className:"relative",children:[e.jsxDEV(je,{type:le?"text":"password",value:Ae,onChange:r=>cn(r.target.value),placeholder:"Confirm",className:"w-40 h-8 text-sm bg-white/5 border-white/20 text-white placeholder:text-white/40 pr-8",minLength:6},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2120,columnNumber:27},void 0),e.jsxDEV("button",{type:"button",onClick:()=>Fe(!le),className:"absolute right-2 top-1/2 -translate-y-1/2 text-white/50 hover:text-white",children:le?e.jsxDEV(ut,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2133,columnNumber:48},void 0):e.jsxDEV(mt,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2133,columnNumber:85},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2128,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2119,columnNumber:25},void 0),e.jsxDEV(E,{onClick:Bt,disabled:In||!ce||!Ae,size:"sm",className:"h-8 text-sm bg-purple-600 hover:bg-purple-700 text-white disabled:opacity-50",children:In?"Saving...":"Save"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2136,columnNumber:25},void 0),e.jsxDEV(E,{onClick:()=>{ln(!1),an(""),cn(""),Fe(!1)},variant:"ghost",size:"sm",className:"h-8 text-sm text-white/70 hover:text-white",children:"Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2144,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2101,columnNumber:23},void 0):e.jsxDEV(E,{onClick:()=>ln(!0),variant:"ghost",size:"sm",className:"text-white/70 hover:text-white",children:e.jsxDEV(wn,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2160,columnNumber:25},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2154,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2095,
8columnNumber:19},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2094,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1998,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1990,columnNumber:13},void 0),e.jsxDEV("div",{className:"bg-white/10 backdrop-blur-md border border-white/20 rounded-lg p-6",children:[e.jsxDEV("div",{className:"mb-6",children:[e.jsxDEV("h3",{className:"text-xl font-bold text-white flex items-center gap-2 mb-2",children:[e.jsxDEV(yn,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2172,columnNumber:19},void 0),"Billing & Subscription"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2171,columnNumber:17},void 0),e.jsxDEV("p",{className:"text-white/70",children:we?"Your membership status and access details":"Manage your subscription and billing information"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2175,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2170,columnNumber:15},void 0),we?e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Plan"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2184,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-lg font-medium",style:{color:"#F6C65B"},children:"Inner Circle â Lifetime Access"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2185,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2183,columnNumber:19},void 0),e.jsxDEV("div",{style:{padding:"20px 24px",borderRadius:"12px",background:"rgba(255, 190, 60, 0.08)",border:"1px solid rgba(255, 190, 60, 0.3)"},children:e.jsxDEV("div",{className:"flex items-start gap-3",children:[e.jsxDEV(Yr,{className:"w-5 h-5 mt-0.5 flex-shrink-0",style:{color:"#F6C65B"}},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2196,columnNumber:23},void 0),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-semibold mb-1",style:{color:"#F6C65B"},children:"Complimentary Lifetime Access"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2198,columnNumber:25},void 0),e.jsxDEV("p",{className:"text-sm text-white/70 leading-relaxed",children:"As a founding member of the Inner Circle, you have free, permanent access to all of SAM â no subscription, no billing, no expiry date."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2199,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2197,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2195,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2189,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2181,columnNumber:17},void 0):e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Plan"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2210,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-lg font-medium text-white",children:Q?`SAM Companion â ${Q.status==="trialing"?"Trialing":Q.status==="past_due"?"Payment issue":"Active"}`:"No active subscription"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2211,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2209,columnNumber:21},void 0),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Next Billing Date"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2218,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-lg text-white",children:Q!=null&&Q.currentPeriodEnd?new Date(Q.currentPeriodEnd*1e3).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"â"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2219,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2217,columnNumber:21},void 0),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-sm font-medium text-white/70",children:"Payment Method"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2226,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-lg text-white",children:Q?`$${(Q.amount/100).toFixed(2)} / ${Q.interval}`:"â"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2227,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2225,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2208,columnNumber:19},void 0),Pe.isPaused&&e.jsxDEV("div",{className:"p-4 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[e.jsxDEV("div",{className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(Ge,{className:"w-4 h-4 text-amber-400"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2237,columnNumber:27},void 0),e.jsxDEV("p",{className:"font-medium text-amber-400",children:["Paused until ",Pe.pausedUntil?new Date(Pe.pausedUntil*1e3).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):"resumed manually"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2238,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2236,columnNumber:25},void 0),e.jsxDEV(E,{onClick:sr,disabled:Fn,size:"sm",className:"bg-green-600 hover:bg-green-700 text-white",children:[e.jsxDEV(Sr,{className:"w-3 h-3 mr-1.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2250,columnNumber:27},void 0),Fn?"Resuming...":"Resume Now"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2244,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2235,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-sm text-white/60 mt-2",children:"No charges will be made until billing resumes. You still have full access."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2254,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2234,columnNumber:21}
8,void 0),!we&&!Pe.isPaused&&ge&&e.jsxDEV(E,{onClick:()=>tn(!0),variant:"outline",className:"border-amber-500/40 text-amber-400 hover:bg-amber-500/10 hover:border-amber-500/60 transition-all duration-200",children:[e.jsxDEV(Ge,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2264,columnNumber:23},void 0),"Pause My Account"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2259,columnNumber:21},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-6"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2269,columnNumber:19},void 0),e.jsxDEV("div",{children:[e.jsxDEV("h4",{className:"font-medium mb-3 text-white",children:"Invoice History"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2272,columnNumber:21},void 0),e.jsxDEV("div",{className:"space-y-2",children:_e?e.jsxDEV("div",{className:"text-white/70 text-center py-4",children:"Loading invoices..."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2275,columnNumber:25},void 0):Ne.length===0?e.jsxDEV("div",{className:"text-white/70 text-center py-4",children:"No invoices found"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2277,columnNumber:25},void 0):Ne.map(r=>e.jsxDEV("div",{className:"flex items-center justify-between p-3 bg-white/5 backdrop-blur-sm rounded-lg border border-white/10",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-medium text-white",children:r.date},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2283,columnNumber:33},void 0),e.jsxDEV("p",{className:"text-sm text-white/70",children:r.number||r.id},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2284,columnNumber:33},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2282,columnNumber:31},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2281,columnNumber:29},void 0),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(se,{variant:"outline",className:"border-white/30 text-white",children:r.status},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2288,columnNumber:31},void 0),e.jsxDEV("p",{className:"font-medium text-white",children:r.amount},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2289,columnNumber:31},void 0),e.jsxDEV(E,{onClick:()=>ir(r.pdfUrl),variant:"ghost",size:"sm",className:"text-white/70 hover:text-white",children:e.jsxDEV(tt,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2296,columnNumber:33},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2290,columnNumber:31},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2287,columnNumber:29},void 0)]},r.id,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2280,columnNumber:27},void 0))},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2273,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2271,columnNumber:19},void 0),e.jsxDEV(E,{onClick:()=>ge?tr():o("/pricing"),className:"w-full bg-gradient-to-r from-[#1bc1e2] to-[#007BFF] hover:from-[#007BFF] hover:to-[#1bc1e2] text-white",children:[ge?e.jsxDEV(Wr,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2309,columnNumber:46},void 0):e.jsxDEV(wt,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2309,columnNumber:90},void 0),ge?"Manage My Subscription":"View Plans & Subscribe"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2305,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2207,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2169,columnNumber:13},void 0),e.jsxDEV("div",{className:"bg-white/10 backdrop-blur-md border border-white/20 rounded-lg p-6",children:[e.jsxDEV("div",{className:"mb-6",children:[e.jsxDEV("h3",{className:"text-xl font-bold text-white flex items-center gap-2 mb-2",children:[e.jsxDEV(Kr,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2320,columnNumber:19},void 0),"Email Preferences"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2319,columnNumber:17},void 0),e.jsxDEV("p",{className:"text-white/70",children:"Control what emails you receive from SAM"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2323,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2318,columnNumber:15},void 0),e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-medium text-white",children:"Onboarding tips and guidance"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2328,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-sm text-white/70",children:"Helpful tips to get the most out of SAM"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2329,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2327,columnNumber:19},void 0),e.jsxDEV(bn,{checked:w.onboardingTips,onCheckedChange:r=>Wn("onboardingTips",r),disabled:m,className:"data-[state=checked]:bg-purple-600 data-[state=unchecked]:bg-purple-600/50"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2331,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2326,columnNumber:17},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-6"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2338,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-medium text-white",children:"Updates and emotional nudges"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2342,columnNumber:23},void 0),e.jsxDEV("p",{className:"text-sm text-white/70",children:"Occasional prompts to reconnect with your companion or reflect on your journey"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2343,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2341,columnNumber:21},void 0),e.jsxDEV(jr,{children:e.jsxDEV(Cr,{children:[e.jsxDEV(Vr,{children:e.jsxDEV(Jr,{className:"w-4 h-4 text-white/70"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2348,columnNumber:27},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2347,columnNumber:25},void 0),e.jsxDEV(Mr,{children:e.jsxDEV("p",{children:"Occasional prompts to reconnect with your companion or reflect on your journey"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2351,columnNumber:27},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2350,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2346,columnNumber:23},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2345,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2340,columnNumber:19},void 0),e.jsxDEV(bn,{checked:w.updates,onCheckedChange:r=>Wn("updates",r),disabled:m,className:"data-[state=checked]:bg-purple-600 data-[state=unchecked]:bg-purple-600/50"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2356,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2339,columnNumber:17},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-6"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2363,columnNumber:17},void 0),e.jsxDEV(E,{variant:"outline",className:"w-full border border-white/40 bg-transparent text-white hover:bg-purple-600/20 hover:border-purple-500/60 transition-all duration-200",onClick:Ht,disabled:m,children:[e.jsxDEV(Hr,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2370,columnNumber:19}
8,void 0),m?"Updating...":"Unsubscribe from all non-essential emails"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2364,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2325,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2317,columnNumber:13},void 0),e.jsxDEV("div",{className:"bg-white/10 backdrop-blur-md border border-white/20 rounded-lg p-6",children:[e.jsxDEV("div",{className:"mb-6",children:[e.jsxDEV("h3",{className:"text-xl font-bold text-white flex items-center gap-2 mb-2",children:[e.jsxDEV(Gr,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2382,columnNumber:19},void 0),"Data & Privacy"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2381,columnNumber:17},void 0),e.jsxDEV("p",{className:"text-white/70",children:"Control your data and privacy settings"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2385,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2380,columnNumber:15},void 0),e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-medium text-white",children:"Delete my data if I cancel my subscription"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2390,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-sm text-white/70",children:"Automatically remove all data if your subscription is cancelled"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2391,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2389,columnNumber:19},void 0),e.jsxDEV(bn,{checked:R,onCheckedChange:$t,className:"data-[state=checked]:bg-purple-600 data-[state=unchecked]:bg-purple-600/50"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2393,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2388,columnNumber:17},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-6"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2400,columnNumber:17},void 0),e.jsxDEV(Xr,{open:ne,onOpenChange:de,children:[e.jsxDEV(Zr,{asChild:!0,children:e.jsxDEV(E,{variant:"ghost",className:"w-full justify-between p-0 h-auto text-red-400 hover:text-red-300",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(_r,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2407,columnNumber:25},void 0),e.jsxDEV("span",{className:"font-medium",children:"Danger Zone"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2408,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2406,columnNumber:23},void 0),e.jsxDEV(Pr,{className:`w-4 h-4 transition-transform ${ne?"rotate-180":""}`},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2410,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2405,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2404,columnNumber:19},void 0),e.jsxDEV(Qr,{className:"space-y-4 mt-4 p-4 border border-red-500/20 rounded-lg bg-red-500/5",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("h4",{className:"font-medium text-red-400 mb-2",children:"Delete Chat History"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2416,columnNumber:25},void 0),e.jsxDEV("p",{className:"text-sm text-white/70 mb-3",children:"This will permanently delete all your conversation history with SAM. This action cannot be undone."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2417,columnNumber:25},void 0),e.jsxDEV(rt,{children:[e.jsxDEV(Or,{asChild:!0,children:e.jsxDEV(E,{variant:"destructive",size:"sm",className:"bg-red-600 hover:bg-red-700 border-red-600 hover:border-red-700 transition-all duration-200",children:[e.jsxDEV(zr,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2423,columnNumber:31},void 0),"Delete Chat History"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2422,columnNumber:29},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2421,columnNumber:27},void 0),e.jsxDEV(st,{children:[e.jsxDEV(it,{children:[e.jsxDEV(ot,{children:"Clear All Conversations?"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2429,columnNumber:31},void 0),e.jsxDEV(at,{className:"space-y-3",children:[e.jsxDEV("p",{children:"This will permanently delete all your past conversations with your companion."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2431,columnNumber:33},void 0),e.jsxDEV("p",{children:"These chats won't be stored, saved, or recoverable â ever."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2432,columnNumber:33},void 0),e.jsxDEV("p",{children:"Are you sure you want to let go of everything you've shared?"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2433,columnNumber:33},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2430,columnNumber:31},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2428,columnNumber:29},void 0),e.jsxDEV(Lr,{children:[e.jsxDEV(ct,{children:"â Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2437,columnNumber:31},void 0),e.jsxDEV(lt,{onClick:Xt,className:"bg-destructive hover:bg-destructive/90",children:"â
Yes, Delete My History"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2438,columnNumber:31},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2436,columnNumber:29},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2427,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2420,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2415,columnNumber:23},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2446,columnNumber:23},void 0),e.jsxDEV("div",{children:[e.jsxDEV("h4",{className:"font-medium text-blue-400 mb-2",children:"Download My Data"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2449,columnNumber:25},void 0),e.jsxDEV("p",{className:"text-sm text-white/70 mb-3",children:"Export a copy of all your data â conversations, memories, companion info, and more."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2450,columnNumber:25},void 0),e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:[e.jsxDEV(E,{variant:"outline",size:"sm",onClick:nr,disabled:Re,className:"border-blue-500/50 text-blue-400 hover:bg-blue-500/10 transition-all duration-200",children:[e.jsxDEV(Tr,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2461,columnNumber:29},void 0),Re?"Preparing...":"Download as PDF"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2454,columnNumber:27},void 0),e.jsxDEV(E,{variant:"outline",size:"sm",onClick:er,disabled:Re,className:"border-white/20 text-white/60 hover:bg-white/5 transition-all duration-200",children:[e.jsxDEV(tt,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2471,columnNumber:29},void 0),Re?"Preparing...":"Download as JSON"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2464,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2453,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2448,columnNumber:23},void 0),e.jsxDEV("div",{className:"border-t border-white/10 my-4"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2477,columnNumber:23},void 0),e.jsxDEV("div",{children:[e.jsxDEV("h4",{className:"font-medium text-red-400 mb-2",children:"Delete Account"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2480,columnNumber:25},void 0),e.jsxDEV("p",{className:"text-sm text-white/70 mb-3",children:"This will cancel your subscription, delete your account, and permanently remove all your data. This action cannot be undone."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2481,columnNumber:25},void 0),e.jsxDEV(E,{variant:"destructive",size:"sm",className:"bg-red-600 hover:bg-red-700 border-red-600 hover:border-red-700 transition-all duration-200",disabled:dn,onClick:()=>Te(!0),children:[e.jsxDEV(Br,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2485,columnNumber:27}
8,void 0),dn?"Deleting...":"Delete My Account"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2484,columnNumber:25},void 0),e.jsxDEV(rt,{open:Lt,onOpenChange:Te,children:e.jsxDEV(st,{children:[e.jsxDEV(it,{children:[e.jsxDEV(ot,{children:"Goodbye⦠Are You Sure?"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2491,columnNumber:31},void 0),e.jsxDEV(at,{className:"space-y-3",children:[e.jsxDEV("span",{className:"block",children:"This will permanently delete your account, companion, and all saved conversations â including Heartline memories."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2493,columnNumber:33},void 0),e.jsxDEV("span",{className:"block",children:"Your subscription will be cancelled, and your account will be deleted permanently."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2494,columnNumber:33},void 0),e.jsxDEV("span",{className:"block",children:"There's no going back."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2495,columnNumber:33},void 0),e.jsxDEV("span",{className:"block",children:"We'll miss you. But we respect your choice."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2496,columnNumber:33},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2492,columnNumber:31},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2490,columnNumber:29},void 0),e.jsxDEV("div",{className:"flex flex-col gap-3 pt-2",children:[e.jsxDEV("div",{className:"flex gap-2 justify-end",children:[e.jsxDEV(ct,{children:"â Cancel"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2501,columnNumber:33},void 0),e.jsxDEV(lt,{onClick:Zt,className:"bg-destructive hover:bg-destructive/90",children:"ð¥ Yes, Delete Everything"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2502,columnNumber:33},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2500,columnNumber:31},void 0),!we&&ge&&e.jsxDEV("button",{onClick:rr,className:"w-full border-0 bg-transparent text-sm text-white/40 hover:text-white/70 hover:bg-white/5 transition-colors flex items-center justify-center py-2 rounded-md",children:[e.jsxDEV(Ge,{className:"w-3 h-3 mr-1.5"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2508,columnNumber:35},void 0),"Or pause my account instead"]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2507,columnNumber:33},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2499,columnNumber:29},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2489,columnNumber:27},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2488,columnNumber:25},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2479,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2414,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2413,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2403,columnNumber:17},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2387,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2379,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1988,columnNumber:11},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1976,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1975,columnNumber:7},void 0),e.jsxDEV(is,{isOpen:nn,onClose:()=>{K(!1),be(null)},companion:fe,onCompanionUpdated:qt},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2527,columnNumber:7},void 0),e.jsxDEV(Rs,{isOpen:Ft,onClose:()=>Tn(!1),subscriptionStatus:mn==null?void 0:mn.subscriptionStatus},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2537,columnNumber:7},void 0),e.jsxDEV(zs,{isOpen:Ot,onClose:()=>tn(!1),onPaused:Hn},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2543,columnNumber:7},void 0),Ln&&e.jsxDEV(Xe,{open:Ln,onOpenChange:()=>{},children:e.jsxDEV(Ze,{hideCloseButton:!0,onInteractOutside:r=>r.preventDefault(),onEscapeKeyDown:r=>r.preventDefault(),className:`sm:max-w-[320px] border-0 p-6 ${ie?ie.success?"bg-gradient-to-b from-[#1a1a2e] to-[#16213e]":"bg-gradient-to-b from-[#2e1a1a] to-[#3e1621]":"bg-gradient-to-b from-[#1a1a2e] to-[#16213e]"} text-white shadow-2xl`,children:e.jsxDEV("div",{className:"flex flex-col items-center text-center space-y-4 py-4",children:dn?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"w-14 h-14 roun
8ded-full bg-white/5 flex items-center justify-center",children:e.jsxDEV("div",{className:"w-8 h-8 border-2 border-white/20 border-t-[#1bc1e2] rounded-full animate-spin"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2564,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2563,columnNumber:19},void 0),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("h2",{className:"text-lg font-semibold tracking-tight",children:"Deleting your account..."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2567,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-sm text-white/50",children:"This may take a moment. Please don't close this window."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2568,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2566,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2562,columnNumber:17},void 0):ie!=null&&ie.success?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"w-14 h-14 rounded-full bg-emerald-500/20 flex items-center justify-center",children:e.jsxDEV(yt,{className:"w-8 h-8 text-emerald-400"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2574,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2573,columnNumber:19},void 0),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("h2",{className:"text-lg font-semibold tracking-tight",children:"Your account has been deleted"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2577,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-sm text-white/60",children:"All your data, conversations, and memories have been permanently removed."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2578,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2576,columnNumber:19},void 0),e.jsxDEV("p",{className:"text-sm text-white/40",children:"Thank you for being part of SAM. We'll miss you."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2580,columnNumber:19},void 0),e.jsxDEV(E,{onClick:()=>{on(!1);try{Ar(),Fr();const r=[];for(let a=0;a<window.localStorage.length;a++){const h=window.localStorage.key(a);h&&h.startsWith("sb-")&&h.endsWith("-auth-token")&&r.push(h)}r.forEach(a=>window.localStorage.removeItem(a))}catch{}i(),window.location.href="/"},size:"sm",className:"w-full bg-white/10 hover:bg-white/20 text-white border border-white/10 h-10 mt-2",children:"Close"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2583,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2572,columnNumber:17},void 0):ie?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"w-14 h-14 rounded-full bg-red-500/20 flex items-center justify-center",children:e.jsxDEV(qr,{className:"w-8 h-8 text-red-400"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2621,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2620,columnNumber:19},void 0),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("h2",{className:"text-lg font-semibold tracking-tight",children:"Deletion Failed"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2624,columnNumber:21},void 0),e.jsxDEV("p",{className:"text-sm text-white/60",children:"Your account was not deleted. All your data remains safe and untouched."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2625,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2623,columnNumber:19},void 0),e.jsxDEV("div",{className:"w-full bg-red-500/10 border border-red-500/20 rounded-md p-3 text-left",children:e.jsxDEV("p",{className:"text-sm text-red-300",children:ie.error},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2628,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2627,columnNumber:19},void 0),e.jsxDEV("p",{className:"text-xs text-white/40",children:"Please try again or c
8ontact support if the issue persists."},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2630,columnNumber:19},void 0),e.jsxDEV(E,{onClick:()=>on(!1),size:"sm",className:"w-full bg-white/10 hover:bg-white/20 text-white border border-white/10 h-10 mt-2",children:"Close"},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2633,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2619,columnNumber:17},void 0):null},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2560,columnNumber:13},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2551,columnNumber:11},void 0)},void 0,!1,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:2550,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/runner/workspace/client/src/pages/account.tsx",lineNumber:1968,columnNumber:5},void 0)};export{Ni 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.