1import{u as o,j as e,B as r,g as a}from"./index-DyJedEX6.js";import{A as n,b as m}from"./AppLayout-ZkAAcwjY.js";import{C as c,a as d}from"./card-Dd6RvfBE.js";import{B as l}from"./badge-BMH356yJ.js";import{A as p}from"./arrow-left-CW4L6ndG.js";import{U as x}from"./users-CxcDN-aU.js";import{T as g}from"./triangle-alert-Ly6SFgIW.js";import{C as u}from"./clock-CY1NW_yL.js";import{C as h}from"./crown-Jqo5BLQj.js";import"./dropdown-menu-xh_r7kpk.js";import"./input-CtpcuwUP.js";import"./dialog-W-swWsgl.js";import"./index-KoJn3C_j.js";import"./index-7CfJHVX1.js";import"./index-D4oZvDOc.js";import"./chevron-right-B_-PvuIB.js";import"./check-DkvUTC5b.js";import"./wallet-cards-DsxyL3Dm.js";import"./trending-up-C-Y4S2hk.js";import"./gauge-CLqW9oJH.js";import"./history-BDz08ZIE.js";import"./clipboard-check-psoCDnC8.js";import"./clock-3-C0iwbi3i.js";import"./chart-line-DneuFRtc.js";import"./map-pin--KV2kfkI.js";import"./file-text-YZ6t7Ws_.js";import"./shield-check-CRDGV4Y0.js";import"./phone-call-nJirfVHP.js";import"./lightbulb-BI_2rNL5.js";import"./book-open-CJK9M8GZ.js";import"./circle-check-D7OZBS5n.js";import"./megaphone-BGdGt1cs.js";import"./shield-4BCl9T-A.js";import"./index-DAR7RigY.js";import"./mail-BKPFsdc_.js";import"./chevron-down-6zpIkxrO.js";import"./user-Dd74WILB.js";const f=[{name:"Active",count:847,change:4.3,revenue:42350,description:"Visited within the last 30 days.",icon:x,color:"bg-emerald-600"},{name:"At Risk",count:63,change:-11.3,revenue:3150,description:"No visit in 31 to 60 days. May need re-engagement.",icon:g,color:"bg-warning"},{name:"Lapsed",count:124,change:14.8,revenue:0,description:"No visit in over 60 days. Reactivation candidate.",icon:u,color:"bg-destructive"},{name:"VIP",count:89,change:2.3,revenue:18900,description:"Top 10% by lifetime value and visit frequency.",icon:h,color:"bg-[hsl(30,41%,69%)]"}];function te(){const s=o();return e.jsx(n,{children:e.jsxs("div",{className:"p-6 lg:p-8 max-w-[1200px] mx-auto space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(r,{variant:"ghost",size:"icon",onClick:()=>s("/engagement"),children:e.jsx(p,{className:"h-4 w-4"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Customer Segments"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Detailed view of all customer lifecycle segments"})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:f.map(t=>{const i=t.icon;return e.jsx(c,{className:"border-0 shadow-sm",children:e.jsxs(d,{className:"p-6",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`h-10 w-10 rounded-lg ${t.color} flex items-center justify-center`,children:e.jsx(i,{className:"h-5 w-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-bold text-foreground",children:t.name}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t.description})]})]}),e.jsxs(l,{variant:"secondary",className:`${t.change>0?"text-emerald-600":"text-destructive"}`,children:[t.change>0?"+":"",t.change,"%"]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[e.jsxs("div",{className:"bg-muted/30 rounded-lg p-3",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:"Customers"}),e.jsx("p",{className:"text-2xl font-bold text-foreground",children:t.count})]}),e.jsxs("div",{className:"bg-muted/30 rounded-lg p-3",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:"Est. Revenue"}),e.jsxs("p",{className:"text-2xl font-bold text-foreground",children:["$",t.revenue.toLocaleString()]})]})]}),e.jsxs(r,{className:"w-full gap-2 bg-primary",onClick:()=>a.success(`Campaign triggered for ${t.name} segment.`),children:[e.jsx(m,{className:"h-4 w-4"})," Trigger Campaign"]})]})},t.name)})})]})})}export{te 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.