1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ContentLibrary-CBvvOyEJ.js","assets/index-KW9f5qZK.js","assets/react-vendor-CXY-VoH6.js","assets/supabase-vendor-D3UcZGaq.js","assets/ui-vendor-Dook0VI8.js","assets/index-BjQoyZiE.css","assets/ConfirmModal-PgLRlh0Y.js","assets/TerminalLoader-BtyZ1LMF.js","assets/CareerSuitePageLayout-Dkk7DpHc.js","assets/SectionTabs-CZvt-TvX.js","assets/FeatureTour-CJOgVc--.js","assets/UnifiedResumeBuilder-BLkY0CO9.js","assets/TrackedLink-GlPtaqTP.js","assets/middleware-BdO5TJSF.js","assets/CoverLetterModal-BphEPpV9.js","assets/jobSearchService-CAitwgBZ.js","assets/SEO-DpZqDQOo.js","assets/OneClickResumeOptimizer-ucpKUcG3.js","assets/JobSearchPage-gkeRzNhh.js","assets/Toast-BlYy_wIS.js","assets/LinkedInOptimizationTab-DZWQ-FzL.js","assets/InterviewPrepPage-D1lER2ht.js","assets/EvalTranslatorTab-DZr1eLq3.js"])))=>i.map(i=>d[i]); 2import{e as P,A as N,j as e,P as p,m as y,u as L,n as W,o as q,p as G,q as H,l as Z,_ as h}from"./index-KW9f5qZK.js";import{c as R,r as t,u as Y}from"./react-vendor-CXY-VoH6.js";import{C as X}from"./ConfirmModal-PgLRlh0Y.js";import{L as T,Z as S,C as K,E as Q,X as ee,ak as te,A as re,al as se}from"./ui-vendor-Dook0VI8.js";import{D as A}from"./TerminalLoader-BtyZ1LMF.js";import{C as ae,a as ne}from"./CareerSuitePageLayout-Dkk7DpHc.js";import{S as ie}from"./SEO-DpZqDQOo.js";function C({tier:r,action:n=null,feature:a=null,message:c=null,variant:i="card"}){const u=R(),s=(()=>{switch(r){case p.FREE:return{targetTier:"Plus",price:"$0 today",trialText:"14-day free trial, then $9/mo",icon:e.jsx(S,{className:"w-5 h-5"}),gradient:"from-green-600 to-green-500",textColor:"text-green-300",isTrial:!0};case p.PLUS:return{targetTier:"Premium",price:"$19/mo",icon:e.jsx(K,{className:"w-5 h-5"}),gradient:"from-amber-600 to-yellow-500",textColor:"text-amber-300",isTrial:!1};case p.PREMIUM:return null;default:return{targetTier:"Plus",price:"$0 today",trialText:"14-day free trial, then $9/mo",icon:e.jsx(S,{className:"w-5 h-5"}),gradient:"from-green-600 to-green-500",textColor:"text-green-300",isTrial:!0}}})(),x=t.useRef(!1);t.useEffect(()=>{s&&!x.current&&(x.current=!0,P.track(N.UPGRADE_PROMPT_SHOWN,{feature:a||n,context:"upgrade_prompt",tier:r,variant:i}))},[s,a,n,r,i]);const l=c||oe(r,n,a);return s?i==="card"?e.jsxs("div",{className:"bg-gradient-to-br from-slate-900 to-slate-800 border-2 border-slate-700 rounded-xl p-8 text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-slate-800 border-2 border-slate-600 rounded-full mb-4",children:e.jsx(T,{className:"w-8 h-8 text-slate-400"})}),e.jsx("h3",{className:"text-xl font-bold text-white mb-2",children:"This feature is locked"}),e.jsx("p",{className:"text-gray-400 mb-6",children:l}),e.jsxs("button",{onClick:()=>u("/pricing"),className:`inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r ${s.gradient} text-white font-bold rounded-lg shadow-lg hover:scale-105 transition-transform duration-200`,children:[s.icon,s.isTrial?e.jsx("span",{children:"Start 14-Day Free Trial"}):e.jsxs("span",{children:["Upgrade to ",s.targetTier," (",s.price,")"]})]}),e.jsx("button",{onClick:()=>u("/pricing"),className:"block w-full mt-4 text-sm text-cyan-400 hover:text-cyan-300 underline",children:"View all plans"})]}):i==="inline"?e.jsxs("div",{className:`flex items-center justify-between gap-4 px-6 py-4 bg-gradient-to-r ${s.gradient} bg-opacity-10 border border-slate-600 rounded-lg`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(T,{className:"w-5 h-5 text-slate-400"}),e.jsx("p",{className:`text-sm font-semibold ${s.textColor}`,children:l})]}),e.jsx("button",{onClick:()=>u("/pricing"),className:`px-4 py-2 bg-gradient-to-r ${s.gradient} text-white font-semibold rounded-lg text-sm hover:scale-105 transition-transform duration-200 whitespace-nowrap`,children:s.isTrial?"Start 14-Day Free Trial":`Upgrade to ${s.targetTier}`})]}):i==="modal"?e.jsx("div",{className:"bg-slate-900 border-2 border-slate-700 rounded-xl shadow-2xl p-8 max-w-md w-full",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-slate-800 border-2 border-slate-600 rounded-full mb-4",children:e.jsx(T,{className:"w-8 h-8 text-slate-400"})}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-3",children:"Unlock this feature"}),e.jsx("p",{className:"text-gray-400 mb-6",children:l}),e.jsxs("button",{onClick:()=>u("/pricing"),className:`w-full inline-flex items-center justify-center gap-2 px-6 py-4 bg-gradient-to-r ${s.gradient} text-white font-bold rounded-lg shadow-lg hover:scale-105 transition-transform duration-200 mb-3`,children:[s.icon,s.isTrial?e.jsx("span",{children:"Start 14-Day Free Trial"}):e.jsxs("span",{children:["Upgrade to ",s.targetTier," (",s.price,")"]})]}),e.jsx("button",{onClick:()=>u("/pricing"),className:"text-sm text-cyan-400 hover:text-cyan-300 underline",children:"Compare all plans"})]})}):null:null}function oe(r,n,a){if(n==="export"){if(r===p.FREE)return y("export_block_free");if(r===p.PLUS)return y("export_block_plus");if(r===p.PREMIUM)return y("export_block_premium")}if(n==="evaluate"){if(r===p.FREE)return y("ai_eval_block_free");if(r===p.PLUS)return y("ai_eval_block_plus")}return a?`Upgrade to access ${a.replace(/([A-Z])/g," $1").trim()}.`:"Upgrade your plan to unlock this feature."}function le({feature:r=null,requiredAccess:n="enabled",action:a=null,upgradeMessage:c=null,fallback:i=null,showPreview:u=!1,children:m}){const{tier:s,canPerform:x}=L();if(a)return x(a)?m:i||e.jsx(C,{tier:s,action:a,message:c});if(r){const l=W(r,s);return ce(l,n)?m:u&&l==="preview_only"?e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none blur-sm op
2acity-50",children:m}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsx(C,{tier:s,feature:r,message:c})})]}):i||e.jsx(C,{tier:s,feature:r,message:c})}return m}function ce(r,n){const a={locked:0,view_only:1,read_only:1,preview_only:1,manual:2,basic:3,enabled_limited:4,enabled:5,standard:5,auto:6,full:7,priority:7,auto_projects:8,strategic:8},c=a[r]||0,i=a[n]||5;return c>=i}const ue=t.lazy(()=>h(()=>import("./ContentLibrary-CBvvOyEJ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))),de=t.lazy(()=>h(()=>import("./UnifiedResumeBuilder-BLkY0CO9.js"),__vite__mapDeps([11,1,2,3,4,5,6,12,13,14,15,10,7,8,9,16]))),me=t.lazy(()=>h(()=>import("./OneClickResumeOptimizer-ucpKUcG3.js"),__vite__mapDeps([17,1,2,3,4,5,7,14]))),pe=t.lazy(()=>h(()=>import("./JobSearchPage-gkeRzNhh.js"),__vite__mapDeps([18,1,2,3,4,5,12,8,9,15,19]))),he=t.lazy(()=>h(()=>import("./LinkedInOptimizationTab-DZWQ-FzL.js"),__vite__mapDeps([20,1,2,3,4,5,8,9]))),xe=t.lazy(()=>h(()=>import("./InterviewPrepPage-D1lER2ht.js"),__vite__mapDeps([21,1,2,3,4,5,15,8,9]))),be=t.lazy(()=>h(()=>import("./EvalTranslatorTab-DZr1eLq3.js"),__vite__mapDeps([22,1,2,3,4,5,8,9])));function b({tabName:r}){return e.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:e.jsx(A,{text:`Loading ${r}`})})}function fe({tab:r="content-library"}){const n=G(),{userId:a,realMemberId:c,user:i,isLoading:u}=L(),m=Y(),s=m.state?.targetJob||null,x=m.state?.evalBullets||null,l=o=>({"content-library":"Content Library",resume:"Resume","eval-translator":"Eval Translator","job-search":"Job Search",linkedin:"LinkedIn Optimization","linkedin-optimization":"LinkedIn Optimization","interview-prep":"Interview Prep",projects:"Content Library",bullets:"Content Library",summary:"Content Library"})[o]||"Content Library",[d,E]=t.useState(l(r)),[ye,z]=t.useState(""),[f,I]=t.useState("one-click"),[v,w]=t.useState(null);t.useEffect(()=>{P.track(N.PAGE_VIEWED,{userId:a,feature:"career_suite",metadata:{tab:r}})},[]);const[O,D]=t.useState(()=>localStorage.getItem("cw-eval-banner-dismissed")==="true"),j=R(),M=H(i),U=Z(M,{allowUnknown:!0})&&!O,B=t.useCallback(()=>{D(!0),localStorage.setItem("cw-eval-banner-dismissed","true")},[]),$=t.useCallback(o=>{if(o===f)return;if(localStorage.getItem("cw-resume-draft")){w(o);return}I(o)},[f]),F=t.useCallback(()=>{v&&(localStorage.removeItem("cw-resume-draft"),I(v),w(null))},[v]),J=c||a,V=!u;t.useEffect(()=>{E(l(r))},[r]),t.useEffect(()=>{const g={"Content Library":`ðï¸ Welcome to your Content Library! 3 4This is your arsenal - all your training, certifications, and achievements in one place. I'll help you transform these into powerful resume bullets that land interviews. 5 6Drag any item to your resume to add it, or ask me for suggestions on how to showcase your accomplishments! ðª`,"Eval Translator":`ðï¸ Welcome to the Eval Translator! 7 8Paste your military evaluation performance statements (NCOER, OER, FITREP, EPR) and I'll convert them into powerful civilian cybersecurity resume bullets. 9 10Just paste the text with PII removed and I'll handle the translation. You can also send the results straight to your Resume Builder when you're ready!`,Resume:`ð Welcome to the Resume Builder! 11 12Let's craft a resume that gets you past the ATS and into interviews. Upload your current resume or start fresh - I'll help you optimize every section. 13 14I can evaluate your bullets, suggest improvements, and ensure your experience tells a compelling story. Ready to build something great? ð`,"Job Search":`ð Welcome to Job Search! 15 16Let's find roles that match your skills and career goals. Paste job descriptions here and I'll analyze them, identify key requirements, and show you how your experience aligns. 17 18I can also help you tailor your resume for specific positions to maximize your chances. Let's find your next opportunity! ð¯`,"LinkedIn Optimization":`ð¼ Welcome to LinkedIn Optimization! 19 20Your LinkedIn profile is often the first impression recruiters get. Let's make it count! 21 22I can analyze your profile, suggest headline improvements, optimize your summary, and help you showcase your skills effectively. Ready to level up your professional presence? â¨`,"Interview Prep":`ð¤ Welcome to Interview Prep! 23 24Practice makes perfect. I'll conduct mock interviews tailored to your target role and provide real-time feedback on your responses. 25 26We'll work on STAR method answers, technical questions, and behavioral scenarios. Ready to ace your next interview? ðª`}[d];if(g){n.hideProactiveBubble();const _=setTimeout(()=>{n.showProactiveBubbleMessage(g)},1e3);return()=>clearTimeout(_)}},[d]),t.useEffect(()=>()=>{n.hideProactiveBubble()},[]);const k=t.useCallback(o=>{z(o)},[]);return t.useCallback(o=>
26{if(E(o),o==="Portfolio"){j("/portfolio");return}const _={"Content Library":"content-library",Resume:"resume","Eval Translator":"eval-translator","Job Search":"job-search","LinkedIn Optimization":"linkedin-optimization","Interview Prep":"interview-prep"}[o]||"content-library";j(`/career-suite/${_}`)},[j]),e.jsxs(e.Fragment,{children:[e.jsx(ie,{title:"Career Suite",description:"AI-powered tools for your cybersecurity job search â resume builder, content library, job tracker, LinkedIn optimization, and interview prep.",path:"/career-suite"}),e.jsx(X,{open:!!v,title:"Unsaved changes",message:"Switching modes will lose your current progress. Are you sure you want to continue?",confirmLabel:"Switch Mode",confirmVariant:"danger",onConfirm:F,onCancel:()=>w(null)}),e.jsxs("div",{children:[d==="Content Library"&&e.jsx(le,{feature:"ContentLibrary",requiredAccess:"enabled",children:e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"Content Library"}),children:e.jsx(ue,{onCipherSpeak:k})})}),d==="Resume"&&(V?e.jsxs(ae,{title:"Resume Builder",subtitle:"Upload your resume and let AI optimize it for 85+ ATS score, or build section-by-section with full control.",icon:Q,activeTab:"Resume",children:[U&&e.jsxs("div",{className:"relative bg-gradient-to-r from-amber-500/15 via-orange-500/10 to-amber-500/15 border border-amber-400/30 rounded-xl p-4 mb-2",children:[e.jsx("button",{onClick:B,className:"absolute top-3 right-3 p-1 rounded-lg hover:bg-white/10 text-amber-300/60 hover:text-amber-300 transition-colors","aria-label":"Dismiss banner",children:e.jsx(ee,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex items-center gap-3 pr-8",children:[e.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-amber-500/20 flex items-center justify-center",children:e.jsx(te,{className:"w-5 h-5 text-amber-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-amber-200",children:"Have military evals? Convert them to cyber resume bullets"}),e.jsx("p",{className:"text-xs text-amber-300/70 mt-0.5",children:"Translate NCOERs, OERs, FITREPs, and EPRs into civilian cybersecurity bullets with AI"})]}),e.jsxs("button",{onClick:()=>j("/career-suite/eval-translator"),className:"flex-shrink-0 inline-flex items-center gap-1.5 bg-amber-500/20 hover:bg-amber-500/30 text-amber-300 hover:text-amber-200 px-3.5 py-2 rounded-lg text-xs font-medium transition-all hover:scale-[1.02]",children:["Try it",e.jsx(re,{className:"w-3.5 h-3.5"})]})]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(ne,{options:[{value:"one-click",label:"Auto-Optimize",icon:S},{value:"detailed",label:"Section Editor",icon:se}],value:f,onChange:$}),e.jsx("p",{className:"text-xs text-slate-500 text-center max-w-md",children:f==="one-click"?"Upload your resume and AI rewrites the whole thing for 85+ ATS score. Plus/Premium only.":"Edit each section with AI suggestions, Content Library bullets, and live ATS scoring."})]}),e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"Resume Builder"}),children:f==="one-click"?e.jsx(me,{}):e.jsx(de,{memberId:J,onCipherSpeak:k,initialTargetJob:s,initialEvalBullets:x})})]}):e.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:e.jsx(A,{text:"Loading Resume Builder"})})),d==="Eval Translator"&&e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"Eval Translator"}),children:e.jsx(be,{})}),d==="Job Search"&&e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"Job Search"}),children:e.jsx(pe,{})}),d==="LinkedIn Optimization"&&e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"LinkedIn Optimization"}),children:e.jsx(he,{onCipherSpeak:k})}),d==="Interview Prep"&&e.jsx(t.Suspense,{fallback:e.jsx(b,{tabName:"Interview Prep"}),children:e.jsx(xe,{})})]})]})}function ge(r){return e.jsx(q,{children:e.jsx(fe,{...r})})}const Ee=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"}));export{Ee as C,le as T};
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.