1import{l as e}from"./index-BCz1FotW.js";import{r as v}from"./vendor-dnd-D7Z1dhuR.js";import{u as B}from"./useRevenueForecast-sPslJBpJ.js";import{R as A,A as C,C as R,X as z,Y as E,T as $,L as T,f as h}from"./vendor-recharts-BZyDxlDS.js";import{a as k,a1 as D,an as f,K}from"./useMarketplaceSettings-C77VSiH-.js";import{d as w,T as F,ai as O,B as S,D as G,q as Y}from"./App-TdcU-xIC.js";import"./notificationsService-4XLc8WSw.js";const L=({forecasts:s,showScenarios:l=!0})=>{const d=a=>a>=1e6?`${(a/1e6).toFixed(1)}M`:`${(a/1e3).toFixed(0)}K`,x=s.map(a=>({name:a.monthName.split(" ")[0].slice(0,3),fullName:a.monthName,expected:a.expected,optimistic:a.optimistic,pessimistic:a.pessimistic,baseRevenue:a.baseRevenue})),c=({active:a,payload:t,label:r})=>{if(a&&t&&t.length){const n=t[0].payload;return e.jsxs("div",{className:"bg-white p-3 border rounded-lg shadow-lg",children:[e.jsx("p",{className:"font-medium text-gray-800 mb-2",children:n.fullName}),e.jsxs("div",{className:"space-y-1 text-sm",children:[l&&e.jsxs("p",{className:"text-green-600",children:["İyimser: âº",d(n.optimistic)]}),e.jsxs("p",{className:"text-blue-600 font-medium",children:["Beklenen: âº",d(n.expected)]}),l&&e.jsxs("p",{className:"text-orange-600",children:["Kötümser: âº",d(n.pessimistic)]})]})]})}return null};return e.jsx("div",{className:"w-full h-80",children:e.jsx(A,{width:"100%",height:"100%",children:e.jsxs(C,{data:x,margin:{top:10,right:30,left:0,bottom:0},children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"colorOptimistic",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"#10B981",stopOpacity:.3}),e.jsx("stop",{offset:"95%",stopColor:"#10B981",stopOpacity:0})]}),e.jsxs("linearGradient",{id:"colorExpected",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"#3B82F6",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"#3B82F6",stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"colorPessimistic",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"#F97316",stopOpacity:.3}),e.jsx("stop",{offset:"95%",stopColor:"#F97316",stopOpacity:0})]})]}),e.jsx(R,{strokeDasharray:"3 3",stroke:"#E5E7EB"}),e.jsx(z,{dataKey:"name",tick:{fontSize:12,fill:"#6B7280"},axisLine:{stroke:"#E5E7EB"}}),e.jsx(E,{tick:{fontSize:12,fill:"#6B7280"},tickFormatter:a=>`âº${d(a)}`,axisLine:{stroke:"#E5E7EB"}}),e.jsx($,{content:e.jsx(c,{})}),e.jsx(T,{}),l&&e.jsx(h,{type:"monotone",dataKey:"optimistic",name:"İyimser",stroke:"#10B981",strokeWidth:1,strokeDasharray:"5 5",fill:"url(#colorOptimistic)"}),e.jsx(h,{type:"monotone",dataKey:"expected",name:"Beklenen",stroke:"#3B82F6",strokeWidth:2,fill:"url(#colorExpected)"}),l&&e.jsx(h,{type:"monotone",dataKey:"pessimistic",name:"Kötümser",stroke:"#F97316",strokeWidth:1,strokeDasharray:"5 5",fill:"url(#colorPessimistic)"})]})})})},P=({summary:s,confidence:l,currentRevenue:d})=>{const x=t=>t>=1e6?`âº${(t/1e6).toFixed(1)}M`:`âº${(t/1e3).toFixed(0)}K`,c=[{key:"threeMonth",label:"3 Ay",months:3,icon:k,color:"emerald",confidence:(l==null?void 0:l.threeMonth)||85},{key:"sixMonth",label:"6 Ay",months:6,icon:w,color:"blue",confidence:(l==null?void 0:l.sixMonth)||70},{key:"twelveMonth",label:"12 Ay",months:12,icon:D,color:"purple",confidence:(l==null?void 0:l.twelveMonth)||55}],a=(t,r,n=12)=>{if(!r)return e.jsx(f,{className:"text-gray-500",size:16});const o=(t/n-r)/r*100;return o>5?e.jsx(F,{className:"text-green-500",size:16}):o<-5?e.jsx(O,{className:"text-red-500",size:16}):e.jsx(f,{className:"text-gray-500",size:16})};return e.jsx("div",{className:"grid grid-cols-3 gap-4",children:c.map(t=>{const r=(s==null?void 0:s[t.key])||{expected:0,optimistic:0,pessimistic:0},n=t.icon;return e.jsxs("div",{className:`bg-white rounded-xl p-4 border-2 border-${t.color}-100`,children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`p-2 bg-${t.color}-100 rounded-lg`,children:e.jsx(n,{size:18,className:`text-${t.color}-600`})}),e.jsx("span",{className:"font-medium text-gray-800",children:t.label})]}),e.jsxs("div",{className:` 2 px-2 py-1 rounded-full text-xs font-medium 3 ${t.confidence>=80?"bg-green-100 text-green-700":t.confidence>=60?"bg-yellow-100 text-yellow-700":"bg-orange-100 text-orange-700"} 4 `,children:["%",t.confidence," güven"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"bg-gray-50 rounded-lg p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-gray-500",children:"Beklenen"}),a(r.expected,d,t.months)]}),e.jsx("div",{className:`text-2xl font-bold text-${t.color}-600`,children:x(r.expected)})]}),e.jsxs("div",{className:"flex gap-2 text-xs",children:[e.jsxs("div",{className:"flex-1 bg-green-50 rounded p-2 text-center",children:[e.jsx("div",{className:"text-green-600 font-medium",children:x(r.optimistic)}),e.jsx("div",{className:"text-gray-500",children:"İyimser"})]}),e.jsxs("div",{className:"flex-1 bg-orange-50 rounded p-2 text-center",children:[e.jsx("div",{className:"text-orange-600 font-medium",children:x(r.pessimistic)}),e.jsx("div",{className:"text-gray-500",children:"Kötümser"})]})]})]})]},t.key)})})},Q=()=>{var m,o,p,j,g,u,y,N,b;const{forecast:s,currentRevenue:l,loading:d}=B(12),[x,c]=v.useState(!0),[a,t]=v.useState(12),r=i=>i>=1e6?`âº${(i/1e6).toFixed(1)}M`:`âº${(i/1e3).toFixed(0)}K`;if(d)return e.jsx("div",{className:"p-6 flex items-center justify-center min-h-[60vh]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),e.jsx("p",{className:"text-gray-500",children:"Tahminler hesaplanıyor..."})]})});const n=((m=s==null?void 0:s.forecasts)==null?void 0:m.slice(0,a))||[];return e.jsxs("div",{className:"p-6 bg-gray-50 min-h-screen",children:[e.jsxs("div",{className:"flex justify-between items-start mb-6",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold text-gray-900 flex items-center gap-2",children:[e.jsx(S,{className:"text-blue-600"}),"Revenue Forecasting"]}),e.jsx("p",{className:"text-gray-500 mt-1",children:"AI destekli gelir tahmini ve senaryolar"})]}),e.jsx("div",{className:"flex gap-2",children:e.jsxs("button",{className:"flex items-center gap-2 px-4 py-2 bg-white border rounded-lg hover:bg-gray-50",children:[e.jsx(K,{size:16}),"Rapor İndir"]})})]}),e.jsxs("div",{className:"grid grid-cols-4 gap-4 mb-6",children:[e.jsx("div",{className:"bg-white rounded-xl p-4 border",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-gray-100 rounded-lg",children:e.jsx(G,{size:20,className:"text-gray-600"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold",children:r(l)}),e.jsx("div",{className:"text-sm text-gray-500",children:"Mevcut Aylık Gelir"})]})]})}),e.jsx("div",{className:"bg-white rounded-xl p-4 border border-blue-200",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-blue-100 rounded-lg",children:e.jsx(k,{size:20,className:"text-blue-600"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-blue-600",children:r(((o=s==null?void 0:s.summary)==null?void 0:o.avgMonthly)||0)}),e.jsx("div",{className:"text-sm text-gray-500",children:"Ort. Aylık Tahmin"})]})]})}),e.jsx("div",{className:"bg-white rounded-xl p-4 border",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-emerald-100 rounded-lg",children:e.jsx(F,{size:20,className:"text-emerald-600"})}),e.jsxs("div",{children:[e.jsxs("div",{className:`text-2xl font-bold ${(((p=s==null?void 0:s.summary)==null?void 0:p.growthRate)||0)>=0?"text-emerald-600":"text-red-600"}`,children:[(((j=s==null?void 0:s.summary)==null?void 0:j.growthRate)||0)>=0?"+":"",Math.round(((g=s==null?void 0:s.summary)==null?void 0:g.growthRate)||0),"%"]}),e.jsx("div",{className:"text-sm text-gray-500",children:"Yıllık Büyüme"})]})]})}),e.jsx("div",{className:"bg-white rounded-xl p-4 border",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-purple-100 rounded-lg",children:e.jsx(w,{size:20,className:"text-purple-600"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-2xl font-bold",children:[((u=s==null?void 0:s.confidence)==null?void 0:u.overall)||70,"%"]}),e.jsx("div",{className:"text-sm text-gray-500",children:"Genel Güvenilirlik"})]})]})})]}),e.jsx("div",{className:"mb-6",children:e.jsx(P,{summary:s==null?void 0:s.summary,confidence:s==null?void 0:s.confidence,currentRevenue:l})}),e.jsxs("div",{className:"bg-white rounded-xl p-6 border mb-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"font-semibold text-gray-800",children:"Gelir Tahmini GrafiÄi"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:x,onChange:i=>c(i.target.checked),className:"rounded border-gray-300"}),"Senaryoları Göster"]}),e.jsxs("select",{value:a,onChange:i=>t(Number(i.target.value)),className:"text-sm border rounded-lg px-3 py-1",children:[e.jsx("option",{value:3,children:"3 Ay"}),e.jsx("option",{value:6,children:"6 Ay"}),e.jsx("option",{value:12,children:"12 Ay"})]})]})]}),e.jsx(L,{forecasts:n,showScenarios:x})]}),e.jsxs("div",{className:"bg-white rounded-xl p-6 border",children:[e.jsx("h3",{className:"font-semibold text-gray-800 mb
4-4",children:"Aylık Detay"}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-left py-3 px-2",children:"Ay"}),e.jsx("th",{className:"text-right py-3 px-2",children:"Devam Eden"}),e.jsx("th",{className:"text-right py-3 px-2",children:"Yenileme"}),e.jsx("th",{className:"text-right py-3 px-2",children:"Yeni SatıÅ"}),e.jsx("th",{className:"text-right py-3 px-2",children:"Churn Kaybı"}),e.jsx("th",{className:"text-right py-3 px-2",children:"Mevsim"}),e.jsx("th",{className:"text-right py-3 px-2 font-semibold",children:"Beklenen"})]})}),e.jsx("tbody",{children:n.map((i,M)=>e.jsxs("tr",{className:"border-b hover:bg-gray-50",children:[e.jsx("td",{className:"py-3 px-2 font-medium",children:i.monthName}),e.jsx("td",{className:"text-right py-3 px-2",children:r(i.baseRevenue)}),e.jsxs("td",{className:"text-right py-3 px-2 text-green-600",children:["+",r(i.renewalRevenue)]}),e.jsxs("td",{className:"text-right py-3 px-2 text-blue-600",children:["+",r(i.newSalesRevenue)]}),e.jsxs("td",{className:"text-right py-3 px-2 text-red-600",children:["-",r(i.churnLoss)]}),e.jsx("td",{className:"text-right py-3 px-2",children:e.jsxs("span",{className:`px-2 py-0.5 rounded text-xs ${i.seasonalFactor>=1?"bg-green-100 text-green-700":"bg-orange-100 text-orange-700"}`,children:[i.seasonalFactor,"x"]})}),e.jsx("td",{className:"text-right py-3 px-2 font-bold text-blue-600",children:r(i.expected)})]},M))})]})})]}),e.jsx("div",{className:"mt-6 bg-purple-50 rounded-xl p-4 border border-purple-100",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Y,{className:"text-purple-600 mt-0.5",size:20}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-purple-800",children:"Tahmin Modeli Hakkında"}),e.jsx("p",{className:"text-sm text-purple-700 mt-1",children:"Bu tahminler mevcut sözleÅmeler, pipeline verileri, yenileme oranları ve mevsimsel faktörler kullanılarak hesaplanmaktadır. Tahminler iÅ kararları için referans niteliÄindedir ve garantili sonuçları temsil etmez."}),e.jsxs("div",{className:"flex gap-4 mt-2 text-xs text-purple-600",children:[e.jsxs("span",{children:["Yenileme Oranı: %",Math.round((((y=s==null?void 0:s.rates)==null?void 0:y.renewalRate)||.75)*100)]}),e.jsxs("span",{children:["DönüÅüm Oranı: %",Math.round((((N=s==null?void 0:s.rates)==null?void 0:N.conversionRate)||.15)*100)]}),e.jsxs("span",{children:["Ort. SözleÅme: ",r(((b=s==null?void 0:s.rates)==null?void 0:b.avgDealSize)||25e3)]})]})]})]})})]})};export{Q as default};
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.