1import{i as nt,af as st,X as rt,ah as ot,j as it,Y as lt,aj as ut,k as ct,l as _e,m as dt,r as N,b as f,al as ft,cq as mt,w as Q,cr as vt,y as Ae,z as ee,o as pt,A as R,p as oe,a5 as Be,Z as gt,q as fe,b3 as Pe,b5 as _,b6 as o,b7 as t,b8 as e,bw as we,b9 as d,bb as E,bI as y,ac as H,aL as de,ba as B,bB as le,bA as U,a6 as A,bO as bt,bx as ht,bC as yt,bM as $e,bd as k,bc as T,a9 as Ie,T as Le,c3 as _t,br as wt,u as Ne,g as kt,e as xt,f as St,bL as xe,bN as Ct,bK as Qe,N as qt,aW as Tt}from"./index-ZTZX6O4r.js";import{Q as Mt}from"./QToolbarTitle-BGSvHXO_.js";import{Q as ze}from"./QSpace-DF493Tid.js";import{Q as Oe}from"./QBadge-iDo7tbmS.js";import{Q as P}from"./QItemLabel-DJJTFmpY.js";import{Q as V,a as q}from"./QItem-Cmm75ClS.js";import{Q as ue}from"./QList-DnIjH5wq.js";import{Q as At}from"./QBtnDropdown-DC2eQZM_.js";import{Q as Bt}from"./QToolbar-BvK4Q0wL.js";import{Q as Qt}from"./QHeader-CA5AINSc.js";import{Q as Dt}from"./QExpansionItem-DkVy_hlD.js";import{Q as Re}from"./QMenu-DeogY-KU.js";import{Q as Pt}from"./QTooltip-BNRCDlL_.js";import{T as ke}from"./TouchPan-Cy7DVEVy.js";import{b as ie}from"./format-DyQxkAtJ.js";import{Q as ce}from"./QBanner-CePDC9UD.js";import{Q as $t,a as It}from"./QLayout-D549hDGm.js";import{C as Y}from"./ClosePopup-7_Yx9rfi.js";import{u as Ee}from"./notifications-Bjs3D-W9.js";import{u as Ve}from"./network-DiKmwgcH.js";import{u as Lt}from"./settings-BEIYFktw.js";import{u as Nt}from"./relationships-ak1H7eRh.js";import{u as zt}from"./useMarketProfileAccess-SOdlcc2T.js";import{u as Ot}from"./useBriefingAccess-_kLaB6LK.js";import{u as Rt}from"./use-quasar-DL01HdPf.js";import{_ as Se}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{u as Et,r as Vt}from"./useStripePrices-DQocvzGp.js";import{d as Ut}from"./differenceInDays-BtwE2IFT.js";import"./QBtnGroup-3Efivu0N.js";import"./QResizeObserver-b4qRuAyG.js";import"./QSlideTransition-Cujy4u3b.js";import"./position-engine-BaRtYBUc.js";import"./selection-DUEPnI6d.js";import"./touch-BjYP5sR0.js";import"./normalizeDates-CacZHBiA.js";import"./differenceInCalendarDays-D0VMo7hv.js";const De=150,Wt=nt({name:"QDrawer",inheritAttrs:!1,props:{...ot,...rt,side:{type:String,default:"left",validator:s=>["left","right"].includes(s)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:s=>["default","desktop","mobile"].includes(s),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...st,"onLayout","miniState"],setup(s,{slots:w,emit:i,attrs:x}){const S=it(),{proxy:{$q:g}}=S,z=lt(s,g),{preventBodyScroll:I}=vt(),{registerTimeout:M,removeTimeout:p}=ut(),n=ct(dt,_e);if(n===_e)return console.error("QDrawer needs to be child of QLayout"),_e;let u,m=null,O;const h=N(s.behavior==="mobile"||s.behavior!=="desktop"&&n.totalWidth.value<=s.breakpoint),G=f(()=>s.mini===!0&&h.value!==!0),D=f(()=>G.value===!0?s.miniWidth:s.width),b=N(s.showIfAbove===!0&&h.value===!1?!0:s.modelValue===!0),te=f(()=>s.persistent!==!0&&(h.value===!0||Ue.value===!0));function ae(a,c){if(r(),a!==!1&&n.animate(),L(0),h.value===!0){const $=n.instances[se.value];$?.belowBreakpoint===!0&&$.hide(!1),W(1),n.isContainer.value!==!0&&I(!0)}else W(0),a!==!1&&be(!1);M(()=>{a!==!1&&be(!0),c!==!0&&i("show",a)},De)}function ne(a,c){X(),a!==!1&&n.animate(),W(0),L(C.value*D.value),he(),c!==!0?M(()=>{i("hide",a)},De):p()}const{show:K,hide:l}=ft({showing:b,hideOnRouteChange:te,handleShow:ae,handleHide:ne}),{addToHistory:r,removeFromHistory:X}=mt(b,l,te),j={belowBreakpoint:h,hide:l},v=f(()=>s.side==="right"),C=f(()=>(g.lang.rtl===!0?-1:1)*(v.value===!0?1:-1)),Ce=N(0),J=N(!1),me=N(!1),qe=N(D.value*C.value),se=f(()=>v.value===!0?"left":"right"),ve=f(()=>b.value===!0&&h.value===!1&&s.overlay===!1?s.miniToOverlay===!0?s.miniWidth:D.value:0),pe=f(()=>s.overlay===!0||s.miniToOverlay===!0||n.view.value.indexOf(v.value?"R":"L")!==-1||g.platform.is.ios===!0&&n.isContainer.value===!0),Z=f(()=>s.overlay===!1&&b.value===!0&&h.value===!1),Ue=f(()=>s.overlay===!0&&b.value===!0&&h.value===!1),We=f(()=>"fullscreen q-drawer__backdrop"+(b.value===!1&&J.value===!1?" hidden":"")),Fe=f(()=>({backgroundColor:`rgba(0,0,0,${Ce.value*.4})`})),Te=f(()=>v.value===!0?n.rows.value.top[2]==="r":n.rows.value.top[0]==="l"),He=f(()=>v.value===!0?n.rows.value.bottom[2]==="r":n.rows.value.bottom[0]==="l"),Ge=f(()=>{const a={};return n.header.space===!0&&Te.value===!1&&(pe.value===!0?a.top=`${n.header.offset}px`:n.header.space===!0&&(a.top=`${n.header.size}px`)),n.footer.space===!0&&He.value===!1&&(pe.value===!0?a.bottom=`${n.footer.offset}px`:n.footer.space===!0&&(a.bottom=`${n.footer.size}px`)),a}),Ye=f(()=>{const a={width:`${D.value}px`,transform:`translateX(${qe.value}px)`};return h.value===!0?a:Object.assign(a,Ge.value)}),je=f(()=>"q-drawer__content fit "+(n.isContainer.value!==!0?"scroll":"overflow-auto")),Je=f(()=>`q-drawer q-drawer--${s.side}`+(me.value===!0?" q-drawer--mini-animate":"")+(s.bordered===!0?" q-drawer--bordered":"")+(z.value===!0?" q-drawer--dark q-d
1ark":"")+(J.value===!0?" no-transition":b.value===!0?"":" q-layout--prevent-focus")+(h.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${G.value===!0?"mini":"standard"}`+(pe.value===!0||Z.value!==!0?" fixed":"")+(s.overlay===!0||s.miniToOverlay===!0?" q-drawer--on-top":"")+(Te.value===!0?" q-drawer--top-padding":""))),Ke=f(()=>{const a=g.lang.rtl===!0?s.side:se.value;return[[ke,tt,void 0,{[a]:!0,mouse:!0}]]}),Xe=f(()=>{const a=g.lang.rtl===!0?se.value:s.side;return[[ke,Me,void 0,{[a]:!0,mouse:!0}]]}),Ze=f(()=>{const a=g.lang.rtl===!0?se.value:s.side;return[[ke,Me,void 0,{[a]:!0,mouse:!0,mouseAllDir:!0}]]});function ge(){at(h,s.behavior==="mobile"||s.behavior!=="desktop"&&n.totalWidth.value<=s.breakpoint)}Q(h,a=>{a===!0?(u=b.value,b.value===!0&&l(!1)):s.overlay===!1&&s.behavior!=="mobile"&&u!==!1&&(b.value===!0?(L(0),W(0),he()):K(!1))}),Q(()=>s.side,(a,c)=>{n.instances[c]===j&&(n.instances[c]=void 0,n[c].space=!1,n[c].offset=0),n.instances[a]=j,n[a].size=D.value,n[a].space=Z.value,n[a].offset=ve.value}),Q(n.totalWidth,()=>{(n.isContainer.value===!0||document.qScrollPrevented!==!0)&&ge()}),Q(()=>s.behavior+s.breakpoint,ge),Q(n.isContainer,a=>{b.value===!0&&I(a!==!0),a===!0&&ge()}),Q(n.scrollbarWidth,()=>{L(b.value===!0?0:void 0)}),Q(ve,a=>{F("offset",a)}),Q(Z,a=>{i("onLayout",a),F("space",a)}),Q(v,()=>{L()}),Q(D,a=>{L(),ye(s.miniToOverlay,a)}),Q(()=>s.miniToOverlay,a=>{ye(a,D.value)}),Q(()=>g.lang.rtl,()=>{L()}),Q(()=>s.mini,()=>{s.noMiniAnimation||s.modelValue===!0&&(et(),n.animate())}),Q(G,a=>{i("miniState",a)});function L(a){a===void 0?Ae(()=>{a=b.value===!0?0:D.value,L(C.value*a)}):(n.isContainer.value===!0&&v.value===!0&&(h.value===!0||Math.abs(a)===D.value)&&(a+=C.value*n.scrollbarWidth.value),qe.value=a)}function W(a){Ce.value=a}function be(a){const c=a===!0?"remove":n.isContainer.value!==!0?"add":"";c!==""&&document.body.classList[c]("q-body--drawer-toggle")}function et(){m!==null&&clearTimeout(m),S.proxy&&S.proxy.$el&&S.proxy.$el.classList.add("q-drawer--mini-animate"),me.value=!0,m=setTimeout(()=>{m=null,me.value=!1,S?.proxy?.$el?.classList.remove("q-drawer--mini-animate")},150)}function tt(a){if(b.value!==!1)return;const c=D.value,$=ie(a.distance.x,0,c);if(a.isFinal===!0){$>=Math.min(75,c)===!0?K():(n.animate(),W(0),L(C.value*c)),J.value=!1;return}L((g.lang.rtl===!0?v.value!==!0:v.value)?Math.max(c-$,0):Math.min(0,$-c)),W(ie($/c,0,1)),a.isFirst===!0&&(J.value=!0)}function Me(a){if(b.value!==!0)return;const c=D.value,$=a.direction===s.side,re=(g.lang.rtl===!0?$!==!0:$)?ie(a.distance.x,0,c):0;if(a.isFinal===!0){Math.abs(re)<Math.min(75,c)===!0?(n.animate(),W(1),L(0)):l(),J.value=!1;return}L(C.value*re),W(ie(1-re/c,0,1)),a.isFirst===!0&&(J.value=!0)}function he(){I(!1),be(!0)}function F(a,c){n.update(s.side,a,c)}function at(a,c){a.value!==c&&(a.value=c)}function ye(a,c){F("size",a===!0?s.miniWidth:c)}return n.instances[s.side]=j,ye(s.miniToOverlay,D.value),F("space",Z.value),F("offset",ve.value),s.showIfAbove===!0&&s.modelValue!==!0&&b.value===!0&&s["onUpdate:modelValue"]!==void 0&&i("update:modelValue",!0),ee(()=>{i("onLayout",Z.value),i("miniState",G.value),u=s.showIfAbove===!0;const a=()=>{(b.value===!0?ae:ne)(!1,!0)};if(n.totalWidth.value!==0){Ae(a);return}O=Q(n.totalWidth,()=>{O(),O=void 0,b.value===!1&&s.showIfAbove===!0&&h.value===!1?K(!1):a()})}),pt(()=>{O?.(),m!==null&&(clearTimeout(m),m=null),b.value===!0&&he(),n.instances[s.side]===j&&(n.instances[s.side]=void 0,F("size",0),F("offset",0),F("space",!1))}),()=>{const a=[];h.value===!0&&(s.noSwipeOpen===!1&&a.push(R(oe("div",{key:"open",class:`q-drawer__opener fixed-${s.side}`,"aria-hidden":"true"}),Ke.value)),a.push(Be("div",{ref:"backdrop",class:We.value,style:Fe.value,"aria-hidden":"true",onClick:l},void 0,"backdrop",s.noSwipeBackdrop!==!0&&b.value===!0,()=>Ze.value)));const c=G.value===!0&&w.mini!==void 0,$=[oe("div",{...x,key:""+c,class:[je.value,x.class]},c===!0?w.mini():gt(w.default))];return s.elevated===!0&&b.value===!0&&$.push(oe("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(Be("aside",{ref:"content",class:Je.value,style:Ye.value},$,"contentclose",s.noSwipeClose!==!0&&h.value===!0,()=>Xe.value)),oe("div",{class:"q-drawer-container"},a)}}}),Ft=fe({__name:"NotificationDropdown",setup(s){const w=Pe(),i=Ee(),x=Rt(),S=p=>{switch(p){case"new_comment":case"comment_reply":return"comment";
1case"feedback_requested":return"help";case"relationship_request":return"mail";case"relationship_approved":return"check_circle";case"relationship_declined":return"cancel";case"relationship_terminated":return"block";case"admin_broadcast":return"campaign";default:return"notifications"}},g=p=>{switch(p){case"new_comment":case"comment_reply":return"primary";case"feedback_requested":return"warning";case"relationship_request":return"info";case"relationship_approved":return"positive";case"relationship_declined":case"relationship_terminated":return"negative";case"admin_broadcast":return"accent";default:return"grey"}},z=p=>{if(!p)return"";const u=new Date().getTime()-p.getTime(),m=Math.floor(u/6e4),O=Math.floor(u/36e5),h=Math.floor(u/864e5);return m<1?"Just now":m<60?`${m} minute${m>1?"s":""} ago`:O<24?`${O} hour${O>1?"s":""} ago`:h<7?`${h} day${h>1?"s":""} ago`:p.toLocaleDateString()},I=async p=>{try{p.read||await i.markAsRead(p.id),p.actionUrl&&(w.currentRoute.value.path===p.actionUrl?await w.push({path:p.actionUrl,query:{refresh:Date.now().toString()}}):await w.push(p.actionUrl))}catch(n){console.error("Error handling notification click:",n)}},M=async()=>{try{await i.markAllAsRead(),x.notify({type:"positive",message:"All notifications marked as read",position:"top"})}catch(p){console.error("Error marking all as read:",p),x.notify({type:"negative",message:"Failed to mark notifications as read",position:"top"})}};return(p,n)=>(o(),_(Re,{class:"notification-dropdown","max-width":"400px"},{default:t(()=>[e(ht,{flat:"",class:"te-card"},{default:t(()=>[e(we,{class:"row items-center q-pb-none"},{default:t(()=>[n[0]||(n[0]=d("div",{class:"text-h6"},"Notifications",-1)),e(ze),y(i).unreadCount>0?(o(),_(H,{key:0,flat:"",dense:"",size:"sm",label:"Mark all read",color:"primary",onClick:M})):E("",!0)]),_:1}),e(de,{class:"q-my-sm"}),y(i).recentNotifications.length>0?(o(),_(we,{key:0,class:"q-pt-none notification-list"},{default:t(()=>[e(ue,{separator:""},{default:t(()=>[(o(!0),B(U,null,le(y(i).recentNotifications,u=>R((o(),_(V,{key:u.id||u.userId,clickable:"",class:yt({"unread-notification":!u.read}),onClick:m=>I(u)},{default:t(()=>[e(q,{avatar:"",top:""},{default:t(()=>[e($e,{color:g(u.type),icon:S(u.type),"text-color":"white"},null,8,["color","icon"])]),_:2},1024),e(q,null,{default:t(()=>[e(P,{class:"text-weight-medium"},{default:t(()=>[k(T(u.title),1)]),_:2},1024),e(P,{caption:"",class:"text-caption"},{default:t(()=>[k(T(u.message),1)]),_:2},1024),e(P,{caption:"",class:"text-grey-6 q-mt-xs"},{default:t(()=>[k(T(z(u.createdAt)),1)]),_:2},1024)]),_:2},1024),u.read?E("",!0):(o(),_(q,{key:0,side:""},{default:t(()=>[e(Oe,{color:"primary",rounded:""})]),_:1}))]),_:2},1032,["class","onClick"])),[[Ie]])),128))]),_:1})]),_:1})):(o(),_(we,{key:1,class:"text-center q-py-xl"},{default:t(()=>[e(A,{name:"notifications_none",size:"3rem",color:"grey-6"}),n[1]||(n[1]=d("div",{class:"text-body2 text-grey-6 q-mt-md"},"No notifications yet",-1))]),_:1})),e(de,{class:"q-my-sm"}),e(bt,{align:"center"},{default:t(()=>[R(e(H,{flat:"",dense:"",color:"primary",label:"View All",to:"/notifications"},null,512),[[Y]])]),_:1})]),_:1})]),_:1}))}}),Ht=Se(Ft,[["__scopeId","data-v-a8f12adc"]]),Gt={key:0,class:"connection-banner"},Yt={class:"banner-content"},jt={class:"text-caption"},Jt=fe({__name:"ConnectionBanner",setup(s){const w=Ve(),i=f(()=>w.isRetrying?`Attempting to reconnect (${w.connectionAttempts} attempt${w.connectionAttempts>1?"s":""})`:"Please check your internet connection and try again");return(x,S)=>(o(),_(Le,{name:"slide-down"},{default:t(()=>[y(w).isOnline?E("",!0):(o(),B("div",Gt,[e(ce,{class:"bg-negative text-white"},_t({avatar:t(()=>[e(A,{name:"wifi_off",size:"md"})]),default:t(()=>[d("div",Yt,[S[0]||(S[0]=d("div",{class:"text-subtitle1"},"No Internet Connection",-1)),d("div",jt,T(i.value),1)])]),_:2},[y(w).isRetrying?{name:"action",fn:t(()=>[e(wt,{color:"white",size:"sm",class:"q-mr-sm"}),S[1]||(S[1]=d("span",{class:"text-caption"},"Reconnecting...",-1))]),key:"0"}:void 0]),1024)]))]),_:1}))}}),Kt=Se(Jt,[["__scopeId","data-v-a2e767a0"]]),Xt={key:0,class:"trial-banner"},Zt={class:"trial-banner-inner"},ea={class:"trial-text"},ta=fe({__name:"TrialBanner",setup(s){const w=Ne(),{getPriceId:i}
1=Et(),x=N(null),S=N(null),g=N(!1),z=f(()=>S.value?Math.max(0,Ut(S.value,new Date)):0),I=f(()=>x.value!==null&&!g.value),M=()=>{g.value=!0,sessionStorage.setItem(`te-trial-banner-dismissed-${x.value}`,"true")},p=async()=>{Qe.show({message:"Redirecting to checkout..."});try{const n=i("pro","monthly");await Vt(n,"pro","monthly",void 0,"/settings?payment=success&trial=true","/pricing?payment=canceled",!0)}catch(n){Qe.hide();const u=n instanceof Error?n.message:"";qt.create({type:"negative",message:u.includes("already used")?"You've already used your free trial. Choose a plan to subscribe.":"Failed to start free trial. Please try again.",position:"top"})}};return ee(async()=>{const n=w.user?.uid;if(n)try{const u=await kt(xt(St,"subscriptions",n));if(u.exists()){const m=u.data();m.status==="trialing"?sessionStorage.getItem("te-trial-banner-dismissed-active")!=="true"?(x.value="active",S.value=m.trialEnd?.toDate()??m.currentPeriodEnd?.toDate()??null):g.value=!0:m.status==="active"||m.stripeSubscriptionId?x.value=null:(m.tier==="free"||!m.tier)&&(sessionStorage.getItem("te-trial-banner-dismissed-promo")!=="true"?x.value="promo":g.value=!0)}else sessionStorage.getItem("te-trial-banner-dismissed-promo")!=="true"?x.value="promo":g.value=!0}catch(u){console.error("TrialBanner: Error checking subscription:",u)}}),(n,u)=>{const m=xe("router-link");return o(),_(Le,{name:"slide-down"},{default:t(()=>[I.value?(o(),B("div",Xt,[d("div",Zt,[e(A,{name:"rocket_launch",size:"20px",class:"trial-icon"}),x.value==="promo"?(o(),B(U,{key:0},[u[0]||(u[0]=d("span",{class:"trial-text"}," Unlock unlimited trades, advanced analytics, Discord & more. ",-1)),d("a",{href:"#",class:"trial-cta",onClick:Ct(p,["prevent"])}," Start your free 7-day trial â ")],64)):x.value==="active"?(o(),B(U,{key:1},[d("span",ea,[u[1]||(u[1]=d("strong",null,"Pro Trial",-1)),k(" â "+T(z.value)+" day"+T(z.value===1?"":"s")+" remaining. ",1),z.value<=2?(o(),B(U,{key:0},[k("Subscribe now to keep your access.")],64)):E("",!0)]),e(m,{to:"/settings?tab=subscription",class:"trial-cta"},{default:t(()=>[...u[2]||(u[2]=[k(" Manage Subscription ",-1)])]),_:1})],64)):E("",!0),e(H,{flat:"",dense:"",round:"",icon:"close",size:"sm",class:"trial-close",onClick:M})])])):E("",!0)]),_:1})}}}),aa=Se(ta,[["__scopeId","data-v-64d2bfc8"]]),na={class:"te-header-actions"},sa={class:"te-user-trigger"},ra=["src"],oa={key:1,class:"te-avatar-initials"},ia={class:"te-user-name gt-xs"},la={class:"te-drawer-logo"},ua={key:0,class:"te-drawer-logo-compact"},ca={key:1,src:"/tradersEdgeLogo.png",alt:"TradersEdge",class:"te-drawer-logo-img"},da={class:"te-nav-icon-wrapper te-nav-icon-wrapper--small"},fa={class:"te-nav-icon-wrapper"},ma={class:"te-tooltip-label"},va={class:"te-drawer-footer"},pa={key:0,class:"te-collapse-text"},Za=fe({__name:"MainLayout",setup(s){const w=Pe(),i=Ne(),x=Ee(),S=Ve(),g=Lt(),z=Nt(),I=N(!1),M=N(!1);ee(()=>{const l=localStorage.getItem("te-sidebar-collapsed");l!==null&&(M.value=l==="true")});const p=[{name:"dashboard",label:"Dashboard",icon:"dashboard",defaultExpanded:!0,children:[{name:"dashboard",label:"Overview",caption:"Home & metrics",icon:"home",to:"/dashboard"},{name:"thesis-builder",label:"Thesis Builder",caption:"Daily prep & scenarios",icon:"psychology",to:"/thesis-builder"},{name:"trades",label:"Trades",caption:"Journal entries",icon:"receipt_long",to:"/trades"},{name:"analytics",label:"Analytics",caption:"Performance insights",icon:"analytics",to:"/analytics"},{name:"briefings",label:"AI Briefings",caption:"Pre-market analysis",icon:"auto_awesome",to:"/briefings",requiresBriefingAccess:!0},{name:"cot-positioning",label:"COT Positioning",caption:"Institutional futures positioning",icon:"account_balance",to:"/cot"},{name:"mentorship",label:"Mentorship",caption:"Mentor & mentee",icon:"people",to:"/mentorship",requiresMentorship:!0}]},{name:"learn",label:"Learn",icon:"school",children:[{name:"study-guides",label:"Study Guides",caption:"Trade setup replays",icon:"menu_book",to:"/study-guides",requiresBriefingAccess:!0},{name:"patterns",label:"Pattern Library",caption:"Learn patterns",icon:"library_books",to:"/patterns",requiresPatternLibrary:!0},{name:"market-profile",label:"Market Profile",caption:"Day types & strategies",icon:"insights",to:"/market-profile",requiresMarketProfile:!0},{name:"mancini-plan",label:"Daily Game Plan",caption:"Mancini pre-market",icon:"sports_esports",to:"/mancini-plan",requiresManciniAccess:!0},{name:"futures-guide",label:"Futures Guide",caption:"Contract specs & setups",icon:"candlestick_chart",to:"/futures-guide"},{name:"training",label:"App Training",caption:"Video tutorials",icon:"play_circle",to:"/training"},{name:"help",label:"Help",caption:"Knowledge base",icon:"help_outline",to:"/help"}]},{name:"setup",label:"Setup",icon:"settings",children:[{name:"accounts",label:"Accounts",caption:"Trading accounts",icon:"account_balance_wallet",to:"/accounts"},{name:"plans",label:"Trading Plans",caption:"Strategy management",icon:"description",to:"/plans"},{name:"tags",label:"Tag Manager",caption:"Organize trades",icon:"label",to:"/tags"},{name:"indicators",label:"Indicators",caption:"API keys & downloads",icon:"show_chart",to:"/indicators"}]}],n=N({});ee(()=>{const l=localStorage.getItem("te-nav-expanded");
1l?n.value=JSON.parse(l):p.forEach(r=>{n.value[r.name]=r.defaultExpanded??!1})});const u=l=>{n.value[l]=!n.value[l],localStorage.setItem("te-nav-expanded",JSON.stringify(n.value))},m=l=>n.value[l]??!1,{hasAccess:O}=zt(),{hasAccess:h}=Ot(),G=l=>l.requiresAdmin?i.isAdmin:l.requiresMentorship?g.settings.enableMentorship:l.requiresMarketProfile?O.value:l.requiresBriefingAccess?h.value:l.requiresPatternLibrary?i.hasPatternLibraryAccess:l.requiresManciniAccess?i.hasManciniAccess:l.requiresProSubscription?i.hasProSubscription:!0,D=f(()=>p.map(l=>({...l,children:l.children.filter(r=>G(r))})).filter(l=>l.children.length>0)),b=f(()=>{const l=i.userName,r=l.split(" ").filter(X=>X.length>0);return r.length>=2&&r[0]&&r[1]?`${r[0][0]}${r[1][0]}`.toUpperCase():l.substring(0,2).toUpperCase()});function te(){I.value=!I.value}function ae(){M.value=!M.value,localStorage.setItem("te-sidebar-collapsed",M.value.toString())}const ne=()=>{w.push("/settings")},K=async()=>{try{await i.logout(),await w.push("/login")}catch(l){console.error("Logout failed:",l)}};return ee(async()=>{i.user?(x.startNotificationsListener(i.user.uid),await g.fetchSettings(),z.initialized||z.fetchRelationships()):g.applyTheme("dark"),S.initializeListeners()}),Tt(()=>{x.stopNotificationsListener(),S.cleanupListeners()}),(l,r)=>{const X=xe("router-link"),j=xe("router-view");return o(),_(It,{view:"lHh Lpr lFf",class:"te-layout"},{default:t(()=>[r[13]||(r[13]=d("div",{class:"te-grid-bg"},[d("div",{class:"te-grid-lines"}),d("div",{class:"te-grid-glow te-grid-glow--1"}),d("div",{class:"te-grid-glow te-grid-glow--2"})],-1)),e(Kt),e(Qt,{flat:"",class:"te-header"},{default:t(()=>[e(aa),e(Bt,{class:"te-toolbar"},{default:t(()=>[e(H,{flat:"",dense:"",round:"",icon:"menu","aria-label":"Menu",onClick:te,class:"lt-sm te-icon-btn"}),e(Mt,{class:"te-logo-section"},{default:t(()=>[e(X,{to:"/dashboard",class:"te-logo-link"},{default:t(()=>[...r[4]||(r[4]=[d("span",{class:"te-logo-text"},"Traders",-1),d("span",{class:"te-logo-accent"},"Edge",-1)])]),_:1}),r[5]||(r[5]=d("div",{class:"te-tagline gt-xs"},"Where data meets discipline",-1))]),_:1}),e(ze),d("div",na,[e(H,{flat:"",dense:"",round:"",icon:"notifications","aria-label":"Notifications",class:"te-icon-btn"},{default:t(()=>[y(x).unreadCount>0?(o(),_(Oe,{key:0,color:"negative",floating:"",class:"te-notification-badge"},{default:t(()=>[k(T(y(x).unreadCount),1)]),_:1})):E("",!0),e(Ht)]),_:1}),e(At,{flat:"",dense:"","no-caps":"",class:"te-user-dropdown"},{label:t(()=>[d("div",sa,[e($e,{size:"32px",class:"te-user-avatar"},{default:t(()=>[y(g).settings.photoURL?(o(),B("img",{key:0,src:y(g).settings.photoURL},null,8,ra)):(o(),B("span",oa,T(b.value),1))]),_:1}),d("span",ia,T(y(i).userName),1)])]),default:t(()=>[e(ue,{class:"te-dropdown-menu"},{default:t(()=>[e(P,{header:"",class:"te-dropdown-header"},{default:t(()=>[e(A,{name:"account_circle",size:"16px",class:"q-mr-sm"}),k(" "+T(y(i).userEmail),1)]),_:1}),R((o(),_(V,{clickable:"",onClick:ne,class:"te-dropdown-item"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:"settings"})]),_:1}),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>[...r[6]||(r[6]=[k("Settings",-1)])]),_:1})]),_:1})]),_:1})),[[Y]]),R((o(),_(V,{clickable:"",onClick:r[0]||(r[0]=v=>y(w).push("/broker-connections")),class:"te-dropdown-item"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:"sync"})]),_:1}),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>[...r[7]||(r[7]=[k("Broker Connections",-1)])]),_:1})]),_:1})]),_:1})),[[Y]]),R((o(),_(V,{clickable:"",onClick:r[1]||(r[1]=v=>y(w).push("/my-referrals")),class:"te-dropdown-item"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:"share"})]),_:1}),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>[...r[8]||(r[8]=[k("My Referrals",-1)])]),_:1})]),_:1})]),_:1})),[[Y]]),y(i).isAdmin?(o(),B(U,{key:0},[e(de,{class:"te-dropdown-separator"}),R((o(),_(V,{clickable:"",onClick:r[2]||(r[2]=v=>y(w).push("/admin")),class:"te-dropdown-item"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:"admin_panel_settings"})]),_:1}),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>[...r[9]||(r[9]=[k("Admin Dashboard",-1)])]),_:1})]),_:1})]),_:1})),[[Y]])],64)):E("",!0),e(de,{class:"te-dropdown-separator"}),R((o(),_(V,{clickable:"",onClick:K,class:"te-dropdown-item te-dropdown-item--logout"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:"logout"})]),_:1}),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>
1[...r[10]||(r[10]=[k("Logout",-1)])]),_:1})]),_:1})]),_:1})),[[Y]])]),_:1})]),_:1})])]),_:1})]),_:1}),e(Wt,{modelValue:I.value,"onUpdate:modelValue":r[3]||(r[3]=v=>I.value=v),"show-if-above":"",bordered:"",mini:M.value,width:260,"mini-width":72,class:"te-drawer"},{default:t(()=>[d("div",la,[M.value?(o(),B("div",ua,"TE")):(o(),B("img",ca))]),e(ue,{class:"te-nav-list"},{default:t(()=>[(o(!0),B(U,null,le(D.value,v=>(o(),B(U,{key:v.name},[M.value?(o(),_(V,{key:1,class:"te-nav-item te-nav-item--collapsed-group"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[d("div",fa,[e(A,{name:v.icon,size:"20px"},null,8,["name"])])]),_:2},1024),e(Re,{anchor:"top right",self:"top left",offset:[8,0],class:"te-flyout-menu"},{default:t(()=>[e(ue,{class:"te-flyout-list"},{default:t(()=>[e(P,{header:"",class:"te-flyout-header"},{default:t(()=>[k(T(v.label),1)]),_:2},1024),(o(!0),B(U,null,le(v.children,C=>R((o(),_(V,{key:C.name,to:C.to,clickable:"","exact-active-class":"te-nav-active",class:"te-flyout-item"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[e(A,{name:C.icon,size:"18px"},null,8,["name"])]),_:2},1024),e(q,null,{default:t(()=>[e(P,null,{default:t(()=>[k(T(C.label),1)]),_:2},1024),e(P,{caption:""},{default:t(()=>[k(T(C.caption),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["to"])),[[Y]])),128))]),_:2},1024)]),_:2},1024),e(Pt,{anchor:"center right",self:"center left",offset:[12,0],class:"te-nav-tooltip"},{default:t(()=>[d("div",ma,T(v.label),1)]),_:2},1024)]),_:2},1024)):(o(),_(Dt,{key:0,"model-value":m(v.name),"onUpdate:modelValue":C=>u(v.name),icon:v.icon,label:v.label,"header-class":"te-nav-group-header","expand-icon-class":"te-nav-group-expand-icon",class:"te-nav-group"},{default:t(()=>[(o(!0),B(U,null,le(v.children,C=>R((o(),_(V,{key:C.name,to:C.to,clickable:"","exact-active-class":"te-nav-active",class:"te-nav-item te-nav-item--child"},{default:t(()=>[e(q,{avatar:""},{default:t(()=>[d("div",da,[e(A,{name:C.icon,size:"18px"},null,8,["name"])])]),_:2},1024),e(q,null,{default:t(()=>[e(P,{class:"te-nav-label"},{default:t(()=>[k(T(C.label),1)]),_:2},1024),e(P,{caption:"",class:"te-nav-caption"},{default:t(()=>[k(T(C.caption),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["to"])),[[Ie]])),128))]),_:2},1032,["model-value","onUpdate:modelValue","icon","label"]))],64))),128))]),_:1}),d("div",va,[d("div",{class:"te-collapse-toggle",onClick:ae},[e(A,{name:M.value?"chevron_right":"chevron_left",size:"20px"},null,8,["name"]),M.value?E("",!0):(o(),B("span",pa,"Collapse"))])])]),_:1},8,["modelValue","mini"]),y(i).isTrialing&&y(i).trialDaysRemaining<=3&&y(i).trialDaysRemaining>0?(o(),_(ce,{key:0,class:"te-trial-banner",dense:""},{avatar:t(()=>[e(A,{name:"schedule",color:"warning"})]),action:t(()=>[e(H,{flat:"",dense:"",label:"Subscribe",color:"warning",to:"/settings?tab=subscription"})]),default:t(()=>[k(" Your Pro trial ends in "+T(y(i).trialDaysRemaining)+" day"+T(y(i).trialDaysRemaining===1?"":"s")+". ",1)]),_:1})):y(i).isExpiredTrial?(o(),_(ce,{key:1,class:"te-expired-banner",dense:""},{avatar:t(()=>[e(A,{name:"info",color:"negative"})]),action:t(()=>[e(H,{flat:"",dense:"",label:"Subscribe Now",color:"negative",to:"/settings?tab=subscription"})]),default:t(()=>[r[11]||(r[11]=k(" Your Pro trial has ended. Subscribe to regain access to mentor connections, indicators, and subscriber Discord channels. ",-1))]),_:1})):y(i).isPastDue?(o(),_(ce,{key:2,class:"te-pastdue-banner",dense:""},{avatar:t(()=>[e(A,{name:"credit_card_off",color:"warning"})]),action:t(()=>[e(H,{flat:"",dense:"",label:"Update Card",color:"warning",to:"/settings?tab=subscription"})]),default:t(()=>[r[12]||(r[12]=k(" Your payment failed. Please update your card to keep your subscription active â your access continues while we retry. ",-1))]),_:1})):E("",!0),e($t,{class:"te-page-container"},{default:t(()=>[e(j)]),_:1})]),_:1})}}});
1export{Za 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.