https://plotdot.ai/_next/static/chunks/3263-0558bfe6fc705198.js?dpl=dpl_R374gRE5xvJD8c8Czm7Uo4Ghx1zg
1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c79f3e82-fd5a-453a-a3fd-0f30df1d7136",e._sentryDebugIdIdentifier="sentry-dbid-c79f3e82-fd5a-453a-a3fd-0f30df1d7136")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3263],{930:(e,t,s)=>{s.d(t,{p:()=>l});var a=s(54568),r=s(7620),n=s(17483);let l=r.forwardRef((e,t)=>{let{className:s,type:r,...l}=e;return(0,a.jsx)("input",{type:r,className:(0,n.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base text-zinc-200 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",s),ref:t,...l})});l.displayName="Input"},11909:(e,t,s)=>{s.d(t,{h:()=>n});var a=s(61624);function r(){let e=(0,a._)(["\n fragment UserFragment on User {\n _id\n email\n name\n credits\n picture\n givenName\n familyName\n hasAgreedToTermsOfService\n isEmailVerified\n subscription {\n name\n interval\n stripeSubscriptionPriceId\n price\n totalInks\n currentPeriodStart\n currentPeriodEnd\n isStripeSubscription\n canceledAt\n lastUpgradedAt\n }\n }\n"]);return r=function(){return e},e}let n=(0,s(33242).J1)(r())},12807:(e,t,s)=>{s.d(t,{V:()=>a});let a=e=>Math.ceil(e).toString()},17072:(e,t,s)=>{s.d(t,{C5:()=>b,MJ:()=>h,Rr:()=>p,eI:()=>f,lR:()=>g,lV:()=>o,zB:()=>m});var a=s(54568),r=s(7620),n=s(78347),l=s(42584),i=s(17483),d=s(38952);let o=l.Op,c=r.createContext({}),m=e=>{let{...t}=e;return(0,a.jsx)(c.Provider,{value:{name:t.name},"data-sentry-element":"unknown","data-sentry-component":"FormField","data-sentry-source-file":"form.tsx",children:(0,a.jsx)(l.xI,{...t,"data-sentry-element":"Controller","data-sentry-source-file":"form.tsx"})})},x=()=>{let e=r.useContext(c),t=r.useContext(u),{getFieldState:s,formState:a}=(0,l.xW)(),n=s(e.name,a);if(!e)throw Error("useFormField should be used within <FormField>");let{id:i}=t;return{id:i,name:e.name,formItemId:"".concat(i,"-form-item"),formDescriptionId:"".concat(i,"-form-item-description"),formMessageId:"".concat(i,"-form-item-message"),...n}},u=r.createContext({}),f=r.forwardRef((e,t)=>{let{className:s,...n}=e,l=r.useId();return(0,a.jsx)(u.Provider,{value:{id:l},children:(0,a.jsx)("div",{ref:t,className:(0,i.cn)("relative space-y-2",s),...n})})});f.displayName="FormItem";let g=r.forwardRef((e,t)=>{let{className:s,...r}=e,{error:n,formItemId:o,isTouched:c}=x(),{formState:m}=(0,l.xW)(),u=!!n&&(c||m.isSubmitted);return(0,a.jsx)(d.J,{ref:t,className:(0,i.cn)(u&&"text-destructive","text-xs text-zinc-400",s),htmlFor:o,...r})});g.displayName="FormLabel";let h=r.forwardRef((e,t)=>{let{...s}=e,{error:r,formItemId:i,formDescriptionId:d,formMessageId:o,isTouched:c}=x(),{formState:m}=(0,l.xW)(),u=!!r&&(c||m.isSubmitted);return(0,a.jsx)(n.DX,{ref:t,id:i,"aria-describedby":u?"".concat(d," ").concat(o):"".concat(d),"aria-invalid":u,...s})});h.displayName="FormControl";let p=r.forwardRef((e,t)=>{let{className:s,...r}=e,{formDescriptionId:n}=x();return(0,a.jsx)("p",{ref:t,id:n,className:(0,i.cn)("text-sm text-muted-foreground",s),...r})});p.displayName="FormDescription";let b=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e,{error:d,formMessageId:o,isTouched:c}=x(),{formState:m}=(0,l.xW)(),u=d&&(c||m.isSubmitted)?String(null==d?void 0:d.message):r;return u?(0,a.jsx)("p",{ref:t,id:o,className:(0,i.cn)("absolute bottom-[-22px] text-sm font-normal text-destructive",s),...n,children:u}):null});b.displayName="FormMessage"},23263:(e,t,s)=>{s.d(t,{b:()=>et});var a=s(54568),r=s(7620),n=s(37270),l=s(46175),i=s(17483),d=s(84518),o=s(82767),c=s(37250),m=s(79748),x=s(61624),u=s(33242);function f(){let e=(0,x._)(["\n query getUserBillingStatus {\n getUserBillingStatus {\n currentPlan {\n price\n nextInvoice\n subscriptionName\n canceledAt\n endsAt\n }\n paymentMethods {\n id\n customer\n card {\n brand\n country\n expirationMonth\n expirationYear\n last4\n }\n isDefault\n }\n credits\n }\n }\n"]);return f=function(){return e},e}let g=(0,u.J1)(f());var h=s(75843),p=s(97292),b=s(12807),y=s(93594),v=s(9917),j=s(58299),N=s(3072),w=s(67447);function D(){let e=(0,x._)(["\n mutation addUserPaymentMethod($redirectUrl: String!) {\n addUserPaymentMethod(redirectUrl: $redirectUrl)\n }\n"]);return D=function(){return e},e}let F=(0,u.Ay)(D());var B=s(25195),S=s(66101),E=s(11909);function P(){let e=(0,x._)(["\n ","\n mutation cancelUserSubscription {\n cancelUserSubscription {\n ...UserFragment\n }\n }\n"]);return P=function(){return e},e}let U=(0,u.Ay)(P(),E.h);var A=s(64280),C=s(24299),k=s(82175),M=s(94411),I=s(34309),z=s(36645);function $(){let e=(0,x._)(["\n mutation deleteUserPaymentMethod($paymentMethodId: String!) {\n deleteUserPaymentMethod(paymentMethodId: $paymentMethodId)\n }\n"]);return $=function(){return e},e}let R=(0,u.Ay)($());function _(){let e=(0,x._)(["\n mutation setUserDefaultPaymentMethod($paymentMethodId: String!) {\n setUserDefaultPaymentMethod(paymentMethodId: $paymentMethodId)\n }\n"]);return _=function(){return e},e}let T=(0,u.Ay)(_()),Y={visa:"/images/cards/visa.png",mastercard:"/images/cards/mastercard.png",amex:"/images/cards/amex.png",discover:"/images/cards/discover.png",jcb:"/images/cards/jcb.png",diners:"/images/cards/diners.png"};function J(e){let t,{paymentMethodId:s,className:r,card:n,isDefault:i,isRemoveEnabled:d,onRemoveClicked:o,onSetDefaultClicked:m}=e,{setDefaultPaymentMethod:x,loading:u}=function(){let[e,{loading:t}]=(0,S.n)(T,{errorPolicy:"all"});return{setDefaultPaymentMethod:async t=>{let{data:s,errors:a}=await e({variables:{paymentMethodId:t},errorPolicy:"all"});return(0,B.b)(s,a,"setUserDefaultPaymentMethod","Failed to add payment method").setUserDefaultPaymentMethod},loading:t}}(),{deletePaymentMethod:f,loading:g}=function(){let[e,{loading:t}]=(0,S.n)(R,{errorPolicy:"all"});return{deletePaymentMethod:async t=>{let{data:s,errors:a}=await e({variables:{paymentMethodId:t},errorPolicy:"all"});return(0,B.b)(s,a,"deleteUserPaymentMethod","Failed to add payment method").deleteUserPaymentMethod},loading:t}}(),h=async()=>{try{await x(s),null==m||m()}catch(e){(0,A.oR)({title:"Error",description:"Failed to set default payment method",variant:"destructive"})}},p=async()=>{try{await f(s),null==o||o()}catch(e){(0,A.oR)({title:"Error",description:"Failed to remove payment method",variant:"destructive"})}};return(null==n?void 0:n.brand)&&(t=Y[n.brand]),(0,a.jsxs)("div",{className:(0,v.A)("group relative flex flex-col justify-center gap-4 roun
1ded-2xl border border-[#23272f] bg-gradient-to-br from-[#181A20] via-[#20232a] to-[#181A20] p-6 shadow-md transition-all duration-200",r),"data-sentry-component":"PaymentCard","data-sentry-source-file":"payment-card.tsx",children:[(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-2xl ring-1 ring-inset ring-[#23272f]/30"}),(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-2xl bg-[url('/images/grid.svg')] bg-center opacity-5"}),(0,a.jsxs)("div",{className:"relative z-10",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"flex h-14 w-14 items-center justify-center rounded-xl border border-gray-200/30 bg-white shadow-md",children:t?(0,a.jsx)(k.default,{className:"h-10 w-10 object-contain",src:t,width:40,height:40,alt:(null==n?void 0:n.brand)||"Card"}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,a.jsx)(l.A,{className:"h-6 w-6 text-[#DBFE52] drop-shadow"}),(0,a.jsx)("span",{className:"text-xs text-[#6c7275]",children:null==n?void 0:n.brand})]})}),n&&(null==n?void 0:n.expirationMonth)&&(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("div",{className:"flex items-center justify-between gap-2",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"font-mono text-lg font-bold tracking-widest text-[#fafafa]",children:["â¢â¢â¢â¢",null==n?void 0:n.last4]}),(0,a.jsx)("span",{className:"ml-1 text-base font-semibold capitalize text-[#fafafa]/80",children:n.brand})]})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3",children:[(0,a.jsx)("span",{className:"rounded-full bg-[#DBFE52]/20 px-3 py-1 text-xs font-semibold capitalize text-[#DBFE52] shadow-sm",children:"card"}),(0,a.jsxs)("span",{className:"font-mono text-xs text-[#fafafa]/60",children:["Expires ",null==n?void 0:n.expirationMonth,"/",null==n?void 0:n.expirationYear]})]})]})]}),(0,a.jsxs)("div",{className:"mt-5 flex items-center justify-end gap-2 border-t border-[#DBFE52]/10 pt-3",children:[i?(0,a.jsx)("div",{className:"flex items-center gap-1",children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[#DBFE52]/20 px-3 py-1 text-xs font-medium text-[#DBFE52]",children:[(0,a.jsx)(M.A,{className:"size-4"}),"Default"]})}):(0,a.jsxs)(c.$,{variant:"ghost",disabled:u,onClick:h,className:"flex h-8 items-center gap-1 text-xs text-primary transition-colors hover:bg-[#DBFE52]/10 hover:text-[#DBFE52]",children:[u?(0,a.jsx)(j.A,{className:"size-4 animate-spin"}):(0,a.jsx)(I.A,{className:"size-4"}),"Set as default"]}),d&&(0,a.jsxs)(c.$,{variant:"ghost",disabled:g,onClick:p,className:"flex h-8 items-center gap-1 text-xs text-red-500 transition-colors hover:bg-red-500/10",children:[g?(0,a.jsx)(j.A,{className:"size-4 animate-spin"}):(0,a.jsx)(z.A,{className:"size-4"}),"Remove"]})]})]})]})}var V=s(15294);function W(e){var t,s,n;let{closeModal:i}=e,o=(0,m.useRouter)(),x=(0,m.usePathname)(),[u,f]=(0,r.useState)(!1),[D,E]=(0,r.useState)("confirm"),[P,k]=(0,r.useState)(""),{data:M,loading:I,error:z,refetch:$}=(0,y.IT)(g,{fetchPolicy:"cache-first",errorPolicy:"all"}),{addPaymentMethod:R,loading:_}=function(){let[e,{loading:t}]=(0,S.n)(F,{errorPolicy:"all"});return{addPaymentMethod:async t=>{let{data:s,errors:a}=await e({variables:{redirectUrl:t},errorPolicy:"all"});return(0,B.b)(s,a,"addUserPaymentMethod","Failed to add payment method").addUserPaymentMethod},loading:t}}(),{cancelUserSubscription:T,loading:Y}=function(){let[e,{loading:t}]=(0,S.n)(U,{errorPolicy:"all"});return{cancelUserSubscription:async()=>{let{data:t,errors:s}=await e({errorPolicy:"all"});return(0,B.b)(t,s,"cancelUserSubscription","Failed to cancel subscription").cancelUserSubscription},loading:t}}(),[W,O]=(0,r.useState)(!1),G=async()=>{try{let e=await R("".concat(x,"?redirectTo=settings&st=billing"));o.push(e)}catch(e){(0,A.oR)({title:"Error",description:"Failed to add payment method",variant:"destructive"})}},H=async()=>{E("confirm"),k("Are you sure you want to cancel your subscription? Your subscription will remain active until the end of the current billing period, but it will not renew afterward."),f(!0)},L=async()=>{try{await T()?(E("success"),k("Your subscription has been successfully canceled. It will remain active until the end of the current billing period.")):(E("error"),k("Failed to cancel your subscription. Please try again.")),await $()}catch(e){E("error"),k("An unexpected error occurred. Please try again.")}};if(I)return(0,a.jsx)("div",{className:"flex h-full w-full items-center justify-center",children:(0,a.jsx)(j.A,{className:"size-7 animate-spin font-bold text-primary"})});if(z)return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 p-8",children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-red-500",children:"Something wrong happened"}),(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"If the problem persists, please contact support."}),(0,a.jsx)(c.$,{variant:"default",onClick:()=>window.location.reload(),className:"mt-4",children:"Refresh Page"})]});if(!M||!M.getUserBillingStatus||!M.getUserBillingStatus.currentPlan||W)return(0,a.jsx)(V.PricingPlansCards,{onBack:W?()=>O(!1):void 0});let Q=M.getUserBillingStatus.paymentMethods&&M.getUserBillingStatus.paymentMethods.length>0;return(0,a.jsxs)(r.Fragment,{children:[(0,a.jsxs)("div",{className:"mr-4 mt-4 flex flex-col gap-8 pb-10",children:[(0,a.jsxs)("div",{className:"relative rounded-lg border border-[#DBFE52]/20 bg-[#141718]/80 p-6 shadow-lg transition-all duration-200 hover:border-[#DBFE52]/40",children:[(0,a.jsx)("div",{className:"absolute inset-0 rounded-lg bg-[url('/images/grid.svg')] bg-center opacity-5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"rounded-lg bg-[#DBFE52]/10 p-2 backdrop-blur-sm",children:(0,a.jsx)(N.A,{className:"size-7 text-[#DBFE52]","data-sentry-element":"Wallet2","data-sentry-source-file":"billing-settings.tsx"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-[#fafafa]",children:"Plan summary"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-[#6c7275]",children:"Your current subscription details"})]}),(0,a.jsxs)("div",{className:"ml-auto flex flex-col items-end gap-2",children:[(0,a.jsx)(C.E,{className:"bg-[#DBFE52] text-black hover:bg-[#DBFE52]/90","data-sentry-element":"Badge","data-sentry-source-file":"billing-settings.tsx",children:M.getUserBillingStatus.currentPlan.subscriptionName}
1),!M.getUserBillingStatus.currentPlan.canceledAt&&(0,a.jsx)(c.$,{variant:"link",size:"sm",className:"h-auto p-0 text-xs text-[#DBFE52] hover:text-[#DBFE52]/80",onClick:()=>O(!0),children:"Change Plan"})]})]}),M.getUserBillingStatus.currentPlan.isCanceled?(0,a.jsxs)("div",{className:"mt-6 flex items-center justify-between rounded-lg bg-red-500/10 p-4",children:[(0,a.jsx)("div",{className:"text-sm text-red-500",children:"Your subscription has already been canceled and will not renew."}),(0,a.jsx)(c.$,{asChild:!0,children:(0,a.jsx)(h.N_,{href:p.J.pricing.pathname,children:"Subscribe now"})})]}):(0,a.jsxs)("div",{className:"mt-6 flex items-end justify-between",children:[(0,a.jsxs)("div",{className:"flex gap-8",children:[(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"text-sm text-[#6c7275]",children:"Price/month"}),(0,a.jsx)("span",{className:"text-2xl font-bold text-[#fafafa]",children:"$".concat(M.getUserBillingStatus.currentPlan.price)})]}),M.getUserBillingStatus.currentPlan.canceledAt?(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"text-sm text-[#6c7275]",children:"Your subscription ends at"}),(0,a.jsx)("span",{className:"text-2xl font-bold text-[#fafafa]",children:M.getUserBillingStatus.currentPlan.endsAt})]}):(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"text-sm text-[#6c7275]",children:"Renewal date"}),(0,a.jsx)("span",{className:"text-2xl font-bold text-[#fafafa]",children:null==(s=M.getUserBillingStatus)||null==(t=s.currentPlan)?void 0:t.nextInvoice})]})]}),M.getUserBillingStatus.currentPlan.canceledAt?(0,a.jsx)("span",{className:"rounded-lg bg-red-500/20 px-4 py-2 text-red-500",children:"Canceled"}):(0,a.jsx)(c.$,{variant:"destructive",onClick:H,className:"bg-red-500/10 text-red-500 hover:bg-red-500/20",disabled:Y,children:Y?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("span",{children:"Canceling"}),(0,a.jsx)(j.A,{className:"size-4 animate-spin"})]}):"Cancel subscription"})]})]})]}),(0,a.jsxs)("div",{className:"relative rounded-lg border border-[#DBFE52]/20 bg-[#141718]/80 p-6 shadow-lg transition-all duration-200 hover:border-[#DBFE52]/40",children:[(0,a.jsx)("div",{className:"absolute inset-0 rounded-lg bg-[url('/images/grid.svg')] bg-center opacity-5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"items-top flex justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"rounded-lg bg-[#DBFE52]/10 p-2 backdrop-blur-sm",children:(0,a.jsx)(N.A,{className:"text-[#DBFE52]","data-sentry-element":"Wallet2","data-sentry-source-file":"billing-settings.tsx"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-[#fafafa]",children:"Credit Balance"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-[#6c7275]",children:"Available credits for your account"})]})]}),Q&&(0,a.jsx)(c.$,{variant:"default",asChild:!0,children:(0,a.jsxs)(h.N_,{onClick:i,href:"/".concat(p.J.packsPage.pathname,"?redirect=").concat(encodeURIComponent("".concat(x,"?redirectTo=settings&st=billing"))),children:[(0,a.jsx)(N.A,{className:"size-4"})," Purchase a pack"]})})]}),(0,a.jsxs)("div",{className:"mt-4 flex items-baseline gap-2",children:[(0,a.jsx)("span",{className:"text-4xl font-bold text-[#DBFE52]",children:(0,b.V)(M.getUserBillingStatus.credits)}),(0,a.jsx)("span",{className:"text-sm text-[#6c7275]",children:"credits"})]})]})]}),(0,a.jsxs)("div",{className:"relative rounded-lg border border-[#DBFE52]/20 bg-[#141718]/80 p-6 shadow-lg transition-all duration-200 hover:border-[#DBFE52]/40",children:[(0,a.jsx)("div",{className:"absolute inset-0 rounded-lg bg-[url('/images/grid.svg')] bg-center opacity-5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"rounded-lg bg-[#DBFE52]/10 p-2 backdrop-blur-sm",children:(0,a.jsx)(l.A,{className:"text-[#DBFE52]","data-sentry-element":"CreditCard","data-sentry-source-file":"billing-settings.tsx"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-[#fafafa]",children:"Payment Methods"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-[#6c7275]",children:"Manage your payment options"})]})]}),(0,a.jsxs)(c.$,{variant:"default",disabled:_,onClick:G,"data-sentry-element":"Button","data-sentry-source-file":"billing-settings.tsx",children:[_?(0,a.jsx)(j.A,{className:"size-4 animate-spin"}):(0,a.jsx)(w.A,{className:"size-4"}),"Add"]})]}),Q?(0,a.jsx)("div",{className:"mt-6 grid w-full grid-cols-1 gap-4 lg:grid-cols-2",children:null==(n=M.getUserBillingStatus.paymentMethods)?void 0:n.map(e=>{var t,s;return(0,a.jsx)(J,{paymentMethodId:e.id,isRemoveEnabled:(null!=(s=null==(t=M.getUserBillingStatus.paymentMethods)?void 0:t.length)?s:0)>1,isDefault:e.isDefault,card:e.card,onSetDefaultClicked:$,onRemoveClicked:$},e.id)})}):(0,a.jsx)("div",{className:"mt-6 rounded-lg border border-[#DBFE52]/20 bg-[#141718]/50 p-4 text-center backdrop-blur-sm",children:(0,a.jsxs)("div",{className:"text-base text-[#6c7275]",children:["You ","don't"," have any payment methods saved. Add a payment method to add credits and enable billing."]})})]})]}
1),!M.getUserBillingStatus.currentPlan.canceledAt&&(0,a.jsxs)("div",{className:"border-primary/20 bg-primary/5 hover:border-primary/40 group relative overflow-hidden rounded-2xl border p-8 transition-all hover:shadow-[0_0_20px_rgba(219,254,82,0.1)]",children:[(0,a.jsx)("div",{className:"bg-primary/10 absolute -right-8 -top-8 h-32 w-32 rounded-full transition-transform group-hover:scale-150"}),(0,a.jsxs)("div",{className:"relative flex flex-col items-center justify-between gap-6 md:flex-row",children:[(0,a.jsxs)("div",{className:"text-center md:text-left",children:[(0,a.jsx)("h3",{className:"text-2xl font-bold text-[#fafafa]",children:"Ready for more ink?"}),(0,a.jsx)("p",{className:"mt-2 text-[#6c7275]",children:"Unlock higher generation limits and premium AI features by upgrading your tier."})]}),(0,a.jsx)(c.$,{size:"lg",className:"bg-primary px-8 text-black transition-transform hover:scale-105 active:scale-95",onClick:()=>O(!0),children:"Explore Plans"})]})]})]}),(0,a.jsx)(d.Dialog,{open:u,onOpenChange:f,"data-sentry-element":"Dialog","data-sentry-source-file":"billing-settings.tsx",children:(0,a.jsxs)(d.DialogContent,{className:"sm:max-w-md","data-sentry-element":"DialogContent","data-sentry-source-file":"billing-settings.tsx",children:[(0,a.jsx)(d.c7,{"data-sentry-element":"DialogHeader","data-sentry-source-file":"billing-settings.tsx",children:(0,a.jsx)(d.DialogTitle,{className:(0,v.A)({"text-primary":"success"===D,"text-destructive":"error"===D}),"data-sentry-element":"DialogTitle","data-sentry-source-file":"billing-settings.tsx",children:"confirm"===D?"Confirm Subscription Cancellation":"success"===D?"Cancellation Successful":"Cancellation Failed"})}),(0,a.jsx)(d.rr,{"data-sentry-element":"DialogDescription","data-sentry-source-file":"billing-settings.tsx",children:"confirm"===D?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Are you sure you want to cancel your subscription? Your subscription will remain active until the end of the current billing period, but it will not renew afterward."}),(0,a.jsx)("p",{className:"mt-2 text-sm text-gray-500",children:"This action cannot be undone."})]}):null!=P?P:""}),(0,a.jsxs)(d.Es,{"data-sentry-element":"DialogFooter","data-sentry-source-file":"billing-settings.tsx",children:[(0,a.jsx)(c.$,{variant:"outline",onClick:()=>f(!1),disabled:Y,"data-sentry-element":"Button","data-sentry-source-file":"billing-settings.tsx",children:"Close"}),"confirm"===D&&(0,a.jsx)(c.$,{variant:"destructive",onClick:L,disabled:Y,children:Y?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{children:"Canceling"}),(0,a.jsx)(j.A,{className:"size-4 animate-spin"})]}):"Confirm"})]})]})})]})}var O=s(50063),G=s(33262),H=s(42584),L=s(14880),Q=s(42249),q=s(17072),X=s(930),K=s(38952);let Z=L.Ik({name:L.Yj()});function ee(){var e;let{data:t,update:s}=(0,G.useSession)(),{updateUser:l,loading:i}=(0,Q.Q)(),[d,o]=(0,r.useState)(!1),m=(0,H.mN)({resolver:(0,O.u)(Z),defaultValues:{name:(null==t||null==(e=t.user)?void 0:e.name)||""}}),x=async e=>{let a=await l(e);await s({user:{...null==t?void 0:t.user,name:a.name}}),o(!1)};return(0,a.jsx)("div",{className:"mt-4 pr-4","data-sentry-component":"GeneralSettings","data-sentry-source-file":"general-settings.tsx",children:(0,a.jsxs)("div",{className:"relative rounded-lg border border-[#DBFE52]/20 bg-[#141718]/80 p-6 shadow-lg transition-all duration-200 hover:border-[#DBFE52]/40",children:[(0,a.jsx)("div",{className:"absolute inset-0 rounded-lg bg-[url('/images/grid.svg')] bg-center opacity-5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"rounded-lg bg-[#DBFE52]/10 p-2 backdrop-blur-sm",children:(0,a.jsx)(n.A,{className:"size-7 text-[#DBFE52]","data-sentry-element":"Settings","data-sentry-source-file":"general-settings.tsx"})}),(0,a.jsxs)("div",{className:"mr-1",children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-[#fafafa]",children:"Profile Settings"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-[#6c7275]",children:"Manage your personal information and preferences"})]})]}),(0,a.jsxs)(c.$,{onClick:()=>o(!d),disabled:d,className:"group flex h-9 items-center gap-2 rounded-md bg-[#DBFE52] px-4 py-2 text-sm font-medium text-black shadow-lg transition-all hover:bg-[#DBFE52]/90 hover:shadow-[#DBFE52]/20 ".concat(d?"hidden":""),"data-sentry-element":"Button","data-sentry-source-file":"general-sett
1ings.tsx",children:[(0,a.jsx)(n.A,{className:"size-4 transition-transform duration-200 group-hover:rotate-45","data-sentry-element":"Settings","data-sentry-source-file":"general-settings.tsx"}),"Edit Profile"]})]}),(0,a.jsx)(q.lV,{...m,"data-sentry-element":"Form","data-sentry-source-file":"general-settings.tsx",children:(0,a.jsxs)("form",{onSubmit:m.handleSubmit(x),className:"mt-6 flex flex-col gap-6",children:[(0,a.jsx)("div",{className:"form-control flex w-full flex-col space-y-4",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(K.J,{htmlFor:"name",className:"text-sm font-medium text-[#fafafa]","data-sentry-element":"Label","data-sentry-source-file":"general-settings.tsx",children:"Display Name"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(H.xI,{name:"name",control:m.control,render:e=>{let{field:t}=e;return(0,a.jsx)(X.p,{id:"name",placeholder:"Enter your display name",...t,disabled:!d,className:" ".concat(m.formState.touchedFields.name&&m.formState.errors.name?"border-red-500 focus:border-red-500 focus:ring-red-500/20":m.formState.touchedFields.name&&!m.formState.errors.name?"border-green-500 focus:border-green-500 focus:ring-green-500/20":"")})},"data-sentry-element":"Controller","data-sentry-source-file":"general-settings.tsx"}),m.formState.touchedFields.name&&(0,a.jsx)("div",{className:"absolute right-3 top-1/2 -translate-y-1/2",children:m.formState.errors.name?(0,a.jsx)(z.A,{className:"h-5 w-5 text-red-500"}):(0,a.jsx)(I.A,{className:"h-5 w-5 text-green-500"})})]}),m.formState.errors.name&&(0,a.jsx)("p",{className:"text-sm text-red-500",children:m.formState.errors.name.message})]})}),d&&(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("button",{disabled:i,type:"submit",className:"group flex h-10 items-center gap-2 rounded-md bg-[#DBFE52] px-4 py-2 text-sm font-medium text-black shadow-lg transition-all hover:bg-[#DBFE52]/90 hover:shadow-[#DBFE52]/20",children:i?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{children:"Saving"}),(0,a.jsx)(j.A,{className:"size-4 animate-spin"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{children:"Save Changes"}),(0,a.jsx)(I.A,{className:"size-4 transition-transform duration-200 group-hover:scale-110"})]})}),(0,a.jsxs)("button",{disabled:i,onClick:()=>{var e;o(!1),m.reset({name:(null==t||null==(e=t.user)?void 0:e.name)||""})},className:"group flex h-10 items-center gap-2 rounded-md border border-[#DBFE52]/20 bg-transparent px-4 py-2 text-sm font-medium text-[#fafafa] transition-all hover:bg-[#DBFE52]/10",children:[(0,a.jsx)("span",{children:"Cancel"}),(0,a.jsx)(z.A,{className:"size-4 transition-transform duration-200 group-hover:scale-110"})]})]})]})})]})]})})}function et(e){let{open:t,onOpenChange:s,selectedTab:m}=e,[x,u]=(0,r.useState)(m||"billing"),f=[{id:"general",icon:(0,a.jsx)(n.A,{className:"size-4"}),label:"General"},{id:"billing",icon:(0,a.jsx)(l.A,{className:"size-4"}),label:"Billing"}],g={general:(0,a.jsx)(ee,{}),billing:(0,a.jsx)(W,{closeModal:()=>s(!1)})};return(0,a.jsx)(d.Dialog,{open:t,onOpenChange:s,"data-sentry-element":"Dialog","data-sentry-component":"SettingsModal","data-sentry-source-file":"index.tsx",children:(0,a.jsxs)(d.DialogContent,{className:"max-w-[60rem] gap-0 border-[#DBFE52]/20 bg-[#141718] p-0 shadow-2xl","data-sentry-element":"DialogContent","data-sentry-source-file":"index.tsx",children:[(0,a.jsxs)(d.c7,{className:"mb-4 space-y-3 px-6 pt-6","data-sentry-element":"DialogHeader","data-sentry-source-file":"index.tsx",children:[(0,a.jsx)(d.DialogTitle,{className:"text-2xl font-bold text-[#fafafa]","data-sentry-element":"DialogTitle","data-sentry-source-file":"index.tsx",children:"Settings"}),(0,a.jsx)(d.rr,{"data-sentry-element":"DialogDescription","data-sentry-source-file":"index.tsx",children:"Manage your account settings and preferences"})]}),(0,a.jsx)(o.w,{className:"bg-muted opacity-80","data-sentry-element":"Separator","data-sentry-source-file":"index.tsx"}),(0,a.jsxs)("div",{className:"flex h-[80vh] w-full items-start justify-start overflow-y-hidden",children:[(0,a.jsx)("div",{className:"h-full w-full max-w-[220px] flex-shrink p-4",children:(0,a.jsx)("div",{className:"flex w-full cursor-pointer flex-col gap-2",children:f.map(e=>{let{id:t,label:s,icon:r}=e;return(0,a.jsxs)(c.$,{id:t,onClick:()=>u(t),variant:"ghost",className:(0,i.cn)("group relative w-full justify-start gap-3 px-2.5 py-2 text-start text-base text-[#fafafa] transition-all duration-200 hover:bg-[#DBFE52]/10",t===x&&"bg-[#DBFE52]/20 text-[#DBFE52]"),children:[(0,a.jsx)("div",{className:(0,i.cn)("transition-transform duration-200 group-hover:scale-110",t===x&&"text-[#DBFE52]"),children:r}),(0,a.jsx)("span",{children:s})]},t)})})}),(0,a.jsx)("div",{className:"h-full w-full flex-1 flex-grow overflow-y-auto p-4",children:(0,a.jsx)("div",{className:"h-full duration-300 animate-in fade-in slide-in-from-right-4",children:g[x]})})]})]})})}},24299:(e,t,s)=>{s.d(t,{E:()=>i});var a=s(54568);s(7620);var r=s(91397),n=s(17483);let l=(0,r.F)("inline-flex items-center rounded-sm border px-2.5 py-1 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-[#3A3A3A] text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:s,...r}=e;return(0,a.jsx)("div",{className:(0,n.cn)(l({variant:s}),t),...r,"data-sentry-component":"Badge","data-sentry-source-file":"badge.tsx"})}},38952:(e,t,s)=>{s.d(t,{J:()=>
1o});var a=s(54568),r=s(7620),n=s(6913),l=s(91397),i=s(17483);let d=(0,l.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),o=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.b,{ref:t,className:(0,i.cn)(d(),s),...r})});o.displayName=n.b.displayName},42249:(e,t,s)=>{s.d(t,{Q:()=>d});var a=s(61624),r=s(11909);function n(){let e=(0,a._)(["\n ","\n mutation updateUserInfo($userUpdate: UserUpdateInput!) {\n updateUserInfo(userUpdate: $userUpdate) {\n ...UserFragment\n }\n }\n"]);return n=function(){return e},e}let l=(0,s(33242).Ay)(n(),r.h);var i=s(66101);function d(){let[e,{loading:t}]=(0,i.n)(l,{errorPolicy:"all"});return{updateUser:async t=>{let{name:s,horizonApplicationData:a}=t,{data:r,errors:n}=await e({variables:{userUpdate:{name:s,horizonApplicationData:a}}});if(n&&n.length>0){var l;let e=(null==(l=n[0])?void 0:l.message)||"An error occurred",t="Error: ",s=e.lastIndexOf(t);throw Error(-1!==s?e.substring(s+t.length).trim():e)}if(!r||!r.updateUserInfo)throw Error("Something wrong happened");return r.updateUserInfo},loading:t}}},82767:(e,t,s)=>{s.d(t,{w:()=>i});var a=s(54568),r=s(7620),n=s(54092),l=s(17483);let i=r.forwardRef((e,t)=>{let{className:s,orientation:r="horizontal",decorative:i=!0,...d}=e;return(0,a.jsx)(n.b,{ref:t,decorative:i,orientation:r,className:(0,l.cn)("shrink-0 bg-border","horizontal"===r?"h-[1px] w-full":"h-full w-[1px]",s),...d})});i.displayName=n.b.displayName}}]);
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.