1import{y as l,j as e,dw as o,dr as d,d7 as i}from"./index-CpeGhXo5.js";import{a as c}from"./Panel-Cf_wAUzv.js";import{F as u}from"./FinanceKpiCard-CceklJE9.js";import"./currency-CACMzR5Q.js";const m=l("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);function x({title:a,subtitle:s,accent:r="mod-dashboard",kpis:n}){return e.jsxs("div",{className:"p-3 flex flex-col gap-3",children:[e.jsx(c,{title:a,subtitle:s,accent:r}),n&&n.length>0&&e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-2",children:n.map(t=>e.jsx(u,{label:t.label,value:t.value,trend:t.trend,accent:t.accent,isPercent:t.isPercent},t.label))}),e.jsxs("div",{className:"bg-card border border-border rounded-[6px] p-12 flex flex-col items-center justify-center text-center",children:[e.jsx("div",{className:"w-12 h-12 rounded-full grid place-items-center mb-3",style:{background:`color-mix(in oklab, var(--${r}) 12%, white)`},children:e.jsx(m,{className:"w-5 h-5",style:{color:`var(--${r})`}})}),e.jsxs("h3",{className:"text-[14px] font-semibold mb-1",children:[a," module"]}),e.jsx("p",{className:"text-[12px] text-muted-foreground max-w-md",children:"DataTable with sorting, filters, bulk actions and exports will live here. Coming in the next iteration."})]})]})}function g(){const{data:a}=o(),{data:s}=d({limit:1}),{data:r}=i({limit:1}),n=s?.total??0,t=r?.total??0;return e.jsx(x,{title:"Data Entry",subtitle:"Ledger counts from live finance API",accent:"mod-dashboard",kpis:[{label:"Revenue Entries",value:n,accent:"mod-revenue"},{label:"Expense Entries",value:t,accent:"mod-expense"},{label:"Total Revenue",value:a?.totalRevenue??0,accent:"mod-budget"},{label:"Profit Margin",value:a?.profitMargin??0,accent:"mod-team",isPercent:!0}]})}export{g 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.