PageSourceSearch

https://www.tradingwizard.ai/_next/static/chunks/11568.e1bd80a1b92d9623.js

js tradingwizard.ai collected 2026-10-01 23:55:24 UTC 21,110 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="88e00632-1dc3-412c-b97f-ca4f44c016f2",e._sentryDebugIdIdentifier="sentry-dbid-88e00632-1dc3-412c-b97f-ca4f44c016f2")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11568],{11568:(e,t,l)=>{l.r(t),l.d(t,{SignalsPage:()=>E});var n=l(95155),s=l(12115),a=l(36489),r=l(11685),o=l(1524),i=l(26921),c=l(52987),d=l(65506),m=l(37653),u=l(38142);l(25185);var h=l(8829),x=l(1855),p=l(73289);l(64955);var b=l(11869),g=l(35967),f=l(5917),y=l(95740),v=l(85998);let w=e=>"low"===e?"#6dd98f":"medium"===e?"#FFB020":"high"===e?"#ed5572":"rgba(255,255,255,0.4)";function N(e){return null!=e&&Number.isFinite(e)&&0!==e?e<1?"$".concat(e.toFixed(4)):e<100?"$".concat(e.toFixed(2)):"$".concat(e.toLocaleString("en-US",{maximumFractionDigits:2*(e<1e4)})):"—"}function j(e){let t=e.entryZone?e.entryZone[0]:e.entry,l=e.entryZone?e.entryZone[1]:e.entry;if(null==t||null==l||null==e.stop||null==e.target)return null;let n=(Number(t)+Number(l))/2,s=Math.abs(n-Number(e.stop)),a=Math.abs(Number(e.target)-n);return s>0?a/s:null}function k(e,t,l,n){return l?{label:"Open chart",short:"Chart",onClick:()=>n.onOpenChart(e.symbol),tone:"green",icon:"arrow"}:e.becameTrade?{label:"Manage position",short:"Manage",onClick:()=>n.onOpenPositions?n.onOpenPositions():n.onOpenChart(e.symbol),tone:"green",icon:"arrow"}:e.isGlobal&&t?{label:"Following",short:"Following",onClick:()=>n.onCopy(e),tone:"selected",icon:"check"}:e.isGlobal&&!t?{label:"Follow bot",short:"Follow",onClick:()=>n.onCopy(e),tone:"green",icon:"arrow"}:{label:"Open chart",short:"Chart",onClick:()=>n.onOpenChart(e.symbol),tone:e.hasExposure?"neutral":"green",icon:"arrow"}}let C=e=>"selected"===e?"bg-theme-overlay hover:bg-theme-overlay-hover text-theme-primary":"neutral"===e?"bg-theme-overlay hover:bg-theme-overlay-hover text-theme-secondary":"bg-[#33E89E] hover:bg-[#33E89E] text-black";function S(e,t){let l=e.entryZone?e.entryZone[0]:e.entry,n=e.entryZone?e.entryZone[1]:e.entry;if(!t||null==l||null==n)return null;if(t>=Math.min(l,n)&&t<=Math.max(l,n))return{text:"In entry zone",tone:"#0285F7"};let s=(Number(l)+Number(n))/2,a=(t-s)/s*100;return{text:"".concat(a>=0?"+":"").concat(a.toFixed(2),"% vs entry"),tone:"rgba(255,255,255,0.4)"}}function L(e){let{score:t}=e;return(0,n.jsx)("span",{className:"text-[12px] font-mono tabular-nums font-bold",style:{color:t>=70?"#6dd98f":t>=50?"#FFB020":"rgba(255,255,255,0.45)"},children:Math.round(t)})}function A(e){let{signals:t,getPrice:l,isLoggedOut:s,isFollowing:a,onOpenChart:r,onOpenPositions:o,onAskKai:i,onSetAlert:d,onCopy:m}=e,h={onOpenChart:r,onOpenPositions:o,onCopy:m};return(0,n.jsxs)("div",{className:"rounded-2xl border border-theme bg-theme-secondary overflow-hidden",children:[(0,n.jsx)("div",{className:"hidden",children:t.map(e=>{let t=l(e.symbol.toUpperCase()),o="LONG"===e.bias,d=j(e),m=S(e,t),x=k(e,a(e),s,h);return(0,n.jsxs)("div",{className:"p-3.5",onClick:()=>r(e.symbol),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,n.jsx)(u.AssetIcon,{symbol:e.symbol,size:"sm"}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[14px] font-bold text-theme-primary",children:e.symbol}),(0,n.jsx)("span",{className:"text-[10px] font-bold uppercase ".concat(o?"text-[#0cc575]":"text-[#ed5572]"),children:e.bias}),e.becameTrade&&(0,n.jsx)("span",{className:"text-[9px] font-bold uppercase tracking-[0.14em] text-theme-tertiary",children:"\xb7 Live"})]}),m&&(0,n.jsx)("span",{className:"text-[11px] font-mono tabular-nums",style:{color:m.tone},children:m.text})]}),(0,n.jsxs)("div",{className:"text-right shrink-0",children:[(0,n.jsx)("div",{className:"text-[14px] font-bold font-mono tabular-nums text-theme-primary",children:N(t)}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-2 mt-0.5 text-[10px] font-mono tabular-nums text-theme-tertiary",children:[(0,n.jsxs)("span",{children:["Score ",(0,n.jsx)(L,{score:e.score})]}),null!=d&&(0,n.jsxs)("span",{children:["\xb7 ",d.toFixed(2),"R"]})]})]})]}),null!=e.stop&&null!=e.target&&(e.entryZone||null!=e.entry)&&(0,n.jsx)("div",{className:"mt-2.5",children:(0,n.jsx)(b.z,{side:o?"BUY":"SELL",entry:e.entryZone?(e.entryZone[0]+e.entryZone[1])/2:e.entry,stopLoss:e.stop,takeProfit:e.target,mark:null!=t?t:void 0,width:"full"})}),(0,n.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("button",{onClick:x.onClick,className:"inline-flex items-center gap-1.5 h-8 px-3 rounded-lg text-[11px] font-bold transition-colors ".concat(C(x.tone)),children:["check"===x.icon&&(0,n.jsx)(f.A,{className:"w-3 h-3",strokeWidth:3}),x.label,"arrow"===x.icon&&(0,n.jsx)(c.A,{className:"w-3 h-3",strokeWidth:2.75})]}),(0,n.jsxs)("button",{onClick:()=>i("What's the setup on ".concat(e.symbol,"?")),className:"inline-flex items-center gap-1.5 h-8 px-2.5 rounded-lg text-[11px] font-bold text-theme-secondary hover:text-theme-primary hover:bg-theme-overlay-hover transition-colors",children:[(0,n.jsx)(y.A,{className:"w-3 h-3"})," Wiz"]})]})]},e.bot._id)})}),(0,n.jsx)("div",{className:"block",children:(0,n.jsx)(g.XI,{children:(0,n.jsx)(g.XI.ScrollContainer,{children:(0,n.jsxs)(g.XI.Content,{"aria-label":"Signals",onRowAction:e=>{let l=t.find(t=>String(t.bot._id)===String(e));l&&r(l.symbol)},className:"min-w-[860px]",children:[(0,n.jsxs)(g.XI.Header,{children:[(0,n.jsx)(g.XI.Column,{id:"signal",isRowHeader:!0,className:"min-w-[200px]",children:"Signal"}),(0,n.jsx)(g.XI.Column,{id:"mark",className:"w-[120px] text-right",children:"Price"}),(0,n.jsx)(g.XI.Column,{id:"score",className:"w-[80px] text-right",children:"Score"}),(0,n.jsx)(g.XI.Column,{id:"rr",className:"w-[80px] text-right",children:"R:R"}),(0,n.jsx)(g.XI.Column,{id:"risk",className:"w-[110px]",children:"Risk"}),(0,n.jsx)(g.XI.Column,{id:"bar",className:"min-w-[200px]",children:"SL \xb7 Entry \xb7 TP"}),(0,n.jsx)(g.XI.Column,{id:"action",className:"w-[200px] text-right",children:"Action"})]}),(0,n.jsx)(g.XI.Body,{children:t.map(e=>{let t=l(e.symbol.toUpperCase()),r="LONG"===e.bias,o=j(e),i=S(e,t),m=k(e,a(e),s,h),x=null!=e.stop&&null!=e.target&&(e.entryZone||null!=e.entry);return(0,n.jsxs)(g.XI.Row,{id:e.bot._id,className:"cursor-pointer transition-colors",children:[(0,n.jsx)(g.XI.Cell,{children:(0,n.jsxs)("div",{className:"flex items-center gap-2.5 py-1",children:[(0,n.jsx)(u.AssetIcon,{symbol:e.symbol,size:"sm"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[14px] font-bold text-theme-primary",children:e.symbol}),(0,n.jsx)("span",{className:"text-[10px] font-bold uppercase ".concat(r?"text-[#0cc
1575]":"text-[#ed5572]"),children:e.bias}),e.becameTrade&&(0,n.jsx)("span",{className:"text-[9px] font-bold uppercase tracking-[0.14em] text-theme-tertiary",children:"Live"})]}),(0,n.jsxs)("span",{className:"text-[11px] text-theme-tertiary",children:[e.isGlobal?"Global bot":"Your bot",e.timeframe?" \xb7 ".concat(e.timeframe):""]})]})]})}),(0,n.jsxs)(g.XI.Cell,{className:"text-right",children:[(0,n.jsx)("div",{className:"text-[13px] font-bold font-mono tabular-nums text-theme-primary",children:N(t)}),i&&(0,n.jsx)("div",{className:"text-[10px] font-mono tabular-nums",style:{color:i.tone},children:i.text})]}),(0,n.jsx)(g.XI.Cell,{className:"text-right",children:(0,n.jsx)(L,{score:e.score})}),(0,n.jsx)(g.XI.Cell,{className:"text-right text-[12px] font-mono tabular-nums text-theme-secondary",children:null!=o?"".concat(o.toFixed(2)):"—"}),(0,n.jsx)(g.XI.Cell,{children:e.riskLevel?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] font-semibold capitalize",style:{color:w(e.riskLevel)},children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:w(e.riskLevel)}}),e.riskLevel]}):(0,n.jsx)("span",{className:"text-theme-tertiary text-[11px]",children:"—"})}),(0,n.jsx)(g.XI.Cell,{children:x?(0,n.jsx)(b.z,{side:r?"BUY":"SELL",entry:e.entryZone?(e.entryZone[0]+e.entryZone[1])/2:e.entry,stopLoss:e.stop,takeProfit:e.target,mark:null!=t?t:void 0,width:"full"}):(0,n.jsx)("span",{className:"text-theme-tertiary text-[11px]",children:"—"})}),(0,n.jsx)(g.XI.Cell,{className:"text-right",children:(0,n.jsxs)("div",{className:"inline-flex items-center gap-1.5",onClick:e=>e.stopPropagation(),children:[d&&(0,n.jsx)("button",{onClick:()=>d(e.symbol),"aria-label":"Set alert",className:"w-8 h-8 rounded-lg text-theme-tertiary hover:text-theme-primary hover:bg-theme-overlay-hover inline-flex items-center justify-center transition-colors",children:(0,n.jsx)(v.A,{className:"w-3.5 h-3.5"})}),(0,n.jsxs)("button",{onClick:m.onClick,className:"inline-flex items-center gap-1.5 h-8 px-3 rounded-lg text-[11px] font-bold transition-colors ".concat(C(m.tone)),children:["check"===m.icon&&(0,n.jsx)(f.A,{className:"w-3 h-3",strokeWidth:3}),m.label,"arrow"===m.icon&&(0,n.jsx)(c.A,{className:"w-3 h-3",strokeWidth:2.75})]})]})})]},e.bot._id)})})]})})})})]})}function E(e){let t,l,u,{bots:b,trades:g,followedBotIds:f,isLoggedOut:y,onOpenChart:v,onOpenPositions:w,onAskKai:N,onOpenBots:j,onSetAlert:k}=e,{data:C}=(0,a.useSession)(),S=null!=y?y:!(null==C?void 0:C.user),{isPro:L}
1=(0,r.k)(),E=!S&&!L,[I,F]=(0,s.useState)(""),[P,O]=(0,s.useState)("all"),[T,X]=(0,s.useState)("all"),[M,_]=(0,s.useState)("all"),[Z,G]=(0,s.useState)("all"),[R,U]=(0,s.useState)("all"),[B,W]=(0,s.useState)("24h"),[z,$]=(0,s.useState)("live"),[D,H]=(0,s.useState)([]);(0,s.useEffect)(()=>{if(g||S)return;let e=!1;return fetch("/api/trades?status=OPEN&limit=100",{cache:"no-store"}).then(e=>e.ok?e.json():{trades:[]}).then(t=>{e||H(Array.isArray(null==t?void 0:t.trades)?t.trades:[])}).catch(()=>{}),()=>{e=!0}},[g,S]);let Y=null!=g?g:D,q=(0,s.useMemo)(()=>(function(e,t){let l=t.filter(e=>(null==e?void 0:e.status)==="OPEN"),n=new Set(l.map(e=>String((null==e?void 0:e.botId)||"")).filter(Boolean)),s=new Set(l.map(e=>((null==e?void 0:e.symbol)||"").toUpperCase()).filter(Boolean)),a=[];for(let t of e||[]){if(!t||!1===t.active||"Paused"===t.status||"Closed"===t.status||"deleted"===t.status)continue;let e=t.activeTrade||null,l=!!e,r=function(e){let t=((null==e?void 0:e.verdict)||(null==e?void 0:e.bias)||"").toString().toUpperCase();return"LONG"===t||"BUY"===t?"LONG":"SHORT"===t||"SELL"===t?"SHORT":null}(t);if(l&&!r){let t=null==e?void 0:e.side;"BUY"===t?r="LONG":"SELL"===t&&(r="SHORT")}if(!r)continue;let o=function(e){var t,l;return Number(null!=(l=null!=(t=null==e?void 0:e.tradeLikelihoodScore)?t:null==e?void 0:e.aiConfidence)?l:0)||0}(t);if(!l&&o<50)continue;let i=String(t.symbol||"").toUpperCase(),c=l?Number(null==e?void 0:e.entryPrice)||Number(t.entryPrice)||null:Number(t.entryPrice)||null,d=Number(t.entryZoneMin)||null,m=Number(t.entryZoneMax)||null,u=l?Number(null==e?void 0:e.stopLoss)||Number(t.stopLossPrice)||null:Number(t.stopLossPrice)||null,h=l?Number(null==e?void 0:e.takeProfit)||Number(t.takeProfitPrice)||null:Number(t.takeProfitPrice)||null,x=Number(t.expectedRRR)||null,p=function(e,t){let l=((null==e?void 0:e.lastPulseHeadline)||"").toString().trim();if(l)return l;let n=((null==e?void 0:e.trend)||"").toString(),s=((null==e?void 0:e.wave)||"").toString();return n&&s?"".concat(n," trend \xb7 ").concat(s," wave alignment"):n?"".concat(n," trend"):"".concat("LONG"===t?"Bullish":"Bearish"," setup forming")}(t,r),b=t.lastScan?new Date(t.lastScan).getTime():null;a.push({bot:t,bias:r,score:o,symbol:i,timeframe:String(t.timeframe||""),riskLevel:String(t.riskLevel||"").toLowerCase(),entry:c,entryZone:d&&m?[d,m]:null,stop:u,target:h,rrr:x,reason:p,lastScanAt:b,isGlobal:!!t.isGlobal,marketType:function(e){let t=((null==e?void 0:e.assetType)||(null==e?void 0:e.type)||"").toString().toLowerCase();return t.includes("crypto")?"crypto":t.includes("stock")?"stock":t.includes("forex")?"forex":t.includes("futures")?"futures":"all"}(t),becameTrade:n.has(String(t._id||"")),hasExposure:s.has(i),hasActiveTrade:l,activeTrade:e})}return a.sort((e,t)=>{var l,n;return t.score!==e.score?t.score-e.score:(null!=(l=t.lastScanAt)?l:0)-(null!=(n=e.lastScanAt)?n:0)}),a})(b,Y),[b,Y]),J=(0,s.useMemo)(()=>q.filter(e=>e.hasActiveTrade),[q]),K=(0,s.useMemo)(()=>q.filter(e=>!e.hasActiveTrade),[q]),Q="live"===z?J:K,V=function(e){let t=(0,s.useMemo)(()=>{let t=new Set;for(let l of e)l.symbol&&t.add(l.symbol);return Array.from(t).sort().join(",")},[e]),[l,n]=(0,s.useState)(new Map);return(0,s.useEffect)(()=>{if(!t)return void n(new Map);let e=!1,l=async()=>{try{let l=await fetch("/api/terminal/watchlist?symbols=".concat(encodeURIComponent(t)),{cache:"no-store"});if(!l.ok)return;let s=await l.json();if(e||!Array.isArray(null==s?void 0:s.items))return;let a=new Map;for(let e of s.items){let t=Number(null==e?void 0:e.price);Number.isFinite(t)&&t>0&&a.set(String(e.symbol).toUpperCase(),t)}n(a)}catch(e){}};l();let s=setInterval(()=>{"visible"===document.visibilityState&&l()},1e4);return()=>{e=!0,clearInterval(s)}},[t]),l}(Q),ee=(0,s.useMemo)(()=>{let e=Date.now(),t="24h"===B?e-864e5:"7d"===B?e-6048e5:0;return Q.filter(e=>{if(t>0&&e.lastScanAt&&e.lastScanAt<t||"all"!==P&&e.marketType!==P||"all"!==T&&("long"===T&&"LONG"!==e.bias||"short"===T&&"SHORT"!==e.bias))return!1;if("all"!==M){let t=Number(M);if(e.score<t)return!1}if("all"!==Z&&e.riskLevel!==Z||"all"!==R&&("global"===R&&!e.isGlobal||"personal"===R&&e.isGlobal))return!1;if(I.trim().length>0){let t=I.trim().toUpperCase();if(!e.symbol.includes(t))return!1}return!0})},[Q,P,T,M,Z,R,I,B]),et=(b||[]).filter(e=>(null==e?void 0:e.active)!==!1).length;return(0,n.jsxs)("div",{"data-tour":"signals-page",className:"flex flex-col gap-5 px-4 md:px-6 pt-8 md:pt-10 pb-6 md:pb-8 overflow-y-auto h-full bg-theme-primary max-w-[1200px] mx-auto w-full",children:[(0,n.jsxs)("header",{className:"flex flex-col gap-1.5",children:[(0,n.jsx)("h1",{className:"text-[22px] md:text-[28px] font-bold -tracking-[0.01em] text-theme-primary leading-none",children:"Signals"}),(0,n.jsx)("p",{className:"text-[13px] text-theme-secondary leading-snug",children:"Every verdict the Wiz bots and your own bots reach, as they reach it."})]}),(0,n.jsx)(p.T,{"aria-label":"Signals view",size:"sm",className:"self-start",value:z,onChange:e=>$(e),items:[{id:"live",label:"Live trades",icon:(0,n.jsx)("span",{className:"relative inline-flex w-1.5 h-1.5 rounded-full bg-[#33E89E]","aria-hidden":!0}),badge:(0,n.jsx)("span",{className:"font-mono tabular-nums text-[10px] text-theme-tertiary",children:J.length})},{id:"forming",label:"Forming setups",badge:(0,n.jsx)("span",{className:"font-mono tabular-nums text-[10px] text-theme-tertiary",children:K.length})}]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto md:overflow-visible md:flex-wrap -mx-4 px-4 md:mx-0 md:px-0 scrollbar-none pb-1 md:pb-0",style:{scrollbarWidth:"none"},children:[(0,n.jsx)(h.A,{size:"sm",value:I,onChange:e=>F(e.target.value),placeholder:"Filter by symbol…","aria-label":"Filter signals by symbol",className:"w-44 shrink-0"}),(0,n.jsx)(x.$,{options:[{id:"all",label:"All markets"},{id:"crypto",label:"Crypto"},{id:"stock",label:"Stocks"},{id:"forex",label:"Forex"},{id:"futures",label:"Futures"}],value:P,onChange:e=>O(e),isActive:"all"!==P,width:140,ariaLabel:"Market filter"}),(0,n.jsx)(x.$,{options:[{id:"all",label:"All directions"},{id:"long",label:"Long",startContent:(0,n.jsx)(o.A,{className:"w-3.5 h-3.5 text-[#0cc
1575]",strokeWidth:2.5})},{id:"short",label:"Short",startContent:(0,n.jsx)(i.A,{className:"w-3.5 h-3.5 text-[#ed5572]",strokeWidth:2.5})}],value:T,onChange:e=>X(e),isActive:"all"!==T,width:140,ariaLabel:"Direction filter"}),(0,n.jsx)(x.$,{options:[{id:"all",label:"Any confidence"},{id:"60",label:"60+"},{id:"70",label:"70+"},{id:"80",label:"80+"}],value:M,onChange:e=>_(e),isActive:"all"!==M,width:140,ariaLabel:"Confidence filter"}),(0,n.jsx)(x.$,{options:[{id:"all",label:"All risk"},{id:"low",label:"Low",startContent:(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[#6dd98f] inline-block"})},{id:"medium",label:"Medium",startContent:(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[#FFB020] inline-block"})},{id:"high",label:"High",startContent:(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[#ed5572] inline-block"})}],value:Z,onChange:e=>G(e),isActive:"all"!==Z,width:120,ariaLabel:"Risk filter"}),(0,n.jsx)(x.$,{options:[{id:"all",label:"All sources"},{id:"global",label:"Global"},{id:"personal",label:"My bots"}],value:R,onChange:e=>U(e),isActive:"all"!==R,width:140,ariaLabel:"Source filter"}),(0,n.jsx)(x.$,{options:[{id:"24h",label:"Last 24h"},{id:"7d",label:"Last 7 days"},{id:"all",label:"All time"}],value:B,onChange:e=>W(e),isActive:"24h"!==B,width:140,ariaLabel:"Time window filter"}),("all"!==P||"all"!==T||"all"!==M||"all"!==Z||"all"!==R||"24h"!==B||I.trim().length>0)&&(0,n.jsx)("button",{type:"button",onClick:()=>{O("all"),X("all"),_("all"),G("all"),U("all"),W("24h"),F("")},className:"h-10 px-3 rounded-lg text-[11px] font-bold text-theme-tertiary hover:text-theme-primary hover:bg-white/[0.04] transition-colors inline-flex items-center gap-1.5 shrink-0",children:"Clear filters"})]}),ee.length>0?(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("div",{className:E?"blur-[5px] pointer-events-none select-none":"","aria-hidden":E||void 0,children:(0,n.jsx)(A,{signals:ee,getPrice:e=>{var t;return null!=(t=V.get(e.toUpperCase()))?t:null},isLoggedOut:S,isFollowing:e=>!!(null==f?void 0:f.has(String(e.bot._id))),onOpenChart:v,onOpenPositions:w,onAskKai:N,onSetAlert:k,onCopy:async e=>{if(null==f?void 0:f.has(String(e.bot._id)))return void j();let t=String(e.bot._id);try{let l=await fetch("/api/mt5/follow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"follow",botId:t})});if(403===l.status)return void window.dispatchEvent(new CustomEvent("tw-upgrade-modal",{detail:{requiredPlan:"pro",feature:"copy_from_signals"}}));if(!l.ok)throw Error("Follow failed");window.dispatchEvent(new CustomEvent("tw-toast",{detail:{message:"Following ".concat(e.bot.name||e.symbol,": you get its trades from now on"),type:"success"}})),window.dispatchEvent(new Event("tw-follow-changed"))}catch(e){window.dispatchEvent(new CustomEvent("tw-toast",{detail:{message:"Failed to start copying. Try again",type:"error"}}))}}})}),E&&(0,n.jsx)("div",{className:"absolute inset-0 flex items-center justify-center p-4",children:(0,n.jsxs)("div",{className:"max-w-sm w-full text-center rounded-2xl border border-theme bg-[color-mix(in_oklab,var(--bg-secondary)_95%,transparent)] p-6",children:[(0,n.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.14em] text-theme-tertiary",children:"Pro signals"}),(0,n.jsxs)("h3",{className:"text-[16px] font-bold text-theme-primary -tracking-[0.01em] leading-tight mt-1.5",children:[ee.length," ","live"===z?"live trade".concat(1===ee.length?"":"s"):"forming setup".concat(1===ee.length?"":"s")," ","right now"]}),(0,n.jsx)("p",{className:"text-[12px] text-theme-secondary leading-relaxed mt-1.5",children:"See the exact entry, stop and target on every bot, with its confidence and risk."}),(0,n.jsxs)("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("tw-upgrade-modal")),className:"mt-4 inline-flex items-center gap-1.5 h-10 px-5 rounded-lg bg-[#33E89E] hover:bg-[#33E89E] text-black text-[12px] font-bold transition-colors",children:["Upgrade to Pro ",(0,n.jsx)(c.A,{className:"w-3.5 h-3.5",strokeWidth:2.5})]})]})})]}):(S?(t="live"===z?"Sign in to see live bot trades.":"Sign in to see forming bot setups.",l="The Wiz bots watch their markets and post every trade they take. Sign in to track any of them."):0===Q.length?et>0?(t="live"===z?"No live trades right now. Forming setups are below.":"No setups forming right now. Live trades are above.",l="live"===z?"".concat(et," bot").
1concat(1===et?"":"s"," scanning. A live trade lands here the moment one fires."):"".concat(et," bot").concat(1===et?"":"s"," scanning. A forming setup lands here once conviction crosses 50/100.")):(t="No bots watching the market yet.",l="Copy a global bot or deploy your own. Signals appear here once they fire."):(t="live"===z?"No live trades match these filters.":"No setups match these filters.",l="Try widening the confidence / risk / direction filters."),!S&&0===Q.length&&("live"===z&&K.length>0||"forming"===z&&J.length>0)?u={label:"live"===z?"See ".concat(K.length," forming setup").concat(1===K.length?"":"s"):"See ".concat(J.length," live trade").concat(1===J.length?"":"s"),onClick:()=>$("live"===z?"forming":"live"),icon:null}:!S&&Q.length>0&&0===ee.length&&"24h"===B?u={label:"Check last 7 days",onClick:()=>W("7d"),icon:null}:S||0!==q.length||0!==et||(u={label:"Browse global bots",onClick:j,icon:null}),(0,n.jsx)(m.X,{icon:d.A,headline:t,body:l,primary:u}))]})}}}]);

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.