PageSourceSearch

https://www.marketninja.ai/_next/static/chunks/3803-0d9fb36eb41f1251.js

js marketninja.ai collected 2026-10-05 13:36:58 UTC 13,155 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]="ec995c81-46b9-41a6-845f-4f0c922122c6",e._sentryDebugIdIdentifier="sentry-dbid-ec995c81-46b9-41a6-845f-4f0c922122c6")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3803],{8094:(e,t,n)=>{n.d(t,{PK:()=>d,Vw:()=>f,zz:()=>c});var r=n(95155),i=n(12115),s=n(20063),o=n(25949),l=n(95680),a=n(54086);let u=(0,i.createContext)(null);function d(e){var t;let{children:n}=e,i=(0,s.useParams)(),d="string"==typeof(null==i?void 0:i.businessId)?i.businessId:void 0,c=d&&(0,l.a8)(d)?d:null!=(t=(0,a.SA)())?t:void 0,f=d&&!(0,l.a8)(d)?d:void 0,m=(0,o.U)({persistAcrossPages:!0,businessId:d,businessUuid:c,businessSlug:f});return(0,r.jsx)(u.Provider,{value:m,children:n})}function c(){let e=(0,i.useContext)(u);if(!e)throw Error("useBusinessChatbot must be used within BusinessChatbotProvider");return e}function f(){let e=(0,i.useContext)(u);return e||{isOpen:!1,backgroundJobs:[],backgroundProgress:null,clearBackgroundProgress:()=>{},clearBackgroundJob:()=>{},setBackgroundProgressGenerating:()=>{},setBackgroundProgressComplete:()=>{},completeProgress:()=>{},minimizeChatbot:()=>{}}}},24183:(e,t,n)=>{n.d(t,{FL:()=>g,Nn:()=>p,gg:()=>i,ij:()=>f,lK:()=>l});var r=n(54086);let i="page-builder-section-generation-progress-changed",s="Creating section";function o(e){return"page-builder-section-generation:".concat(e)}function l(e){return e.id.startsWith("page-builder-section-generation:")}let a=new Map,u=new Map;function d(e){window.dispatchEvent(new CustomEvent(i,{detail:{businessId:e}}))}function c(e,t){return[e,null==t?void 0:t.trim()].filter((e,t,n)=>!!e&&n.indexOf(e)===t)}function f(e){var t;if(!e.trim())return null;if(a.has(e)){if(!a.get(e))return null}else if(!function(e){let t=(0,r.AG)(e).find(t=>t.id===o(e)&&"generating"===t.status);return t?(a.set(e,!0),t.startedAt&&u.set(e,t.startedAt),!0):(a.set(e,!1),!1)}(e))return null;return{id:o(e),title:s,status:"generating",completeButtonText:"Dismiss",startedAt:null!=(t=u.get(e))?t:Date.now()}}function m(e,t){let n=c(e,t);for(let e of n)a.set(e,!1),u.delete(e);for(let i of(a.set(e,!1),u.delete(e),function(e,t){let n=c(e,t),r=new Set;for(let e of n)r.add(o(e));return r.add(o(e)),Array.from(r)}(e,t)))(0,r.mg)(n,i);for(let e of n)for(let t of(0,r.AG)(e))l(t)&&(0,r.IC)(e,t.id);for(let e of n)d(e);n.includes(e)||d(e)}function g(e,t){m(e,t)}async function p(e){let{slugKey:t,apiBusinessId:n,generate:i}=e;if(!t.trim())return void await i();var l=t,c=n;m(l,c);
1let f=Date.now();a.set(l,!0),u.set(l,f),(null==c?void 0:c.trim())&&c.trim()!==l&&(a.set(c.trim(),!0),u.set(c.trim(),f));let g={id:o(l),title:s,status:"generating",completeButtonText:"Dismiss",startedAt:f};(0,r.OJ)(l,g),(null==c?void 0:c.trim())&&c.trim()!==l&&(0,r.OJ)(c.trim(),{...g,id:o(c.trim())}),d(l),(null==c?void 0:c.trim())&&d(c.trim());try{await i()}finally{m(t,n)}}},55406:(e,t,n)=>{n.d(t,{B2:()=>s,KA:()=>o,aJ:()=>i});var r=n(3941);function i(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}async function s(e){var t;let{data:n,error:s}=await r.supabase.from("businesses").select("id, business_name, slug").eq(i(e)?"id":"slug",e).single();if(s){if("PGRST116"===s.code)throw Error("Business '".concat(e,"' not found. This could be due to: 1) Business doesn't exist, 2) Business is deleted, or 3) You don't have permission to access it (RLS policy blocking)."));throw Error("Business not found for identifier: ".concat(e))}if(!(null==n?void 0:n.id))throw Error("Business not found for identifier: ".concat(e));return{id:n.id,businessName:(null==n||null==(t=n.business_name)?void 0:t.trim())||null}}async function o(e){if(i(e))return e;let{data:t,error:n}=await r.supabase.from("businesses").select("id, business_name, slug").eq("slug",e).single();if(n&&console.error("Business lookup error:",{slug:e,errorCode:n.code,errorMessage:n.message,errorDetails:n.details,errorHint:n.hint,rawError:JSON.stringify(n)}),t||console.error("No business data returned:",{slug:e,hasError:!!n,errorCode:null==n?void 0:n.code}),!n&&t)return t.id;if((null==n?void 0:n.code)==="PGRST116")throw Error("Business '".concat(e,"' not found. This could be due to: 1) Business doesn't exist, 2) Business is deleted, or 3) You don't have permission to access it (RLS policy blocking)."));throw Error("Business not found for identifier: ".concat(e))}},65998:(e,t,n)=>{n.d(t,{FixedChatbotProvider:()=>o,V:()=>s});var r=n(95155),i=n(12115);let s=(0,i.createContext)({onClickRef:{current:null},setOnClick:()=>{},isModalOpen:!1,setIsModalOpen:()=>{}});function o(e){let{children:t}=e,n=(0,i.useRef)(null),[o,l]=(0,i.useState)(!1),a=(0,i.useRef)(0),u=(0,i.useCallback)(e=>{n.current=e},[]),d=(0,i.useCallback)(e=>{e?a.current+=1:a.current=Math.max(0,a.current-1),l(a.current>0)},[]),c=(0,i.useMemo)(()=>({onClickRef:n,setOnClick:u,isModalOpen:o,setIsModalOpen:d}),[u,o,d]);return(0,r.jsx)(s.Provider,{value:c,children:t})}},94333:(e,t,n)=>{n.d(t,{Uj:()=>m,Vf:()=>h,a$:()=>i,qc:()=>d,xs:()=>p});var r=n(54086);let i="image-generation-progress-changed";function s(e){return"kiro-image-generation:".concat(e)}let o=new Map,l=new Map;function a(e){window.dispatchEvent(new CustomEvent(i,{detail:{businessId:e}}))}function u(e,t){return[e,null==t?void 0:t.trim()].filter((e,t,n)=>!!e&&n.indexOf(e)===t)}function d(e,t){let n=u(e,t),r=new Set;for(let e of n)r.add(s(e));return r.add(s(e)),Array.from(r)}function c(e){return"Generating image \xd7 ".concat(Math.max(1,e))}function f(e){if(!e.trim())return 0;if(o.has(e)){var t;return null!=(t=o.get(e))?t:0}let n=(0,r.AG)(e).find(t=>t.id===s(e)&&"generating"===t.status);if(!n)return 0;let i=n.title.match(/[×x]\s*(\d+)/i),a=i?Math.max(0,parseInt(i[1],10)):0;return a>0&&o.set(e,a),n.startedAt&&l.set(e,n.startedAt),a}function m(e){var t;let n=f(e);return n<=0?null:{id:s(e),title:c(n),status:"generating",completeButtonText:"Dismiss",startedAt:null!=(t=l.get(e))?t:Date.now()}}function g(e,t){for(let n of(o.delete(e),l.delete(e),u(e,t)))for(let i of d(e,t))(0,r.IC)(n,i);a(e)}function p(e,t){g(e,t)}async function h(e){let{slugKey:t,apiBusinessId:n,generate:i}=e;if(!t.trim())return void await i();var u,d=t;let m=f(d)+1;o.set(d,m);let p=null!=(u=l.get(d))?u:Date.now();1===m&&l.set(d,p);let h={id:s(d),title:c(m),status:"generating",completeButtonText:"Dismiss",startedAt:p};(0,r.OJ)(d,h),a(d);try{await i()}finally{!function(e,t){var n;let i=Math.max(0,f(e)-1);if(o.set(e,i),i<=0)return g(e,t);let u={id:s(e),title:c(i),status:"generating",completeButtonText:"Dismiss",startedAt:null!=(n=l.get(e))?n:Date.now()};(0,r.OJ)(e,u),a(e)}(t,n)}}}
1,98902:(e,t,n)=>{n.d(t,{A:()=>v});var r=n(95155),i=n(12115),s=n(47650),o=n(20063),l=n(15239),a=n(43569),u=n(97052),d=n(8094),c=n(65998),f=n(54086),m=n(94333),g=n(24183),p=n(63135);function h(e){return e.id.startsWith("kiro-image-generation:")||(0,g.lK)(e)}function w(e){let{job:t,now:n,location:i,clearBackgroundJob:s}=e,o="complete"===t.status,d=o?function(e){let t=(e.title||"").trim();return t?"".concat(t," ready"):"Ready"}(t):function(e){let t=(e.title||"").trim();return t?/^(creating|generating)\s/i.test(t)?t:"Creating ".concat(t):"Creating…"}(t),c=o&&t.completedAt?t.completedAt:n,m=t.startedAt?function(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60);return"".concat(n,":").concat((t%60).toString().padStart(2,"0"))}(c-t.startedAt):null,g=(0,f.XC)(i,t.completionUrl),p=()=>{var e;null==(e=t.onComplete)||e.call(t),s(t.id)},h="mt-3 flex w-full items-center justify-center gap-2 rounded-full border border-[#ffffff] bg-[#f83786] px-3 py-2.5 text-[11px] font-semibold text-[#ffffff] shadow-md transition-colors hover:bg-[#e02f78] no-underline";return(0,r.jsx)("div",{className:"pointer-events-auto w-80 max-w-full overflow-hidden rounded-2xl border-2 border-white/10 bg-white/[0.06] backdrop-blur-xl shadow-2xl",title:t.detail?"".concat(d," — ").concat(t.detail):d,children:(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)(l.default,{src:"/logos/marketninja-icon-wht-1.png",alt:"MarketNinja",width:20,height:20,className:"h-5 w-5 shrink-0 object-contain"}),(0,r.jsx)("h3",{className:"truncate text-sm font-bold text-[#ffffff]",children:d})]}),(0,r.jsx)("button",{type:"button",onClick:()=>s(t.id),className:"shrink-0 rounded-md p-1 text-[#ffffff]/80 transition-colors hover:bg-white/10 hover:text-[#ffffff]",title:"Dismiss","aria-label":"Dismiss ".concat(d),children:(0,r.jsx)(a.A,{className:"h-4 w-4"})})]}),o?(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,r.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-emerald-500/90",children:(0,r.jsx)("svg",{className:"h-2.5 w-2.5 text-[#ffffff]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})}),(0,r.jsx)("span",{className:"text-sm text-[#ffffff]/90",children:"Complete"})]}):(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,r.jsx)("div",{className:"h-4 w-4 rounded-full border-2 border-white border-t-transparent animate-spin"}),(0,r.jsx)("span",{className:"text-sm text-[#ffffff]/90",children:"In progress..."})]}),m?(0,r.jsxs)("div",{className:"mb-2 text-xs text-[#ffffff]/70",children:["Time elapsed: ",m]}):null,t.detail&&!/^(creating|generating)(\.\.\.|…)?$/i.test(t.detail.trim())?(0,r.jsx)("div",{className:"line-clamp-2 text-xs leading-relaxed text-[#ffffff]/75",children:t.detail}):null,o?t.completionUrl&&!g?(0,r.jsx)(u.A,{href:t.completionUrl,loadingLabel:"Opening…",onClick:p,className:h,title:t.completeButtonText,children:(0,r.jsx)("span",{className:"truncate",children:t.completeButtonText})}):(0,r.jsx)("button",{type:"button",onClick:p,className:h,title:g?"Dismiss":t.completeButtonText,children:(0,r.jsx)("span",{className:"truncate",children:g?"Done":t.completeButtonText})}):null]})})}function x(e){let{jobs:t,location:n,clearBackgroundJob:s}=e,[o,l]=(0,i.useState)(()=>Date.now()),a=t.filter(e=>"generating"===e.status).map(e=>e.id).join("|");return((0,i.useEffect)(()=>{if(!a)return;l(Date.now());let e=window.setInterval(()=>l(Date.now()),1e3);return()=>window.clearInterval(e)},[a]),t.length)?(0,r.jsx)("div",{className:"flex w-[min(320px,calc(100vw-2rem))] flex-col items-end gap-1.5",children:[...t].reverse().map(e=>(0,r.jsx)(w,{job:e,now:o,location:n,clearBackgroundJob:s},e.id))}):null}function v(e){let{persistBusinessId:t,className:n="",useFixedPortal:l=!0}=e,a=(0,o.usePathname)(),[u,g]=(0,i.useState)(a||"/"),{isOpen:w,backgroundJobs:v,clearBackgroun
1dJob:b}=(0,d.Vw)(),{isModalOpen:j}=(0,i.useContext)(c.V),[k,C]=(0,i.useState)(!1);(0,i.useEffect)(()=>{C(!0)},[]),(0,i.useEffect)(()=>{let e=()=>{g("".concat(window.location.pathname).concat(window.location.search))};return e(),window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[a]);let y=(0,i.useMemo)(()=>(null==t?void 0:t.trim())||(0,f.QX)(a),[t,a]),B=(0,i.useMemo)(()=>(0,f.Z0)(a,y,t),[a,y,t]),[N,A]=(0,i.useState)(()=>{let e=window.location.pathname,t=(0,f.QX)(e),n=(0,f.Z0)(e,t);return(0,f._s)(e,...n,t)});(0,i.useEffect)(()=>{if(0===B.length)return void A([]);let e=()=>{let e="".concat(window.location.pathname).concat(window.location.search);A((0,f._s)(e,...B,y))};e();let t=()=>e();return window.addEventListener(f.Ol,t),window.addEventListener(p.C9,t),window.addEventListener(p.lc,t),()=>{window.removeEventListener(f.Ol,t),window.removeEventListener(p.C9,t),window.removeEventListener(p.lc,t)}},[B,y]);let E=(0,i.useMemo)(()=>{let e=N.filter(e=>!h(e));return function(e,t){let n=new Map;for(let e of t)n.set(e.id,e);for(let t of e){var r,i,s;let e=n.get(t.id);if(!e){n.set(t.id,t);continue}let o=null!=(r=e.startedAt)?r:t.startedAt,l=null!=(i=t.completedAt)?i:e.completedAt;if("generating"===t.status&&"complete"===e.status){(0,f.WX)(e)?n.set(t.id,{...e,startedAt:o,completedAt:l}):n.set(t.id,{...e,...t,status:"generating",startedAt:null!=(s=t.startedAt)?s:Date.now(),completedAt:void 0});continue}if("complete"===t.status&&"generating"===e.status){(0,f.WX)(t)&&n.set(t.id,{...e,...t,startedAt:o,completedAt:l});continue}n.set(t.id,{...e,...t,startedAt:o,completedAt:l})}return Array.from(n.values())}(v.filter(e=>!h(e)),e)},[v,N]),D=(0,i.useCallback)(e=>{A(t=>t.filter(t=>t.id!==e)),b(e);let n=(0,f.Z0)(a,y,null==t?void 0:t.trim(),(0,f.ir)(a));for(let t of((0,f.mg)(n,e),(0,p.k7)(e)&&(0,p.FG)(e),(0,m.qc)(y||"")))(0,f.mg)(n,t);A((0,f._s)(a,...n,y))},[b,y,a,t]);if(!E.length||w||j)return null;let M=(0,r.jsx)("div",{className:n,children:(0,r.jsx)(x,{jobs:E,location:u,clearBackgroundJob:D})});return l&&k?(0,s.createPortal)((0,r.jsx)("div",{className:"pointer-events-none fixed bottom-6 right-6 z-[90] flex flex-col items-end [&>*]:pointer-events-auto",children:M}),document.body):M}}}]);

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.