PageSourceSearch

https://www.fxgrow.com/_next/static/chunks/1446.508ca2891cbc317f.js

js fxgrow.com collected 2026-10-08 16:42:38 UTC 14,937 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1446],{4913:(e,t,a)=>{a.d(t,{O:()=>c,d:()=>u});var s=a(37876),r=a(24708),l=a(47137),n=a(14232),d=a(8291);let o=(0,l.F)((0,d.cn)("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium cursor-pointer uppercase tracking-wide transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50"),{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm"},size:{default:"h-11 min-h-11 px-3",sm:"h-9 min-h-9 px-2",lg:"h-13 min-h-13 px-5"},tone:{default:"hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-muted data-[state=on]:text-foreground",buy:"text-green-700 data-[state=on]:bg-green-50 data-[state=off]:bg-white",sell:"text-red-600 data-[state=on]:bg-red-50 data-[state=off]:bg-white"}},defaultVariants:{variant:"default",size:"default",tone:"default"}}),i=n.createContext({size:"default",variant:"default"}),c=n.forwardRef((e,t)=>{let{className:a,variant:l,size:n,children:o,...c}=e,u="string"==typeof c.value?c.value:void 0;return(0,s.jsx)(r.bL,{ref:t,className:(0,d.cn)("flex w-full items-center justify-center rounded-xl border border-input",a),...c,children:(0,s.jsx)(i.Provider,{value:{variant:l,size:n,activeValue:u},children:o})})});c.displayName=r.bL.displayName;let u=n.forwardRef((e,t)=>{var a;let{className:l,variant:c,size:u,tone:p,...g}=e,x=n.useContext(i),m=null!=(a=null!=p?p:x.tone)?a:"default",f="buy"===m||"sell"===m,h=x.activeValue,b="sell"===m?"border border-red-600 border-r-0":"buy"===m?(0,d.cn)("border border-green-700 -ml-px","sell"===h?"border-l-red-600":"border-l-green-700"):"";return(0,s.jsx)(r.q7,{ref:t,className:(0,d.cn)(o({variant:x.variant||c,size:x.size||u,tone:m}),"flex-1",f?(0,d.cn)("rounded-none first:rounded-l-xl last:rounded-r-xl",b):"rounded-none border-none first:rounded-l-xl last:rounded-r-xl",l),...g})});u.displayName=r.q7.displayName},26921:(e,t,a)=>{a.d(t,{jK:()=>o,pi:()=>i,wU:()=>d});var s=a(94184);let r={create:"Created successfully",update:"Updated successfully",delete:"Deleted successfully",save:"Saved successfully"},l={create:"Failed to create",update:"Failed to update",delete:"Failed to delete",save:"Failed to save"};function n(e,t){return("string"==typeof e?e.trim():"")||t}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"save";s.oR.success({description:n(e,r[t])})}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"save";s.oR.error({description:n(e,l[t])})}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"save";o(function(e){if(!e)return;let t="string"==typeof e.message?e.message.trim():"";return t||("string"==typeof e.error?e.error.trim():"")||void 0}(e),t)}},72047:(e,t,a)=>{a.d(t,{Fc:()=>o,TN:()=>i});var s=a(37876),r=a(47137),l=a(14232),n=a(8291);let d=(0,r.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",success:"border-green-200 bg-green-50 text-green-800",warning:"border-amber-200 bg-amber-50 text-amber-900"}},defaultVariants:{variant:"default"}}),o=l.forwardRef((e,t)=>{let{className:a,variant:r,...l}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,n.cn)(d({variant:r}),a),...l})});o.displayName="Alert",l.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("h5",{ref:t,className:(0,n.cn)("mb-1 font-medium leading-none tracking-tight",a),...r})}).displayName="AlertTitle";let i=l.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("text-sm [&_p]:leading-relaxed",a),...r})});i.displayName="AlertDescription"},91446:(e,t,a)=>{a.r(t),a.d(t,{default:()=>m});var s=a(37876),r=a(14232),l=a(72047),n=a(26283),d=a(91725),o=a(4913),i=a(26921),c=a(35265),u=a(19096),p=a(95341);function g(e){var t,a;let{entry:r,locale:l,isConfigured:n=!0,onChange:d,onRemove:o}
1=e,i=(0,c.sn)(),u=null!=(t=r.locales[l])?t:{title:"",description:"",keywords:""},p="ar"===l?"rtl":"ltr",g=(e,t)=>{d({...r,locales:{...r.locales,[l]:{...u,[e]:t}}})};return r.canonicalPath?"".concat(i.origin).concat(r.canonicalPath):"".concat(i.origin).concat(r.pagePath),(0,s.jsxs)("div",{className:"rounded-lg border border-gray-200 bg-gray-50 p-4",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[!n&&(0,s.jsx)("p",{className:"text-xs text-gray-500",children:"No SEO saved yet — fill in fields and save."}),n&&r.updatedAt&&(0,s.jsxs)("span",{className:"text-[10px] text-gray-400",children:["Updated ",new Date(r.updatedAt).toLocaleDateString(),r.updatedBy?" by ".concat(r.updatedBy):""]})]}),n&&(0,s.jsx)("button",{type:"button",onClick:o,className:"text-xs text-red-500 hover:text-red-700",children:"Remove"})]}),(0,s.jsx)("div",{className:"grid gap-3 md:grid-cols-1",dir:p,children:(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("fieldset",{children:[(0,s.jsxs)("label",{className:"mb-1 block text-xs font-medium text-gray-600",children:["Title (",l.toUpperCase(),")"]}),(0,s.jsx)("input",{type:"text",dir:p,lang:l,value:u.title,onChange:e=>g("title",e.target.value),placeholder:"Page title for search engines",className:"w-full rounded border border-gray-300 px-3 py-1.5 text-sm focus:border-blue-500 focus:outline-none"}),(0,s.jsxs)("p",{className:"mt-0.5 text-[10px] text-gray-400",children:[u.title.length,"/60 chars"]})]}),(0,s.jsxs)("fieldset",{children:[(0,s.jsxs)("label",{className:"mb-1 block text-xs font-medium text-gray-600",children:["Description (",l.toUpperCase(),")"]}),(0,s.jsx)("textarea",{dir:p,lang:l,value:u.description,onChange:e=>g("description",e.target.value),placeholder:"Meta description for search engines",rows:3,className:"w-full rounded border border-gray-300 px-3 py-1.5 text-sm focus:border-blue-500 focus:outline-none"}),(0,s.jsxs)("p",{className:"mt-0.5 text-[10px] text-gray-400",children:[u.description.length,"/160 chars"]})]}),(0,s.jsxs)("fieldset",{children:[(0,s.jsxs)("label",{className:"mb-1 block text-xs font-medium text-gray-600",children:["Keywords (",l.toUpperCase(),")"]}),(0,s.jsx)("input",{type:"text",dir:p,lang:l,value:null!=(a=u.keywords)?a:"",onChange:e=>g("keywords",e.target.value),placeholder:"keyword1, keyword2, keyword3",className:"w-full rounded border border-gray-300 px-3 py-1.5 text-sm focus:border-blue-500 focus:outline-none"})]})]})})]})}var x=a(98518);function m(){var e;let t=(0,c.sn)(),[a,m]=(0,r.useState)({version:1,pages:[]}),[f,h]=(0,r.useState)(!0),[b,v]=(0,r.useState)(!1),[y,j]=(0,r.useState)(""),[N,w]=(0,r.useState)("en"),[B,S]=(0,r.useState)(null!=(e=p.Z[0])?e:"/"),[k,C]=(0,r.useState)(""),P=(0,r.useMemo)(()=>(0,u.$R)(t.origin,N,B,t.defaultLocale),[t.defaultLocale,t.origin,N,B]),O=(0,r.useCallback)(async()=>{try{h(!0),j("");let e=await fetch("/api/admin/page-seo");if(!e.ok)throw Error("Failed to load page SEO data");let t=await e.json();m(t)}catch(e){j(e instanceof Error?e.message:"Failed to load")}finally{h(!1)}},[]);(0,r.useEffect)(()=>{O()},[O]);let E=(0,r.useMemo)(()=>new Set(a.pages.map(e=>e.pagePath)),[a.pages]),R=(0,r.useMemo)(()=>new Set(p.Z),[]),A=(0,r.useMemo)(()=>a.pages.map(e=>e.pagePath).filter(e=>!R.has(e)),[a.pages,R]),F=(0,r.useMemo)(()=>{let e=a.pages.find(e=>e.pagePath===B);return null!=e?e:function(e){let t={title:"",description:""};return{pagePath:e,locales:{en:{...t},ar:{...t}},updatedAt:new Date().toISOString()}}(B)},[a.pages,B]),M=E.has(B),z=async()=>{v(!0),j("");try{let e=await fetch("/api/admin/page-seo",{method:"PUT",headers:{"Content-Type":"application/json","X-Admin-Username":sessionStorage.getItem("adminUsername")||""},body:JSON.stringify(a)}),t=await e.json();e.ok?(m(t),(0,i.wU)("SEO data saved for ".concat(t.pages.length," page(s)"),"save")):(0,i.pi)(t,"save")}catch(e){(0,i.jK)("Failed to save SEO data","save")}finally{v(!1)}};return f?(0,s.jsx)(d.Zp,{className:"mx-auto max-w-7xl p-6",children:(0,s.jsx)("p",{className:"text-center text-sm text-gray-500",children:"Loading page SEO data..."})}):(0,s.jsxs)(d.Zp,{className:"mx-auto max-w-7xl gap-0 border-gray-200 p-4 shadow-sm md:p-6",children:[(0,s.jsxs)("div",{className:"mb-4 space-y-1",children:[(0,s.jsx)("h1",{className:"text-xl font-bold text-gray-900",children:"Page SEO Manager"}),(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"Select a page from the sidebar to manage its SEO meta tags, titles, descriptions, and Open Graph data. Changes are saved per domain."})]}),y&&(0,s.jsx)(l.Fc,{variant:"destructive",className:"mb-4",children:(0,s.jsx)(l.TN,{children:y})}),(0,s.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:gap-6",children:[(0,s.jsx)(x.A,{groups:p.t,selectedPath:B,onSelect:S,configuredPaths:E,filter:k,onFilterChange:C,orphanPaths:A}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-2",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("code",{className:"rounded bg-gray-100 px-2 py-0.5 text-sm font-semibold text-gray-800",children:B}),(0,s.jsx)("a",{href:P,target:"_blank",rel:"noopener noreferrer",className:"text-xs font-medium text-blue-600 hover:text-blue-800 hover:underline",children:"Open page ↗"})]}),(0,s.jsxs)(o.O,{type:"single",value:N,onValueChange:e=>{("en"===e||"ar"===e)&&w(e)},className:"h-9",children:[(0,s.jsx)(o.d,{value:"en",size:"sm",className:"text-xs",children:"English"}),(0,s.jsx)(o.d,{value:"ar",size:"sm",className:"text-xs",children:"العربية"})]})]}),(0,s.jsx)(g,{entry:F,locale:N,isConfigured:M,onChange:e=>{m(t=>{let a=t.pages.findIndex(t=>t.pagePath===e.pagePath),s={...e,updatedAt:new Date().toISOString()};return a>=0?{...t,pages:t.pages.map((e,t)=>t===a?s:e)}:{...t,pages:[...t.pages,s]}})},onRemove:()=>{confirm('Remove SEO entry for "'.concat(B,"\"? This won't delete the page itself."))&&m(e=>({...e,pages:e.pages.filter(e=>e.pagePath!==B)}))}},B)]})]}),(0,s.jsxs)("div",{className:"mt-4 flex items-center justify-between border-t border-gray-200 pt-4",children:[(0,s.jsxs)("p",{className:"text-xs text-gray-400",children:[E.size," of ",p.Z.length," known page",1!==p.Z.length?"s":""," configured",A.length>0&&" \xb7 ".concat(A.length," other saved")]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(n.$,{type:"button",variant:"outline",size:"sm",onClick:O,disabled:b,children:"Reset"}),(0,s.jsx)(n.$,{type:"button",size:"sm",onClick:z,disabled:b,children:b?"Saving...":"Save all changes"})]})]})]})}},91725:(e,t,a)=>{a.d(t,{Wu:()=>o,Zp:()=>n,aR:()=>d});var s=a(37876),r=a(14232),l=a(8291);let n=r.forwardRef((e,t)=>
1{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("rounded-xl border border-input bg-gray-50 text-card-foreground shadow-xs",a),...r})});n.displayName="Card";let d=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",a),...r})});d.displayName="CardHeader";let o=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("p-4 pt-0",a),...r})});o.displayName="CardContent"},95341:(e,t,a)=>{a.d(t,{Z:()=>l,t:()=>r});var s=a(99425);let r=[{label:"Homepage",paths:["/"]},{label:"Trading",paths:[s.Bd.marketInstruments,s.Bd.mt5MobileDesktop,s.Bd.tradingHours,s.Bd.holidays,s.Bd.cfdsExpiration,s.Bd.bursaPlus]},{label:"Tools & Services",paths:[s.Bd.economicCalendar,s.Bd.calculator,"".concat(s.Bd.calculator,"/profit-loss-calculator"),"".concat(s.Bd.calculator,"/pip-value-calculator"),"".concat(s.Bd.calculator,"/stop-loss-take-profit-calculator"),"".concat(s.Bd.calculator,"/swap-calculator"),s.Bd.tradingCentral,s.Bd.depositWithdraws]},{label:"Education",paths:[s.Bd.educationalAcademy,s.Bd.faq,s.Bd.glossary]},{label:"Company",paths:[s.Bd.company,s.Bd.awards,s.Bd.regulations,s.Bd.safetyOfFunds,s.Bd.interestOfBalance,s.Bd.contact,s.Bd.blogs,s.Bd.companyNews,s.Bd.careers]},{label:"Partnerships",paths:[s.Bd.ibsAndAffiliates,s.Bd.institutional,s.Bd.ibsOnboardingWorkshop]},{label:"Legal & Compliance",paths:[s.Bd.legalDocuments,s.Bd.complaints,s.Bd.compliantCookiesPolicy,s.Bd.disclosureAndMarketDiscipline,s.Bd.executionQualitySummary,s.Bd.rts27]}],l=r.flatMap(e=>e.paths)},98518:(e,t,a)=>{a.d(t,{A:()=>i});var s=a(37876),r=a(14232),l=a(95341);function n(e,t){return!t||e.toLowerCase().includes(t.toLowerCase())}function d(e){let{path:t,isSelected:a,isConfigured:r,onSelect:l}=e;return(0,s.jsxs)("button",{type:"button",onClick:l,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors ".concat(a?"bg-blue-50 font-medium text-blue-900":r?"text-gray-800 hover:bg-gray-100":"text-gray-500 hover:bg-gray-50"),children:[(0,s.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full ".concat(r?"bg-green-500":"bg-gray-300"),"aria-hidden":!0}),(0,s.jsx)("span",{className:"truncate font-mono",children:t})]})}function o(e){let{label:t,paths:a,selectedPath:r,configuredPaths:l,onSelect:n}=e;return 0===a.length?null:(0,s.jsxs)("div",{className:"mb-3",children:[(0,s.jsx)("p",{className:"mb-1 px-2 text-[10px] font-semibold uppercase tracking-wide text-gray-400",children:t}),(0,s.jsx)("ul",{className:"space-y-0.5",children:a.map(e=>(0,s.jsx)("li",{children:(0,s.jsx)(d,{path:e,isSelected:r===e,isConfigured:l.has(e),onSelect:()=>n(e)})},e))})]})}function i(e){let{groups:t,selectedPath:a,onSelect:d,configuredPaths:i,filter:c,onFilterChange:u,orphanPaths:p=[]}=e,g=(0,r.useMemo)(()=>t.map(e=>({...e,paths:e.paths.filter(e=>n(e,c))})).filter(e=>e.paths.length>0),[t,c]),x=(0,r.useMemo)(()=>p.filter(e=>n(e,c)),[p,c]),m=g.length>0||x.length>0;return(0,s.jsxs)("aside",{className:"flex w-full flex-col border-gray-200 lg:w-64 lg:shrink-0 lg:border-r lg:pr-4",children:[(0,s.jsx)("div",{className:"mb-3",children:(0,s.jsx)("input",{type:"text",value:c,onChange:e=>u(e.target.value),placeholder:"Filter pages...",className:"w-full rounded border border-gray-300 px-3 py-1.5 text-sm focus:border-blue-500 focus:outline-none"})}),(0,s.jsxs)("nav",{className:"max-h-64 overflow-y-auto lg:max-h-[calc(100vh-18rem)]","aria-label":"Page SEO navigation",children:[g.map(e=>(0,s.jsx)(o,{label:e.label,paths:e.paths,selectedPath:a,configuredPaths:i,onSelect:d},e.label)),x.length>0&&(0,s.jsx)(o,{label:"Saved (other)",paths:x,selectedPath:a,configuredPaths:i,onSelect:d}),!m&&(0,s.jsxs)("p",{className:"px-2 py-4 text-center text-xs text-gray-400",children:['No pages match "',c,'"']})]}),(0,s.jsxs)("p",{className:"mt-3 hidden border-t border-gray-100 pt-3 text-[10px] text-gray-400 lg:block",children:[i.size," of ",l.Z.length+p.length," ","configured"]})]})}}}]);

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.