PageSourceSearch

https://hyrgrowthtracker.com/assets/settings-page-DWp2QeWi.js

js hyrgrowthtracker.com collected 2026-10-04 07:33:03 UTC 29,860 bytes, 1 lines download raw bytes

1import{E as je,u as ee,bl as se,r as p,aI as S,t as E,j as e,d as x,i as h,k as u,Y as W,l as f,e as j,B as t,ae as ge,a1 as ie,aR as te,Z as X,af as pe,A as fe,D as ve,a$ as d,I as P,O as Z,av as J,L as D,c as Ne,a2 as ye,aq as we}from"./index-BSM7Xsjj.js";import{D as ae}from"./dashboard-layout-C1QISFdB.js";import{B as o}from"./badge-Bg4VwoHt.js";import{S as M}from"./switch-BgE1S8Hs.js";import{D as q,a as B,b as Y,c as I,d as O,e as $}from"./dialog-DOfZnlbZ.js";import{C as H}from"./calendar-C8jmXJuA.js";import{C as re}from"./circle-x-B8rWHFEM.js";import{S as be}from"./share-2-BqsJoWSj.js";import{C as Ce}from"./copy-DLVC3Kxv.js";import{G as Pe}from"./gift-iMXO_Xjz.js";import{E as Se}from"./eye-CWFxeouj.js";import{C as Ee,a as ke}from"./crown-DfOo10Pv.js";import{U as Te}from"./user-DM5xnJK7.js";import{S as Re}from"./square-pen-B_Vdu3lj.js";import"./settings-DQpITHdu.js";import"./message-square-Db-v0tMZ.js";import"./lock-BOnUIUs2.js";import"./index-0yo9MFJc.js";import"./index-BXPmHsEb.js";const Ae=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],Fe=je("key",Ae);function Ue({subscriptionData:a}){const{toast:m}=ee(),c=se(),[N,y]=p.useState(!1),l=S({mutationFn:()=>E("POST","/api/cancel-subscription"),onSuccess:()=>{m({title:"Subscription Cancelled",description:"Your subscription will remain active until the end of the current billing period."}),y(!1),c.invalidateQueries({queryKey:["/api/subscription-status"]})},onError:()=>{m({title:"Cancellation Failed",description:"Unable to cancel subscription. Please contact support.",variant:"destructive"})}}),w=C=>new Date(C*1e3).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),b=(C=>{switch(C){case"active":return{icon:ie,color:"text-green-600",text:"Active"};case"canceled":return{icon:re,color:"text-red-600",text:"Cancelled"};case"trialing":return{icon:H,color:"text-blue-600",text:"Trial"};default:return{icon:ge,color:"text-gray-600",text:"Unknown"}}})(a?.status||"none"),k=b.icon;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsx(W,{className:"h-5 w-5"}),"Subscription Management"]}),e.jsx(f,{children:"Manage your subscription and billing preferences"})]}),e.jsxs(j,{className:"space-y-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-sm font-medium",children:"Current Plan:"}),e.jsx(o,{variant:"secondary",className:"capitalize",children:a?.subscriptionTier||"freemium"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(k,{className:`h-4 w-4 ${b.color}`}),e.jsxs("span",{className:"text-sm text-gray-600",children:["Status: ",b.text]})]})]})}),a?.currentPeriodEnd&&e.jsx("div",{className:"bg-gray-50 p-3 rounded-lg",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(H,{className:"h-4 w-4 text-gray-500"}),e.jsx("span",{children:a.cancelAtPeriodEnd?`Subscription ends on ${w(a.currentPeriodEnd)}`:`Next billing date: ${w(a.currentPeriodEnd)}`})]})}),a?.trialEnd&&e.jsx("div",{className:"bg-blue-50 p-3 rounded-lg",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-700",children:[e.jsx(H,{className:"h-4 w-4"}),e.jsxs("span",{children:["Trial ends on ",w(a.trialEnd)]})]})})]})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsx(u,{children:"Subscription Actions"}),e.jsx(f,{children:"Manage your subscription settings"})]}),e.jsx(j,{className:"space-y-4",children:e.jsxs("div",{className:"flex flex-col gap-3",children:[a?.status==="active"&&!a.cancelAtPeriodEnd&&e.jsxs(q,{open:N,onOpenChange:y,children:[e.jsx(B,{asChild:!0,children:e.jsxs(t,{variant:"outline",className:"justify-start",children:[e.jsx(re,{className:"h-4 w-4 mr-2"}),"Cancel Subscription"]})}),e.jsxs(Y,{children:[e.jsxs(I,{children:[e.jsx(O,{children:"Cancel Subscription"}),e.jsx($,{children:"Are you sure you want to cancel your subscription? You'll continue to have access until the end of your current billing period."})]}),e.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[e.jsx(t,{variant:"outline",onClick:()=>y(!1),children:"Keep Subscription"}),e.jsx(t,{variant:"destructive",onClick:()=>l.mutate(),disabled:l.isPending,children:l.isPending?"Cancelling...":"Yes, Cancel"})]})]})]}),e.jsx(t,{variant:"outline",className:"justify-start",asChild:!0,children:e.jsxs("a",{href:"mailto:[email protected]?subject=Billing%20Support",children:[e.jsx(W,{className:"h-4 w-4 mr-2"}),"Contact Billing Support"]})})]})})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsx(u,{children:"Billing Information"}),e.jsx(f,{children:"For payment method updates and detailed billing history"})]}),e.jsx(j,{children:e.jsx("div",{className:"bg-blue-50 p-4 rounded-lg",children:e.jsx("p",{className:"text-sm text-blue-700",children:"To update your payment method or view detailed billing history, please contact our support team. We're working on full self
1-service billing management."})})})]})]})}function De(){const{toast:a}=ee(),{user:m}=te(),c=se(),[N,y]=p.useState(""),[l,w]=p.useState(null),{data:v,isLoading:b}=X({queryKey:["/api/referral/stats"],enabled:!!m}),k=S({mutationFn:r=>E("POST","/api/referral/validate",{referralCode:r}),onSuccess:async r=>{const g=await r.json();w(g),a({title:"Referral Code Validated",description:g.valid?"Code is valid and active":"Code is invalid or inactive"})},onError:()=>{a({title:"Validation Failed",description:"Unable to validate referral code",variant:"destructive"})}}),C=S({mutationFn:r=>E("POST","/api/referral/capture",{referralCode:r,referralSource:"test_panel",utmSource:"referral_test"}),onSuccess:async r=>{const g=await r.json();a({title:"Referral Captured",description:`Successfully captured referral from ${g.referrerUsername}`}),c.invalidateQueries({queryKey:["/api/referral/stats"]})},onError:()=>{a({title:"Capture Failed",description:"Unable to capture referral",variant:"destructive"})}}),R=()=>{if(m?.referralCode){const r=`${window.location.origin}/?ref=${m.referralCode}`;navigator.clipboard.writeText(r),a({title:"Link Copied",description:"Referral link copied to clipboard"})}},A=()=>{if(m?.referralCode){const r=`${window.location.origin}/?ref=${m.referralCode}`;window.open(r,"_blank")}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-5 w-5"}),"Your Referral Program"]}),e.jsx(f,{children:"Share your referral code and earn rewards for every successful referral"})]}),e.jsxs(j,{className:"space-y-4",children:[m?.referralCode&&e.jsxs("div",{className:"bg-gradient-to-r from-green-50 to-emerald-50 p-4 rounded-lg border border-green-200",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-green-800",children:"Your Referral Code"}),e.jsx(o,{variant:"secondary",className:"bg-green-100 text-green-800",children:m.referralCode})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-3",children:[e.jsxs(t,{onClick:R,variant:"outline",size:"sm",className:"flex items-center gap-2",children:[e.jsx(Ce,{className:"h-4 w-4"}),"Copy Link"]}),e.jsxs(t,{onClick:A,variant:"outline",size:"sm",className:"flex items-center gap-2",children:[e.jsx(pe,{className:"h-4 w-4"}),"Test Link"]})]})]}),!b&&v&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"text-center p-4 bg-blue-50 rounded-lg",children:[e.jsx("div",{className:"text-2xl font-bold text-blue-600",children:v.totalReferrals||0}),e.jsx("div",{className:"text-sm text-blue-800",children:"Total Referrals"})]}),e.jsxs("div",{className:"text-center p-4 bg-green-50 rounded-lg",children:[e.jsx("div",{className:"text-2xl font-bold text-green-600",children:v.successfulReferrals||0}),e.jsx("div",{className:"text-sm text-green-800",children:"Successful Conversions"})]}),e.jsxs("div",{className:"text-center p-4 bg-yellow-50 rounded-lg",children:[e.jsxs("div",{className:"text-2xl font-bold text-yellow-600",children:["$",v.totalRewards||0]}),e.jsx("div",{className:"text-sm text-yellow-800",children:"Total Rewards Earned"})]})]}),e.jsxs(fe,{children:[e.jsx(Pe,{className:"h-4 w-4"}),e.jsxs(ve,{children:[e.jsx("strong",{children:"Promotion:"})," Refer a friend and they get 1 month free! You earn $50 cash reward for each Team membership referral."]})]})]})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsx(Se,{className:"h-5 w-5"}),"Referral Testing Tools"]}),e.jsx(f,{children:"Test referral code validation and capture functionality"})]}),e.jsxs(j,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(d,{htmlFor:"test-referral-code",children:"Test Referral Code"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(P,{id:"test-referral-code",placeholder:"Enter referral code to test",value:N,onChange:r=>y(r.target.value)}),e.jsx(t,{onClick:()=>k.mutate(N),disabled:!N||k.isPending,variant:"outline",children:k.isPending?"Validating...":"
1Validate"}),e.jsx(t,{onClick:()=>C.mutate(N),disabled:!N||C.isPending,children:C.isPending?"Capturing...":"Test Capture"})]})]}),l&&e.jsxs("div",{className:"mt-4 p-4 bg-gray-50 rounded-lg",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Test Results:"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ie,{className:`h-4 w-4 ${l.valid?"text-green-600":"text-red-600"}`}),e.jsxs("span",{children:["Code Valid: ",l.valid?"Yes":"No"]})]}),l.referrerUsername&&e.jsxs("div",{children:["Referrer: ",l.referrerUsername]}),l.promotion&&e.jsxs("div",{children:["Promotion: ",l.promotion]}),l.error&&e.jsxs("div",{className:"text-red-600",children:["Error: ",l.error]})]})]}),e.jsx(Z,{}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-semibold",children:"Testing Instructions:"}),e.jsxs("ul",{className:"text-sm space-y-1 text-gray-600",children:[e.jsx("li",{children:'1. Use the "Test Link" button to open your referral URL in a new tab'}),e.jsx("li",{children:"2. The URL will include your referral code: ?ref=YOUR_CODE"}),e.jsx("li",{children:"3. Test the validation to ensure codes are properly verified"}),e.jsx("li",{children:"4. Test capture to simulate a visitor clicking your referral link"}),e.jsx("li",{children:'5. Check that the "1 month free" promotion message appears for new signups'})]})]})]})]}),v?.recentActivity&&v.recentActivity.length>0&&e.jsxs(x,{children:[e.jsx(h,{children:e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsx(J,{className:"h-5 w-5"}),"Recent Referral Activity"]})}),e.jsx(j,{children:e.jsx("div",{className:"space-y-3",children:v.recentActivity.map((r,g)=>e.jsxs("div",{className:"flex items-center justify-between p-3 bg-gray-50 rounded-lg",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:r.type}),e.jsx("div",{className:"text-sm text-gray-600",children:new Date(r.createdAt).toLocaleDateString()})]}),e.jsx(o,{variant:r.successful?"default":"secondary",children:r.successful?"Converted":"Pending"})]},g))})})]})]})}function es(){const{toast:a}=ee(),m=se(),{user:c}=te(),[N,y]=p.useState(!1),[l,w]=p.useState(!1),[v,b]=p.useState(!1),[k,C]=p.useState(!1),[R,A]=p.useState({firstName:c?.firstName||"",lastName:c?.lastName||"",email:c?.email||""}),[r,g]=p.useState({currentPassword:"",newPassword:"",confirmPassword:""}),[F,z]=p.useState({newEmail:"",password:""}),[T,ne]=p.useState({ceExpirationReminders:!0,licenseRenewalReminders:!0,documentExpirationReminders:!0,weeklyDigest:!1,marketingEmails:!1}),{data:n,isLoading:le}=X({queryKey:["/api/subscription-status"]}),{data:L}=X({queryKey:["/api/teams"],queryFn:async()=>{const s=await fetch("/api/teams");if(s.status===404)return null;if(!s.ok)throw new Error("Failed to fetch team");return s.json()}}),K=S({mutationFn:async()=>{const s=await E("POST","/api/create-portal-session");if(!s.ok)throw await s.json();return s.json()},onSuccess:s=>{window.location.href=s.url},onError:s=>{console.error("Portal session error:",s),s.requiresSetup?(C(!0),a({title:"Using Alternative Billing Management",description:"Stripe portal setup required. Using alternative billing interface."})):a({title:"Error",description:s.message||"Failed to open billing portal. Please contact support if this issue persists.",variant:"destructive"})}}),_=S({mutationFn:async s=>(await E("PUT","/api/user/profile",s)).json(),onSuccess:()=>{a({title:"Success",description:"Account information updated successfully."}
1),y(!1),m.invalidateQueries({queryKey:["/api/user"]})},onError:s=>{a({title:"Error",description:"Failed to update account information.",variant:"destructive"})}}),G=S({mutationFn:async s=>(await E("POST","/api/change-password",s)).json(),onSuccess:()=>{a({title:"Password Updated",description:"Your password has been successfully changed."}),g({currentPassword:"",newPassword:"",confirmPassword:""}),w(!1)},onError:s=>{a({title:"Password Change Failed",description:"Failed to change password. Please try again.",variant:"destructive"})}}),Q=S({mutationFn:async s=>(await E("POST","/api/change-email",s)).json(),onSuccess:()=>{a({title:"Email Change Requested",description:"Please check your new email address for verification instructions."}),z({newEmail:"",password:""}),b(!1)},onError:s=>{a({title:"Email Change Failed",description:"Failed to request email change. Please try again.",variant:"destructive"})}}),ce=S({mutationFn:async s=>(await E("PATCH","/api/user/notifications",s)).json(),onSuccess:()=>{a({title:"Notifications Updated",description:"Your notification preferences have been saved."})},onError:()=>{a({title:"Update Failed",description:"Failed to update notification preferences. Please try again.",variant:"destructive"})}}),de=()=>{K.mutate()},oe=()=>{_.mutate(R)},me=()=>{if(r.newPassword!==r.confirmPassword){a({title:"Password Mismatch",description:"New password and confirmation don't match.",variant:"destructive"});return}if(r.newPassword.length<8){a({title:"Password Too Short",description:"Password must be at least 8 characters long.",variant:"destructive"});return}G.mutate(r)},xe=()=>{if(!F.newEmail||!F.password){a({title:"Missing Information",description:"Please fill in all required fields.",variant:"destructive"});return}Q.mutate(F)},U=s=>{const i={...T,[s]:!T[s]};ne(i),ce.mutate(i)},V=s=>new Date(s*1e3).toLocaleDateString(),he=s=>{switch(s){case"active":return e.jsx(o,{className:"bg-green-100 text-green-800",children:"Active"});case"trialing":return e.jsx(o,{className:"bg-blue-100 text-blue-800",children:"Trial"});case"past_due":return e.jsx(o,{variant:"destructive",children:"Past Due"});case"canceled":return e.jsx(o,{variant:"secondary",children:"Canceled"});case"incomplete":return e.jsx(o,{className:"bg-yellow-100 text-yellow-800",children:"Incomplete"});default:return e.jsx(o,{variant:"secondary",children:"No Subscription"})}},ue=s=>{switch(s){case"professional":return e.jsx(o,{className:"bg-blue-600 text-white",children:"Professional"});case"enterprise":return e.jsx(o,{className:"bg-purple-600 text-white",children:"Enterprise"});case"freemium":return e.jsx(o,{variant:"outline",children:"Freemium"});default:return e.jsx(o,{variant:"secondary",children:s})}};return le?e.jsx(ae,{pageTitle:"Settings",children:e.jsxs("div",{className:"animate-pulse space-y-4",children:[e.jsx("div",{className:"h-32 bg-gray-200 rounded-lg"}),e.jsx("div",{className:"h-32 bg-gray-200 rounded-lg"}),e.jsx("div",{className:"h-32 bg-gray-200 rounded-lg"})]})}):e.jsxs(ae,{pageTitle:"Settings",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold mb-2",children:"Account Settings"}),e.jsx("p",{className:"text-muted-foreground",children:"Manage your account, subscription, and preferences."})]}),e.jsxs("div",{className:"grid gap-6",children:[n?.subscriptionTier==="freemium"&&e.jsxs(x,{className:"border-blue-200 bg-gradient-to-r from-blue-50 to-indigo-50",children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ee,{className:"h-5 w-5 text-blue-600"}),e.jsx(u,{className:"text-blue-900",children:"Upgrade Your Account"})]}),e.jsx(f,{children:"Unlock premium features and get the most out of HYR GrowthTracker"})]}),e.jsx(j,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white rounded-lg border border-blue-100",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(ke,{className:"h-5 w-5 text-yellow-600"}),e.jsx("h3",{className:"font-semibold",children:"Professional Plan"})]}),e.jsx("p",{className:"text-sm text-gray-600 mb-3",children:"Perfect for individual professionals"}),e.jsxs("div",{className:"text-2xl font-bold mb-2",children:["$29",e.jsx("span",{className:"text-sm font-normal",children:"/month"})]}),e.jsxs("ul",{className:"text-sm space-y-1 mb-4",children:[e.jsx("li",{children:"• Unlimited CE credit tracking"}),e.jsx("li",{children:"• Advanced license management"}),e.jsx("li",{children:"• Document storage & organization"}),e.jsx("li",{children:"• Automated renewal reminders"})]}),e.jsx(D,{href:"/subscribe",children:e.jsx(t,{className:"w-full bg-blue-600 hover:bg-blue-700",children:"Upgrade to Professional"})})]}),e.jsxs("div",{className:"p-4 bg-white rounded-lg border border-blue-100",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(J,{className:"h-5 w-5 text-green-600"}),e.jsx("h3",{className:"font-semibold",children:"Team Plan"})]}),e.jsx("p",{className:"text-sm text-gray-600 mb-3",children:"For teams and organizations"}),e.jsxs("div",{className:"text-2xl font-bold mb-2",children:["$100",e.jsx("span",{className:"text-sm font-normal",children:"/u
1ser/year"})]}),e.jsxs("ul",{className:"text-sm space-y-1 mb-4",children:[e.jsx("li",{children:"• All Professional features"}),e.jsx("li",{children:"• Team license management"}),e.jsx("li",{children:"• Centralized billing"}),e.jsx("li",{children:"• User role management"})]}),e.jsx(D,{href:"/team",children:e.jsx(t,{className:"w-full bg-green-600 hover:bg-green-700",children:"Create Team"})})]})]})})]}),L&&e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(J,{className:"h-5 w-5 text-green-600"}),e.jsx(u,{children:"Team Management"})]}),e.jsx(f,{children:"Manage your team settings and members"})]}),e.jsx(j,{className:"space-y-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold",children:L.name}),e.jsxs("div",{className:"text-sm text-gray-600",children:[L.usedLicenses," of ",L.licensePackages*5," licenses used"]})]}),e.jsx(D,{href:"/team",children:e.jsx(t,{variant:"outline",children:"Manage Team"})})]})})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(W,{className:"h-5 w-5 text-[#1a9c95]"}),e.jsx(u,{children:"Subscription & Billing"})]}),e.jsx(f,{children:"Manage your subscription plan and billing information"})]}),e.jsxs(j,{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("span",{className:"text-lg font-semibold",children:"Current Plan:"}),ue(n?.subscriptionTier||"freemium")]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-sm text-gray-600",children:"Status:"}),he(n?.status||"none")]})]}),e.jsxs("div",{className:"flex gap-2",children:[n?.subscriptionTier==="freemium"&&e.jsx(D,{href:"/subscribe",children:e.jsx(t,{className:"bg-blue-600 hover:bg-blue-700",children:"Upgrade Plan"})}),e.jsx(t,{onClick:de,disabled:K.isPending||!n?.status||n.status==="none",variant:"outline",children:K.isPending?"Opening...":"Billing Portal"})]})]}),e.jsx(Z,{}),n?.status&&n.status!=="none"&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 text-sm",children:[n.currentPeriodEnd&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-600",children:"Next billing date:"}
1),e.jsx("div",{className:"font-semibold",children:V(n.currentPeriodEnd)})]}),n.cancelAtPeriodEnd&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-600",children:"Cancellation:"}),e.jsxs("div",{className:"font-semibold text-orange-600",children:["Scheduled for ",V(n.currentPeriodEnd)]})]}),n.trialEnd&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-600",children:"Trial ends:"}),e.jsx("div",{className:"font-semibold",children:V(n.trialEnd)})]})]}),(!n?.status||n.status==="none")&&e.jsxs("div",{className:"text-center py-4",children:[e.jsx("p",{className:"text-gray-600 mb-4",children:"You're currently on the freemium plan."}),e.jsx(D,{href:"/subscribe",children:e.jsx(t,{className:"bg-[#1a9c95] hover:bg-[#148f89]",children:"Upgrade to Professional"})})]}),k&&e.jsxs("div",{className:"mt-6 pt-6 border-t",children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Billing Management"}),e.jsx(Ue,{subscriptionData:n})]})]})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ne,{className:"h-5 w-5 text-[#1a9c95]"}),e.jsx(u,{children:"Notification Settings"})]}),e.jsx(f,{children:"Configure your email notification preferences"})]}),e.jsxs(j,{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-base font-medium",children:"CE Credit Expiration Reminders"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Get notified before your continuing education credits expire"})]}),e.jsx(M,{checked:T.ceExpirationReminders,onCheckedChange:()=>U("ceExpirationReminders")})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-base font-medium",children:"License Renewal Reminders"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Get notified before your professional licenses need renewal"})]}),e.jsx(M,{checked:T.licenseRenewalReminders,onCheckedChange:()=>U("licenseRenewalReminders")})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-base font-medium",children:"Document Expiration Reminders"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Get notified before your uploaded documents expire"})]}),e.jsx(M,{checked:T.documentExpirationReminders,onCheckedChange:()=>U("documentExpirationReminders")})]}),e.jsx(Z,{}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-base font-medium",children:"Weekly Digest"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Receive weekly summaries of your progress and upcoming deadlines"})]}),e.jsx(M,{checked:T.weeklyDigest,onCheckedChange:()=>U("weeklyDigest")})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-base font-medium",children:"Marketing Emails"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Receive updates about new features and platform improvements"})]}),e.jsx(M,{checked:T.marketingEmails,onCheckedChange:()=>U("marketingEmails")})]})]})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ye,{className:"h-5 w-5 text-[#1a9c95]"}),e.jsx(u,{children:"Privacy & Security"})]}),e.jsx(f,{children:"Manage your password and email security settings"})]}),e.jsxs(j,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Fe,{className:"h-5 w-5 text-gray-600"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:"Password"}),e.jsx("div",{className:"text-sm text-gray-600",children:"Last changed 3 months ago"})]})]}),e.jsxs(q,{open:l,onOpenChange:w,children:[e.jsx(B,{asChild:!0,children:e.jsx(t,{variant:"outline",size:"sm",children:"Change Password"})}),e.jsxs(Y,{children:[e.jsxs(I,{children:[e.jsx(O,{children:"Change Password"}),e.jsx($,{children:"Enter your current password and choose a new one."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(d,{htmlFor:"currentPassword",children:"Current Password"}),e.jsx(P,{id:"currentPassword",type:"password",value:r.currentPassword,onChange:s=>g(i=>({...i,currentPassword:s.target.value}))})]}),e.jsxs("div",{children:[e.jsx(d,{htmlFor:"newPassword",children:"New Password"}),e.jsx(P,{id:"newPassword",type:"password",value:r.newPassword,onChange:s=>g(i=>({...i,newPassword:s.target.value}))})]}),e.jsxs("div",{children:[e.jsx(d,{htmlFor:"confirmPassword",children:"Confirm New Password"}),e.jsx(P,{id:"confirmPassword",type:"password",value:r.confirmPassword,onChange:s=>g(i=>({...i,confirmPassword:s.target.value}))})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(t,{variant:"outline",onClick:()=>w(!1),children:"Cancel"}),e.jsx(t,{onClick:me,disabled:G.isPending,children:G.isPending?"Upd
1ating...":"Update Password"})]})]})]})]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(we,{className:"h-5 w-5 text-gray-600"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:"Email Address"}),e.jsx("div",{className:"text-sm text-gray-600",children:c?.email})]})]}),e.jsxs(q,{open:v,onOpenChange:b,children:[e.jsx(B,{asChild:!0,children:e.jsx(t,{variant:"outline",size:"sm",children:"Change Email"})}),e.jsxs(Y,{children:[e.jsxs(I,{children:[e.jsx(O,{children:"Change Email Address"}),e.jsx($,{children:"Enter your new email address and confirm with your password."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(d,{htmlFor:"newEmail",children:"New Email Address"}),e.jsx(P,{id:"newEmail",type:"email",value:F.newEmail,onChange:s=>z(i=>({...i,newEmail:s.target.value}))})]}),e.jsxs("div",{children:[e.jsx(d,{htmlFor:"emailPassword",children:"Confirm Password"}),e.jsx(P,{id:"emailPassword",type:"password",value:F.password,onChange:s=>z(i=>({...i,password:s.target.value}))})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(t,{variant:"outline",onClick:()=>b(!1),children:"Cancel"}),e.jsx(t,{onClick:xe,disabled:Q.isPending,children:Q.isPending?"Updating...":"Update Email"})]})]})]})]})]}),e.jsx("div",{className:"p-4 bg-gray-50 rounded-lg",children:e.jsxs("div",{className:"text-sm text-gray-600",children:[e.jsx("strong",{children:"Data Privacy:"})," We take your privacy seriously. Your data is encrypted and securely stored. All personal information is handled according to our Privacy Policy and industry best practices."]})})]})]}),e.jsxs(x,{children:[e.jsxs(h,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Te,{className:"h-5 w-5 text-[#1a9c95]"}),e.jsx(u,{children:"Account Information"})]}),e.jsxs(q,{open:N,onOpenChange:y,children:[e.jsx(B,{asChild:!0,children:e.jsxs(t,{variant:"outline",size:"sm",children:[e.jsx(Re,{className:"h-4 w-4 mr-2"}),"Edit Profile"]})}),e.jsxs(Y,{children:[e.jsxs(I,{children:[e.jsx(O,{children:"Update Account Information"}),e.jsx($,{children:"Make changes to your profile information here."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(d,{htmlFor:"firstName",children:"First Name"}),e.jsx(P,{id:"firstName",value:R.firstName,onChange:s=>A(i=>({...i,firstName:s.target.value}))})]}),e.jsxs("div",{children:[e.jsx(d,{htmlFor:"lastName",children:"Last Name"}),e.jsx(P,{id:"lastName",value:R.lastName,onChange:s=>A(i=>({...i,lastName:s.target.value}))})]})]}),e.jsxs("div",{children:[e.jsx(d,{htmlFor:"email",children:"Email Address"}),e.jsx(P,{id:"email",type:"email",value:R.email,onChange:s=>A(i=>({...i,email:s.target.value}))})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(t,{variant:"outline",onClick:()=>y(!1),children:"Cancel"}),e.jsx(t,{onClick:oe,disabled:_.isPending,children:_.isPending?"Saving...":"Save Changes"})]})]})]})]})]}),e.jsx(f,{children:"Your profile and account details"})]}),e.jsx(j,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(d,{className:"text-sm font-medium text-gray-600",children:"Name"}),e.jsxs("div",{className:"text-sm",children:[c?.firstName," ",c?.lastName]})]}),e.jsxs("div",{children:[e.jsx(d,{className:"text-sm font-medium text-gray-600",children:"Email"}),e.jsx("div",{className:"text-sm",children:c?.email})]}),e.jsxs("div",{children:[e.jsx(d,{className:"text-sm font-medium text-gray-600",children:"Username"}),e.jsx("div",{className:"text-sm",children:c?.username})]}),e.jsxs("div",{children:[e.jsx(d,{className:"text-sm font-medium text-gray-600",children:"Member Since"}),e.jsx("div",{className:"text-sm",children:c?.createdAt?new Date(c.createdAt).toLocaleDateString():"N/A"})]})]})})]}),e.jsx(De,{})]})]})}export{es 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.