PageSourceSearch

https://www.skribil.ai/_next/static/chunks/pages/competitor-dashboard-dfecd49f535c60ca.js

js skribil.ai collected 2026-10-05 13:32:31 UTC 7,900 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2901],{58234:function(e,s,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/competitor-dashboard",function(){return t(68214)}])},43765:function(e,s,t){"use strict";t.d(s,{Z:function(){return r}});let r=(0,t(63759).Z)("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},60493:function(e,s,t){"use strict";t.d(s,{Z:function(){return r}});let r=(0,t(63759).Z)("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},24317:function(e,s,t){"use strict";t.d(s,{Ke:function(){return a}});var r=t(85893);t(67294);var l=t(60641),n=t(43765),i=t(60493);let a=e=>{let{status:s,hasUnsavedChanges:t=!1,lastSaved:a,className:c=""}=e,{icon:o,text:d,bgColor:x,textColor:m,borderColor:h}=(()=>{switch(s){case"saving":return{icon:(0,r.jsx)(l.Z,{className:"w-3 h-3 animate-spin text-blue-500"}),text:"Saving...",bgColor:"bg-blue-50",textColor:"text-blue-700",borderColor:"border-blue-200"};case"error":return{icon:(0,r.jsx)(n.Z,{className:"w-3 h-3 text-red-500"}),text:"Save failed",bgColor:"bg-red-50",textColor:"text-red-700",borderColor:"border-red-200"};default:return{icon:(0,r.jsx)(i.Z,{className:"w-3 h-3 text-green-500"}),text:t?"Saving...":"All changes saved",bgColor:"bg-green-50",textColor:"text-green-700",borderColor:"border-green-200"}}})();return(0,r.jsx)("div",{className:"fixed bottom-4 right-4 z-50 ".concat(c),children:(0,r.jsxs)("div",{className:"\n        ".concat(x," ").concat(h," ").concat(m,"\n        border rounded-lg px-3 py-2 shadow-lg\n        flex items-center gap-2 text-sm font-medium\n        transition-all duration-200 ease-in-out\n        max-w-xs\n      "),children:[o,(0,r.jsx)("span",{children:d}),a&&"saved"===s&&!t&&(0,r.jsxs)("span",{className:"text-xs opacity-75 ml-1",children:["(",(e=>{if(!e)return"";let s=new Date(e),t=Math.floor((new Date().getTime()-s.getTime())/6e4);if(t<1)return"just now";if(t<60)return"".concat(t,"m ago");let r=Math.floor(t/60);return r<24?"".concat(r,"h ago"):s.toLocaleDateString()})(a),")"]})]})})}},89346:function(e,s,t){"use strict";t.d(s,{Ol:function(){return n},Zb:function(){return l},aY:function(){return a},ll:function(){return i}});var r=t(85893);t(67294);let l=e=>{let{children:s,className:t="",...l}=e;return(0,r.jsx)("div",{className:"bg-white rounded-lg shadow ".concat(t),...l,children:s})},n=e=>{let{children:s,className:t="",...l}=e;return(0,r.jsx)("div",{className:"p-6 pb-0 ".concat(t),...l,children:s})},i=e=>{let{children:s,className:t="",...l}=e;return(0,r.jsx)("h3",{className:"text-lg font-medium ".concat(t),...l,children:s})},a=e=>{let{children:s,className:t="",...l}=e;return(0,r.jsx)("div",{className:"p-6 ".concat(t),...l,children:s})}},68214:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return j}});var r=t(85893),l=t(67294),n=t(11163),i=t(89346),a=t(24317),c=e=>{let{initialCompetitors:s=[]}=e,[t,n]=(0,l.useState)([]),[c,o]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{s.length>0?n(s):n([{name:"Your Company",marketPosition:{x:50,y:50},features:{},wins:7,losses:2},{name:"Competitor A",marketPosition:{x:30,y:40},features:{},wins:5,losses:2},{name:"Competitor B",marketPosition:{x:70,y:60},features:{},wins:3,losses:4}]),o(!0)},[s]),(0,r.jsxs)("div",{className:"w-full space-y-8",children:[(0,r.jsxs)(i.Zb,{children:[(0,r.jsx)(i.Ol,{children:(0,r.jsx)(i.ll,{children:"Market Position Map"})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)(()=>(0,r.jsxs)("div",{className:"relative h-96 w-full border rounded-lg bg-white p-4",children:[c&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:t.map((e,s)=>(0,r.jsx)("div",{style:{left:"".concat(e.marketPosition.x,"%"),top:"".concat(e.marketPosition.y,"%")},className:"absolute w-4 h-4 bg-blue-500 rounded-full cursor-pointer",title:e.name},s))}),(0,r.jsx)("div",{className:"absolute bottom-4 left-4",children:"Market Share"}),(0,r.jsx)("div",{className:"absolute left-4 top-1/2 -rotate-90",children:"Price Point"})]}),{})})]}),c&&t.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(()=>(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,r.jsxs)(i.Zb,{children:[(0,r.jsx)(i.Ol,{children:(0,r.jsx)(i.ll,{children:"Strength Analysis"})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)("div",{className:"space-y-4",children:t.map((e,s)=>(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("div",{className:"w-24 text-sm truncate",children:e.name}),(0,r.jsx)("div",{className:"flex-1 bg-gray-200 h-4 rounded-full overflow-hidden",children:(0,r.jsx)("div",{className:"bg-green-500 h-full",style:{width:"".concat(e.wins/10*100,"%")}})}),(0,r.jsx)("div",{className:"w-8 text-right text-sm ml-2",children:e.wins})]},s))})})]}),(0,r.jsxs)(i.Zb,{children:[(0,r.jsx)(i.Ol,{children:(0,r.jsx)(i.ll,{children:"Gap Analysis"})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)("div",{className:"space-y-4",children:t.map((e,s)=>(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("div",{className:"w-24 text-sm truncate",children:e.name}),(0,r.jsx)("div",{className:"flex-1 bg-gray-200 h-4 rounded-full overflow-hidden",children:(0,r.jsx)("div",{className:"bg-red-500 h-full",style:{width:"".concat(e.losses/10*100,"%")}})}),(0,r.jsx)("div",{className:"w-8 text-right text-sm ml-2",children:e.losses})]},s))})})]})]}),{}),(0,r.jsxs)(i.Zb,{children:[(0,r.jsx)(i.Ol,{children:(0,r.jsx)(i.ll,{children:"Competitor Summary"})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:t.map((e,s)=>(0,r.jsxs)("div",{className:"p-4 border rounded-lg",children:[(0,r.jsx)("h3",{className:"font-semibold text-lg",children:e.name}),(0,r.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-sm text-gray-600",children:"Strengths:"}),(0,r.jsx)("span",{className:"ml-2 font-medium",children:e.wins})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-sm text-gray-600",children:"Gaps:"}),(0,r.jsx)("span",{className:"ml-2 font-medium",children:e.losses})]})]})]},s))})})]})]}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)("button",{onClick:()=>window.location.href="/competitive-analysis",className:"px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700",children:"Add/Edit Competitors"})}),(0,r.jsx)(a.Ke,{})]})},o=t(32114),d=t(13410),x=t(22155),m=t(9959),h=t(49516);let u=()=>{let e=(0,n.useRouter)(),{data:s}=(0,o.v)(),[t,i]=(0,l.useState)([]);return(0,l.useEffect)(()=>{(null==s?void 0:s.competitors)&&s.competitors.length>0&&i(s.competitors.filter(e=>e.name.trim()).map((e,s)=>{var t,r;return{name:e.name,marketPosition:{x:50+30*Math.cos(s*Math.PI/4),y:50+30*Math.sin(s*Math.PI/4)},features:{},wins:(null===(t=e.strengths)||void 0===t?void 0:t.length)||0,losses:(null===(r=e.weaknesses)||void 0===r?void 0:r.length)||0}}))},[s]),(0,r.jsxs)("div",{className:"max-w-7xl mx-auto p-8",children:[(0,r.jsxs)("div",{className:"mb-8",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Competitive Landscape Dashboard"}),(0,r.jsx)("p",{className:"text-gray-600",children:"Visualize your position relative to competitors in the market."})]}),(0,r.jsx)(c,{initialCompetitors:t}),(0,r.jsx)("div",{className:"mt-8",children:(0,r.jsx)("button",{onClick:()=>e.push("/competitive-analysis"),className:"px-6 py-3 border border-gray-300 rounded-lg hover:bg-gray-50",children:"← Back to Competitor Analysis"})})]})};var j=()=>((0,n.useRouter)(),(0,r.jsx)(d.J,{children:(0,r.jsx)(h.pp,{children:(0,r.jsx)(m.G,{children:(0,r.jsx)(x.g,{children:(0,r.jsx)(o.c,{
1children:(0,r.jsx)(u,{})})})})})}))}},function(e){e.O(0,[2888,9774,179],function(){return e(e.s=58234)}),_N_E=e.O()}]);

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.