PageSourceSearch

https://protradejournal.net/_next/static/chunks/8074-7dcf0bebf33eaf8c.js

js protradejournal.net collected 2026-10-08 16:16:09 UTC 17,807 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8074],{2532:function(e,t,l){l.d(t,{a:function(){return o}});var r=l(8442),s=l(60128),a=l(30734),n=l(51733),i=l(86350);function o(e){let{buttonLabel:t,title:l,resetLabel:o,sortLabel:d,sortDirectionLabel:c,ascendingLabel:u,descendingLabel:p,columns:m,visibleColumns:x,onToggle:h,onReset:b,onReorder:g,sortOptions:f,sortColumnId:v,sortDirection:y="desc",onSortColumnChange:j,onSortDirectionChange:w,buttonClassName:N}=e,k=(0,i.j)(),[C,T]=(0,s.useState)(!1),[S,D]=(0,s.useState)(null),Z=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!C)return;let e=e=>{(0,n.r)(Z.current,e.target)||T(!1)},t=e=>{"Escape"===e.key&&T(!1)};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[C]);let F=e=>{if(!g||!S||S===e)return;let t=m.map(e=>e.id),l=t.indexOf(S),r=t.indexOf(e);if(-1===l||-1===r){D(null);return}let s=[...t],[a]=s.splice(l,1);s.splice(r,0,a),g(s),D(null)};return(0,r.jsxs)("div",{className:"relative",ref:Z,children:[(0,r.jsx)("button",{type:"button",className:(0,a.Z)("inline-flex items-center rounded-lg border border-slate-700 px-3 py-1.5 text-xs font-medium text-slate-300 transition hover:border-emerald-400 hover:text-emerald-100",N),"aria-haspopup":"menu","aria-expanded":C,onClick:()=>T(e=>!e),children:t}),C&&(0,r.jsxs)("div",{className:"fixed inset-0 z-[420] flex items-center justify-center p-4 sm:p-6",style:k,children:[(0,r.jsx)("button",{type:"button",className:"absolute inset-0 bg-slate-950/75 backdrop-blur-[2px]","aria-label":"Close",onClick:()=>T(!1)}),(0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":null!=l?l:t,className:"relative z-[121] flex w-full max-w-2xl max-h-[85vh] flex-col rounded-3xl border border-slate-800 bg-slate-950/95 p-4 shadow-2xl shadow-black/60",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsx)("div",{className:"text-xs uppercase tracking-wide text-slate-500",children:null!=l?l:t}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[b&&(0,r.jsx)("button",{type:"button",className:"rounded-full border border-slate-700 px-3 py-1 text-[11px] text-slate-300 transition hover:border-emerald-400 hover:text-emerald-100",onClick:()=>b(),children:null!=o?o:"Reset"}),(0,r.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 items-center justify-center rounded-full border border-slate-700 text-slate-300 transition hover:border-emerald-400 hover:text-emerald-100","aria-label":"Close",onClick:()=>T(!1),children:"\xd7"})]})]}),(null==f?void 0:f.length)&&j?(0,r.jsxs)("div",{className:"mt-4 rounded-2xl border border-slate-800 bg-slate-900/60 p-4",children:[(0,r.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-slate-500",children:null!=d?d:"Sort by"}),(0,r.jsx)("select",{className:"mt-2 w-full rounded-lg border border-slate-700 bg-slate-950 px-3 py-2 text-sm text-slate-100 outline-none transition focus:border-emerald-400",value:null!=v?v:f[0].id,onChange:e=>j(e.target.value),children:f.map(e=>(0,r.jsx)("option",{value:e.id,children:e.label},e.id))}),w?(0,r.jsxs)("div",{className:"mt-3",children:[(0,r.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-slate-500",children:null!=c?c:"Direction"}),(0,r.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:[(0,r.jsx)("button",{type:"button",className:(0,a.Z)("rounded-lg border px-3 py-2 text-xs font-semibold transition","asc"===y?"border-emerald-400 bg-emerald-500/10 text-emerald-100":"border-slate-700 text-slate-300 hover:border-emerald-400 hover:text-emerald-100"),onClick:()=>w("asc"),children:null!=u?u:"Ascending"}),(0,r.jsx)("button",{type:"button",className:(0,a.Z)("rounded-lg border px-3 py-2 text-xs font-semibold transition","desc"===y?"border-emerald-400 bg-emerald-500/10 text-emerald-100":"border-slate-700 text-slate-300 hover:border-emerald-400 hover:text-emerald-100"),onClick:()=>w("desc"),children:null!=p?p:"Descending"})]})]}):null]}):null,(0,r.jsx)("div",{className:"mt-4 overflow-y-auto pr-1",children:(0,r.jsx)("ul",{className:"space-y-2",children:m.map(e=>{var t;let l=null===(t=x[e.id])||void 0===t||t;return(0,r.jsx)("li",{draggable:!!g,onDragStart:()=>D(e.id),onDragOver:e=>{g&&e.preventDefault()},onDrop:t=>{g&&(t.preventDefault(),F(e.id))},onDragEnd:()=>D(null),children:(0,r.jsxs)("label",{className:(0,a.Z)("flex items-center justify-between gap-3 rounded-xl border border-slate-800 bg-slate-900/60 px-3 py-3 text-sm text-slate-200",S===e.id?"opacity-70":""),children:[(0,r.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[g&&(0,r.jsx)("span",{className:"cursor-grab text-slate-500","aria-hidden":"true",children:"☰"}),(0,r.jsx)("span",{className:"truncate",children:e.label})]}
1),(0,r.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-slate-600 bg-slate-900 text-emerald-500 focus:ring-emerald-400",checked:l,onChange:()=>h(e.id)})]})},e.id)})})})]})]})]})}},67577:function(e,t,l){l.d(t,{V:function(){return o}});var r=l(8442),s=l(60128),a=l(30734),n=l(38877),i=l(85451);function o(e){var t,l,o,d,c;let{t:u,locale:p,billing:m,billingLoading:x,subscriptionActive:h,subscriptionPlan:b=null,subscriptionExpiresAt:g,aiEnabled:f,aiFeatureDescription:v}=e,[y,j]=(0,s.useState)("monthly"),w=null!==(t=null==m?void 0:m.monthly_price)&&void 0!==t?t:0,N=null!==(l=null==m?void 0:m.trader_monthly_price)&&void 0!==l?l:w,k=null!==(o=null==m?void 0:m.annual_discount_percent)&&void 0!==o?o:0,C=Math.max(null!==(d=null==m?void 0:m.billing_period_months)&&void 0!==d?d:1,1),T="ru"===p?"ru-RU":"en-US",S=(0,s.useMemo)(()=>new Intl.NumberFormat(T,{style:"currency",currency:"USD",minimumFractionDigits:0,maximumFractionDigits:0}),[T]),D=(0,s.useMemo)(()=>new Intl.NumberFormat(T,{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:2}),[T]),Z=e=>Number.isFinite(e)?(Math.abs(e-Math.round(e))>1e-6?D:S).format(e):"—",F=(e,t,l)=>u(e,t).replace(/\{(\w+)\}/g,(e,t)=>{var r;return null!==(r=l[t])&&void 0!==r?r:""}),L=Z(w),U=Z(N),_=Z(12*(C>0?w/C:w)*(1-k/100)),E=Z(12*(C>0?N/C:N)*(1-k/100)),M=Number.isFinite(k)?"".concat(k.toFixed(0),"%"):"0%",I=1===C?u("upsell.price.monthSuffix","/ month"):u("upsell.price.periodSuffix","/ {months}-month cycle").replace("{months}",C.toString()),O=1===C?u("upsell.price.periodSingle","month"):u("upsell.price.periodMulti","{months} months").replace("{months}",C.toString()),R=1===C?u("upsell.price.frequencyMonthly","Billed monthly. Cancel anytime."):u("upsell.price.frequencyCustom","Billed every {months} months. Cancel anytime.").replace("{months}",C.toString()),z=1===C?u("upsell.billing.monthly","Monthly"):u("upsell.billing.periodToggle","{months} months").replace("{months}",C.toString()),B=null!==(c=null==b?void 0:b.trim().toLowerCase())&&void 0!==c?c:"",P=B.includes("trading")||B.includes("trader"),q=g&&!Number.isNaN(new Date(g).getTime())?new Date(g).toLocaleDateString("ru"===p?"ru-RU":"en-US",{year:"numeric",month:"short",day:"numeric",timeZone:"UTC"}):null,A=[{key:"session",label:u("upsell.free.item1","Journal for the current session"),free:!0,description:u("upsell.free.item1.desc")},{key:"analytics",label:u("upsell.pro.item3","Trading journal & analytics"),free:!1,pro:!0,trading:!0,description:u("upsell.pro.item3.desc")},...f?[{key:"ai",label:u("upsell.pro.item6","AI trade coach (ChatGPT)"),free:!1,pro:!0,trading:!0,description:v}]:[],{key:"recording",label:u("upsell.pro.item7","Built-in screen recording"),free:!1,pro:!0,trading:!0,description:u("upsell.pro.item7.desc")},...f?[{key:"voice",label:u("upsell.pro.item8","Voice-to-text in the Text tool"),free:!1,pro:!0,trading:!0,description:u("upsell.pro.item8.desc")}]:[],{key:"roadmap",label:u("upsell.pro.item4","Custom feature delivery"),free:!1,pro:!0,trading:!0,description:u("upsell.pro.item4.desc")},{key:"backup",label:u("upsell.pro.item5","CSV journal import & export"),free:!1,pro:!0,trading:!0,description:u("upsell.pro.item5.desc")},{key:"real-trading",label:u("upsell.trading.item1","Real trading with exchange connection"),free:!1,pro:!1,trading:!0,description:u("upsell.trading.item1.desc","Connect a crypto exchange token and use the trading workspace for real market execution flows.")},{key:"trading-robots",label:u("upsell.trading.item3","Trading robots"),free:!1,pro:!1,trading:!0,description:u("upsell.trading.item3.desc","Connect, configure, and run trading robots with an active Trading subscription.")},{key:"telegram-trading-alerts",label:u("upsell.trading.item2","Telegram trading alerts"),free:!1,pro:!1,trading:!0,description:u("upsell.trading.item2.desc","Connect Telegram to receive triggered price alerts, position notifications, strong market move alerts, and daily trading stats.")}],J="monthly"===y?F("upsell.price.monthly","".concat(L," ").concat(I),{price:L,period:O,cycle:I}):F("upsell.price.annual","".concat(_," / year"),{price:_,discount:M}),V="monthly"===y?F("upsell.price.monthly.note",R,{period:O,discount:M}):F("upsell.price.annual.note","Save ".concat(M," vs paying every ").concat(O),{price:L,discount:M,period:O}),G="monthly"===y?F("upsell.price.monthly","".concat(U," ").concat(I
1),{price:U,period:O,cycle:I}):F("upsell.price.annual","".concat(E," / year"),{price:E,discount:M}),K="monthly"===y?F("upsell.price.monthly.note",R,{period:O,discount:M}):F("upsell.price.annual.note","Save ".concat(M," vs paying every ").concat(O),{price:U,discount:M,period:O}),H=u("upsell.table.yes","Included"),Q=u("upsell.table.no","Not available"),W=e=>{let{title:t,activeTitle:l,labelColorClass:s,borderClass:i,shadowClass:o,active:d,priceText:c,noteText:m,ctaLabel:b}=e;return(0,r.jsxs)("div",{className:(0,a.Z)("flex flex-col gap-4 rounded-2xl bg-slate-950/80 p-5 shadow-lg",i,o,!h&&"mt-5"),children:[(0,r.jsxs)("div",{className:(0,a.Z)(d&&"flex flex-col gap-3 md:flex-row md:items-start md:justify-between"),children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:(0,a.Z)("text-sm uppercase tracking-wide",s),children:t}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap items-baseline gap-3",children:[(0,r.jsx)("p",{className:"text-3xl font-semibold text-white",children:d?l:c}),!d&&(0,r.jsx)("span",{className:(0,a.Z)("text-xs uppercase tracking-wide",s),children:m})]}),d&&(0,r.jsx)("p",{className:"text-sm text-slate-300",children:q?u("upsell.status.expires","Renews on {date}").replace("{date}",q):u("upsell.status.expiresUnknown","Renewal date: unknown")}),x&&!d&&(0,r.jsx)("p",{className:"text-xs text-slate-500",children:u("upsell.loading","Fetching current prices…")})]}),d&&(0,r.jsx)(n.default,{href:"ru"===p?"/ru/account":"/account",prefetch:!1,className:"inline-flex shrink-0 items-center justify-center rounded-xl border border-slate-700 px-5 py-2 text-sm font-semibold text-slate-200 transition hover:border-emerald-500 hover:text-emerald-200",children:u("upsell.status.manageCta","Manage subscription")})]}),d?null:(0,r.jsxs)("div",{className:"mt-4 flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,r.jsxs)("div",{className:"flex gap-2 rounded-full border border-slate-700 p-1 text-xs font-semibold uppercase tracking-wide text-slate-200",children:[(0,r.jsx)("button",{type:"button",className:(0,a.Z)("rounded-full px-3 py-1 transition","monthly"===y?"bg-emerald-500/20 text-emerald-100":"text-slate-400 hover:text-slate-100"),onClick:()=>j("monthly"),children:z}),(0,r.jsx)("button",{type:"button",className:(0,a.Z)("rounded-full px-3 py-1 transition","annual"===y?"bg-emerald-500/20 text-emerald-100":"text-slate-400 hover:text-slate-100"),onClick:()=>j("annual"),children:u("upsell.billing.annual","Annual")})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2 md:items-end",children:[(0,r.jsx)(n.default,{href:"ru"===p?"/ru/upgrade":"/upgrade",prefetch:!1,className:"inline-flex w-full items-center justify-center rounded-xl bg-emerald-500 px-6 py-2 text-sm font-semibold text-emerald-950 transition hover:bg-emerald-400 md:w-auto",children:b}),(0,r.jsx)("p",{className:"text-center text-xs text-slate-400 md:text-right",children:u("upsell.cta.note","Priority onboarding included")})]})]})]})},X=W({title:u("upsell.pro.title","Pro subscription"),activeTitle:u("upsell.status.active","Pro access active"),labelColorClass:"text-emerald-300",borderClass:"border border-emerald-500/40",shadowClass:"shadow-emerald-500/20",active:h&&!P,priceText:J,noteText:V,ctaLabel:u("upsell.cta","Upgrade access")}),Y=W({title:u("upsell.trading.title","Trading subscription"),activeTitle:u("upsell.trading.active","Trading access active"),labelColorClass:"text-sky-300",borderClass:"border border-sky-500/40",shadowClass:"shadow-sky-500/20",active:h&&P,priceText:G,noteText:K,ctaLabel:u("upsell.trading.cta","Upgrade to Trading")});return h?P?Y:X:(0,r.jsxs)("section",{className:"w-full rounded-2xl border border-slate-800 bg-slate-900/40 p-5",children:[!h&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-wide text-emerald-300",children:u("upsell.title","Unlock full analytics")}),(0,r.jsx)("div",{className:"text-2xl font-semibold text-white",children:u("upsell.subtitle","Benefits of paid access")})]})}),(0,r.jsxs)("div",{className:"mt-5 overflow-hidden rounded-2xl border border-slate-800 bg-slate-950/40",children:[(0,r.jsxs)("div",{className:"flex flex-nowrap items-center text-xs uppercase tracking-wide text-slate-400",children:[(0,r.jsx)("span",{className:"flex-1 px-4 py-3 font-semibold",children:u("upsell.table.feature","Journal feature")}),(0,r.jsx)("span",{className:"ml-auto w-[90px] px-4 py-3 text-center font-semibold",children:u("upsell.table.free","Free tester")}),(0,r.jsx)("span",{className:"w-[90px] px-4 py-3 text-center font-semibold",children:u("upsell.table.pro","Pro")}),(0,r.jsx)("span",{className:"w-[90px] px-4 py-3 text-center font-semibold",children:u("upsell.table.trading","Trading")})]}),(0,r.jsx)("div",{className:"divide-y divide-slate-900/60",children:A.map(e=>(0,r.jsxs)("details",{className:"group",children:[(0,r.jsxs)("summary",{className:"flex cursor-pointer list-none flex-wrap items-center gap-3 px-4 py-3 transition hover:bg-slate-900/40 lg:pr-0",children:[(0,r.jsxs)("div",{className:"flex min-w-[220px] flex-1 items-center gap-3 text-left",children:[(0,r.jsx)("span",{className:"text-base text-slate-400 transition group-open:-rotate-180","aria-hidden":"true",children:"⌃"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-white",children:e.label})]}),(0,r.jsxs)("div",{className:"ml-auto flex items-center gap-4",children:[(0,r.jsx)("div",{className:"flex w-[70px] items-center justify-center",children:(0,r.jsx)(i.l,{name:e.free?"icon-yes":"icon-no",size:20,className:(0,a.Z)("text-emerald-300",!e.free&&"opacity-30"),ariaLabel:e.free?H:Q})}),(0,r.jsx)("div",{className:"flex w-[70px] items-center justify-center",children:(0,r.jsx)(i.l,{name:!1===e.pro?"icon-no":"icon-yes",size:20,className:(0,a.Z)("text-emerald-300",!1===e.pro&&"opacity-30"),ariaLabel:!1===e.pro?Q:H})}),(0,r.jsx)("div",{className:"flex w-[70px] items-center justify-center",children:(0,r.jsx)(i.l,{name:!1===e.trading?"icon-no":"icon-yes",size:20,className:(0,a.Z)("text-sky-300",!1===e.trading&&"opacity-30"),ariaLabel:!1===e.trading?Q:H})})]})]}),(0,r.jsx)("div",{className:"px-4 pb-4 text-sm text-slate-300",children:e.description||u("upsell.loading","Details not available yet.")})]},e.key))})]})]}),(0,r.jsxs)("div",{className:"grid gap-5 lg:grid-cols-2",children:[X,Y]})]})}},9665:function(e,t,l){l.d(t,{K:function(){return p},q:function(){return c}});var r=l(54090),s=l(52333);let a={time:!0,startTime:!1,testingDate:!1,symbol:!0,direction:!0,portion:!0,strategy:!0,timeframes:!0,entry:!0,exit:!0,favorable:!0,pnl:!0,comment:!0,snapshot:!0},n={date:!0,startTime:!1,testingDate:!1,symbol:!0,name:!1,timeframes:!0,direction:!0,portion:!0,entry:!0,exit:!0,favorable:!0,pnl:!0,strategy:!0,source:!1,comment:!0,snapshot:!0,actions:!0},i={preview:a,trades:n},o={preview:Object.keys(a),trades:Object.keys(n)},d={preview:null,trades:{columnId:"date",direction:"desc"}},c=e=>({...i[e]}),u=(e,t,l,r)=>Object.values({...i[e],...t,[l]:r}).some(Boolean),p=(0,r.F)()((0,s.tJ)((e,t)=>({columns:{preview:c("preview"),trades:c("trades")},order:{preview:o.preview,trades:o.trades},sort:{preview:d.preview,trades:d.trades},toggleColumn:(t,l)=>{e(e=>{var r,s,a;let n=null!==(r=e.columns[t])&&void 0!==r?r:{},o=i[t],d=!(null===(a=null!==(s=n[l])&&void 0!==s?s:o[l])||void 0===a||a);return u(t,n,l,d)?{columns:{...e.columns,[t]:{...n,[l]:d}}}:e})},resetColumns:t=>{e(e=>({columns:{...e.columns,[t]:c(t)},order:{...e.order,[t]:o[t]},sort:{...e.sort,[t]:d[t]}}
1))},setColumnOrder:(t,l)=>{e(e=>{let r=l.filter(e=>o[t].includes(e)),s=o[t].filter(e=>!r.includes(e));return{order:{...e.order,[t]:[...r,...s]}}})},setSort:(t,l)=>{e(e=>({sort:{...e.sort,[t]:l}}))}}),{name:"journal-table-columns",version:4,migrate:(e,t)=>{var l,r,s,a;let n=null!=e?e:{},c={};for(let e of["preview","trades"]){let t=null!==(r=null===(l=n.columns)||void 0===l?void 0:l[e])&&void 0!==r?r:{};c[e]={...i[e],...t}}let u={};for(let e of["preview","trades"]){let t=null===(s=n.order)||void 0===s?void 0:s[e];if(null==t?void 0:t.length){let l=t.filter(t=>o[e].includes(t)),r=o[e].filter(e=>!l.includes(e));u[e]=[...l,...r]}else u[e]=o[e]}let p={};for(let e of["preview","trades"]){let t=null===(a=n.sort)||void 0===a?void 0:a[e];t&&"string"==typeof t.columnId&&o[e].includes(t.columnId)&&("asc"===t.direction||"desc"===t.direction)?p[e]=t:p[e]=d[e]}return{columns:c,order:u,sort:p}},partialize:e=>({columns:e.columns,order:e.order,sort:e.sort})}))}}]);

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.