1import{r as o,j as s}from"./react-vendor-mIvIP5bw.js";import{b8 as D}from"./vendor-CwbV_EoR.js";import{u as k,B as b,S as f,s as A}from"./index-BNNjvvkY.js";import{N as B}from"./Navbar-B409_3UI.js";import{S as z}from"./SEOHead-mgaf3-Wj.js";import{C as i}from"./card-I4Qj7J0i.js";import{B as K}from"./badge-DxoYb6uu.js";import{U as g,ab as E,aY as N,bf as L,ah as O,at as R}from"./icons-BbelcMSy.js";import{R as c,A as v,C as d,X as m,Y as x,T as u,b as y,B as T,a as G}from"./charts-Cq0rOvYH.js";import"./radix-Cfqx8M61.js";import"./supabase-DUCUMZUh.js";import"./motion-CxH9hQy0.js";import"./i18n-BrnJ0axY.js";import"./quranreels-mark-BLWlrgS6.js";const n="hsl(45 85% 48%)";function ss(){const{toast:w}=k(),[a,_]=o.useState(null),[h,p]=o.useState(!0),j=async()=>{p(!0);const{data:e,error:l}=await A.rpc("admin_insights");l?w({title:"ØªØ¹Ø°ÙØ± Ø§ÙØªØÙ
ÙÙ",description:l.message,variant:"destructive"}):_(e),p(!1)};o.useEffect(()=>{j()},[]);const C=o.useMemo(()=>{const e=new Map((a?.hourly??[]).map(l=>[Number(l.hr),Number(l.cnt)]));return Array.from({length:24},(l,r)=>({hour:`${r}:00`,count:e.get(r)??0}))},[a]),t=a?.totals??{},S=[{icon:g,label:"إجÙ
اÙ٠اÙÙ
ستخدÙ
ÙÙ",value:t.users,sub:`+${t.users_7d??0} آخر 7 Ø£ÙØ§Ù
`},{icon:g,label:"ÙØ´Ø·ÙÙ (7 Ø£ÙØ§Ù
)",value:t.active_7d,sub:"ÙØ§Ù
ÙØ§ بعÙ
ÙÙØ© ÙØ§ØØ¯Ø© عÙÙ Ø§ÙØ£ÙÙ"},{icon:E,label:"إجÙ
اÙÙ Ø§ÙØ±ÙÙØ²",value:t.reels,sub:`+${t.reels_7d??0} آخر 7 Ø£ÙØ§Ù
`},{icon:N,label:"ÙØ±Ùدت Ù
ستÙÙÙ",value:t.credits_spent,sub:`+${t.credits_spent_7d??0} آخر 7 Ø£ÙØ§Ù
`},{icon:N,label:"ÙØ±Ùدت Ù
شتر٠(Ù٠اÙÙÙØª)",value:t.purchased_credits,sub:`${t.orders_pending??0} Ø·ÙØ¨ ÙÙØ¯ اÙÙ
راجعة`},{icon:L,label:"Ø§ÙØ¥Ùرادات اÙÙ
Ø¤ÙØ¯Ø©",value:t.revenue_usd,sub:"دÙÙØ§Ø± â Ø·Ùبات Ù
عتÙ
دة",money:!0}],$=a?[{title:"Ø£Ø´ÙØ± 10 Ø¢ÙØ§Øª",rows:a.top_ayahs.map(e=>({label:`${e.surah} â ${e.ayah}`,value:Number(e.cnt)}))},{title:"Ø£Ø´ÙØ± 10 ÙØ±Ùاء",rows:a.top_reciters.map(e=>({label:e.reciter,value:Number(e.cnt)}))},{title:"Ø£Ø´ÙØ± 10 Ø®ÙÙÙØ§Øª",rows:a.top_backgrounds.map(e=>({label:e.background,value:Number(e.cnt)}))},{title:"Ø£ÙØ«Ø± 10 Ù
ستخدÙ
ÙÙ ÙØ´Ø§Ø·Ø§Ù",rows:a.top_users.map(e=>({label:e.email,value:Number(e.cnt)}))},{title:"Ø£ÙØ«Ø± اÙÙ
ÙØ²Ø§Øª استخداÙ
اÙ",rows:a.features.map(e=>({label:e.feature,value:Number(e.cnt)}))}]:[];return s.jsxs("div",{className:"min-h-screen bg-background",children:[s.jsx(z,{title:"اÙÙ
ؤشرات | ÙÙØØ© Ø§ÙØ¥Ø¯Ø§Ø±Ø©",description:"Ù
ؤشرات ÙØ±Ø¤Ù استخداÙ
اÙÙ
ÙØµØ©."}),s.jsx(B,{}),s.jsxs("main",{className:"container mx-auto max-w-6xl px-4 pt-24 pb-16",dir:"rtl",children:[s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("h1",{className:"text-2xl font-black flex items-center gap-2",children:[s.jsx(O,{className:"w-6 h-6 text-gold"})," اÙÙ
ؤشرات ÙØ§ÙرؤÙ"]}),s.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"ØµÙØ±Ø© ÙØ§Ù
ÙØ© ع٠استخداÙ
اÙÙ
ÙØµØ© ÙØ§ÙÙØ±Ùدت ÙØ§ÙØ¥ÙØ±Ø§Ø¯Ø§Øª."})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs(b,{variant:"outline",onClick:j,className:"rounded-full gap-1.5",children:[s.jsx(R,{className:"w-4 h-4"})," ØªØØ¯ÙØ«"]}),s.jsx(b,{asChild:!0,variant:"outline",className:"rounded-full",children:s.jsx(D,{to:"/admin/users",children:"Ø§ÙØ¹Ù
ÙØ§Ø¡"})})]})]}),h&&s.jsxs("div",{className:"mt-6 space-y-3",children:[s.jsx(f,{className:"h-28 w-full"}),s.jsx(f,{className:"h-72 w-full"})]}),!h&&a&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"mt-5 grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:S.map(e=>s.jsxs(i,{className:"p-4 bg-card/60",children:[s.jsx(e.icon,{className:"w-4 h-4 text-gold"}),s.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:e.label}),s.jsx("p",{className:"text-2xl font-black text-gold",children:e.money?`$${Number(e.value??0).toFixed(2)}`:Number(e.value??0).toLocaleString("ar-EG")}),s.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:e.sub})]},e.label))}),s.jsxs("div",{className:"mt-4 grid gap-3 lg:grid-cols-2",children:[s.jsxs(i,{className:"p-4 bg-card/60",children:[s.jsx("p",{className:"text-sm font-bold mb-3",children:"Ø§ÙØ±ÙÙØ² اÙÙÙÙ
ÙØ© (آخر 30 ÙÙÙ
)"}),s.jsx("div",{className:"h-64",dir:"ltr",children:s.jsx(c,{width:"100%",height:"100%",children:s.jsxs(v,{data:a.daily,children:[s.jsx(d,{strokeDasharray:"3 3",opacity:.15}),s.jsx(m,{dataKey:"day",fontSize:10}),s.jsx(x,{fontSize:10,allowDecimals:!1}),s.jsx(u,{}),s.jsx(y,{type:"monotone",dataKey:"reels",stroke:n,fill:n,fillOpacity:.25})]})})})]}),s.jsxs(i,{className:"p-4 bg-card/60",children:[s.jsx("p",{className:"text-sm font-bold mb-3",children:"Ø§ÙØªØ³Ø¬ÙÙØ§Øª اÙÙÙÙ
ÙØ© (آخر 30 ÙÙÙ
)"}),s.jsx("div",{className:"h-64",dir:"ltr",children:s.jsx(c,{width:"100%",height:"100%",children:s.jsxs(v,{data:a.signups_daily,children:[s.jsx(d,{strokeDasharray:"3 3",opacity:.15}),s.jsx(m,{dataKey:"day",fontSize:10}),s.jsx(x,{fontSize:10,allowDecimals:!1}),s.jsx(u,{}),s.jsx(y,{type:"monotone",dataKey:"users",stroke:n,fill:n,fillOpacity:.25})]})})})]})]}),s.jsxs(i,{className:"mt-3 p-4 bg-card/60",children:[s.jsx("p",{className:"text-sm font-bold mb-3",children:"Ø£ÙØ¶Ù Ø£ÙÙØ§Øª Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
(ØØ³Ø¨ Ø§ÙØ³Ø§Ø¹Ø©Ø UTC)"}),s.jsx("div",{className:"h-64",dir:"ltr",children:s.jsx(c,{width:"100%",height:"100%",children:s.jsxs(T,{data:C,children:[s.jsx(d,{strokeDasharray:"3 3",opacity:.15}),s.jsx(m,{dataKey:"hour",fontSize:10,interval:2}),s.jsx(x,{fontSize:10,allowDecimals:!1}),s.jsx(u,{}),s.jsx(G,{dataKey:"count",fill:n,radius:[4,4,0,0]})]})})})]}),s.jsx("div",{className:"mt-4 grid gap-3 lg:grid-cols-2",children:$.map(e=>s.jsxs(i,{className:"p-4 bg-card/60",children:[s.jsx("p",{className:"text-sm font-bold mb-3",children:e.title}),e.rows.length===0&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"ÙØ§ ØªÙØ¬Ø¯ Ø¨ÙØ§Ùات بعد."}),s.jsx("ol",{className:"space-y-1.5",children:e.rows.map((l,r)=>s.jsxs("li",{className:"flex items-center justify-between gap-2 text-xs",children:[s.jsxs("span",{className:"truncate",children:[s.jsxs("span",{className:"text-gold font-bold ml-1",children:[r+1,"."]})," ",l.label||"â"]}),s.jsx(K,{variant:"outline",children:l.value})]},`${l.label}-${r}`))})]},e.title))})]})]})]})}export{ss 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.