1import{b as r,j as t,C as l,K as u,N as d,c as m,O as x,$ as f,s as a}from"./index-PtGACUVf.js";import{B as h}from"./building-2-DaWZqhwr.js";function j(){const{data:o=0}=r({queryKey:["admin-cities-count"],queryFn:async()=>{const{count:e,error:s}=await a.from("cities").select("*",{count:"exact",head:!0});if(s)throw s;return e??0}}),{data:n=0}=r({queryKey:["admin-listings-count"],queryFn:async()=>{const{count:e,error:s}=await a.from("businesses").select("*",{count:"exact",head:!0});if(s)throw s;return e??0}}),{data:i=0}=r({queryKey:["admin-users-count"],queryFn:async()=>{const{count:e,error:s}=await a.from("profiles").select("*",{count:"exact",head:!0});if(s)throw s;return e??0}}),c=[{title:"Total Cities",value:o,icon:x,color:"text-blue-500"},{title:"Total Listings",value:n,icon:h,color:"text-green-500"},{title:"Total Users",value:i,icon:f,color:"text-purple-500"}];return t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl font-display font-bold",children:"Dashboard"}),t.jsx("p",{className:"text-muted-foreground",children:"Overview of your platform"})]}),t.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:c.map(e=>t.jsxs(l,{children:[t.jsxs(u,{className:"flex flex-row items-center justify-between pb-2",children:[t.jsx(d,{className:"text-sm font-medium text-muted-foreground",children:e.title}),t.jsx(e.icon,{className:`h-5 w-5 ${e.color}`})]}),t.jsx(m,{children:t.jsx("div",{className:"text-3xl font-bold",children:e.value})})]},e.title))})]})}export{j 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.