Files
machartaa_admin_dist/dist/assets/index-211549cd.js
T
2026-07-16 16:44:06 +03:30

11 lines
67 KiB
JavaScript

import{o as A,c as R,L as st,d as Pe,h as te,a as e,F as G,n as le,j as k,i as se,w as X,b as N,t as F,J as We,G as Y,g as $,v as at,O as ie,P as ot,x as ee,y as de,e as He,Q as Ke,_ as ne}from"./index-c7cfb6d0.js";import{_ as rt}from"./button.vue_vue_type_style_index_0_lang-976922e0.js";import{_ as it}from"./BasicSelect.vue_vue_type_style_index_0_lang-a93211b9.js";import{_ as nt}from"./_plugin-vue_export-helper-64344365.js";import{S as ce}from"./index-5ce472da.js";import{T as pe}from"./isSymbol-39130b1f.js";import{I as Ne}from"./Icon-d2a333f8.js";import{_ as _e}from"./InputDatePicker.vue_vue_type_script_setup_true_lang-018adb5c.js";import{m as P,a as ae}from"./useDataTime-42f03937.js";import{u as lt}from"./usePrice-bc935b83.js";import{i as Ve}from"./index-30e9b5a1.js";import{a as Re}from"./index-e011592a.js";import"./lodash-ccbe62b4.js";import"./index-a85f4e3c.js";import"./toArray-69a6a276.js";import"./vnode-d460d6f7.js";import"./FormItemContext-c66bbc76.js";import"./pickAttrs-a95b5777.js";import"./useState-624b81a4.js";import"./updateLocale-4490df87.js";import"./useRefs-ac12ba74.js";import"./_flatRest-4bcfe4cb.js";const ct={},ut={class:"bg-gradient"};function dt(L,m){return A(),R("div",ut,[st(L.$slots,"default")])}const ge=nt(ct,[["render",dt]]),ze="/assets/users4-80585f51.svg",Be="/assets/users3-3a96ddd8.svg",Ue="/assets/users5-1dc3f500.svg",_t="/assets/users2-8002992a.svg",ft={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},vt={class:"flex"},wt=["src","alt"],ht={class:"flex flex-col justify-between w-full mr-2"},yt={class:"text-base font-bold"},pt={class:"flex items-center justify-end min-h-[24px]"},gt={class:"text-base font-bold"},mt={class:"mr-1"},Dt={class:"grid grid-cols-1 md:grid-cols-4 gap-3 mt-3"},St={class:"flex"},bt=["src","alt"],xt={class:"flex flex-col justify-between w-full mr-2"},kt={class:"text-base font-bold"},It={class:"flex items-center justify-end min-h-[24px]"},Et={class:"text-base font-bold"},Ot={class:"mr-1"},Ct=Pe({__name:"Header",props:{statistics:{},loading:{type:Boolean,default:!1}},setup(L){const m=L,p=te(()=>{var g,b,c,f;return[{title:"تعداد کاربران",alt:"sales-number",image:_t,value:((g=m.statistics.count_sale_order)==null?void 0:g.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"کاربران جدید 7 روز گذشته",alt:"new-users-last-7-days",image:Ue,value:((b=m.statistics.new_users_last_7_days)==null?void 0:b.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"کاربران فعال این هفته",alt:"active-users-saturday-to-friday",image:Be,value:((c=m.statistics.active_users_saturday_to_friday)==null?void 0:c.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"کاربران فعال این ماه",alt:"active-users-jalali-month",image:ze,value:((f=m.statistics.active_users_jalali_month)==null?void 0:f.toLocaleString("fa-IR"))||"0",unit:"نفر"}]}),E=te(()=>{var g,b,c;return[{title:"کاربران جدید امروز",alt:"customers",image:Ue,value:m.statistics.new_customer,unit:"نفر"},{title:"کاربران جدید 30 روز گذشته",alt:"new-users-last-30-days",image:Ue,value:((g=m.statistics.new_users_last_30_days)==null?void 0:g.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"کاربران فعال هفته گذشته",alt:"active-users-last-week",image:Be,value:((b=m.statistics.active_users_last_week)==null?void 0:b.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"کاربران فعال ماه گذشته",alt:"active-users-last-month",image:ze,value:((c=m.statistics.active_users_last_month)==null?void 0:c.toLocaleString("fa-IR"))||"0",unit:"نفر"}]}),x=g=>({"تعداد کاربران":"این عدد تعداد کل کاربران ثبت‌نام شده در سیستم از اول تا حالا را نشان می‌دهد","کاربران جدید 7 روز گذشته":"این عدد تعداد کاربرانی است که در 7 روز گذشته ثبت‌نام کرده‌اند","کاربران فعال این هفته":"این عدد تعداد کاربرانی است که در این هفته (از شنبه تا جمعه) حداقل یک بازدید از یک قسمت از اپ داشته‌اند","کاربران فعال این ماه":"این عدد تعداد کاربرانی است که در ماه جاری (شمسی) حداقل یک بازدید از یک قسمت از اپ داشته‌اند","کاربران جدید امروز":"این عدد تعداد کاربرانی است که امروز ثبت‌نام کرده‌اند","کاربران جدید 30 روز گذشته":"این عدد تعداد کاربرانی است که در 30 روز گذشته ثبت‌نام کرده‌اند","کاربران فعال هفته گذشته":"این عدد تعداد کاربرانی است که در هفته گذشته (از شنبه تا جمعه) حداقل یک بازدید از یک قسمت از اپ داشته‌اند","کاربران فعال ماه گذشته":"این عدد تعداد کاربرانی است که در ماه گذشته (شمسی) حداقل یک بازدید از یک قسمت از اپ داشته‌اند"})[g]||"";return(g,b)=>(A(),R("div",null,[e("div",ft,[(A(!0),R(G,null,le(k(p),(c,f)=>(A(),se(ge,{class:"h-[120px] p-5",key:f},{default:X(()=>[N(k(pe),{title:x(c.title),placement:"top"},{default:X(()=>[e("div",vt,[e("div",null,[e("img",{class:"w-20 h-20",src:c.image,alt:c.alt},null,8,wt)]),e("div",ht,[e("div",null,[e("span",yt,F(c.title),1)]),e("div",pt,[g.loading?(A(),se(k(ce),{key:0,size:"small"})):(A(),R(G,{key:1},[e("span",gt,F(c.value),1),e("span",mt,F(c.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),e("div",Dt,[(A(!0),R(G,null,le(k(E),(c,f)=>(A(),se(ge,{class:"h-[120px] p-5",key:f+4},{default:X(()=>[N(k(pe),{title:x(c.title),placement:"top"},{default:X(()=>[e("div",St,[e("div",null,[e("img",{class:"w-20 h-20",src:c.image,alt:c.alt},null,8,bt)]),e("div",xt,[e("div",null,[e("span",kt,F(c.title),1)]),e("div",It,[g.loading?(A(),se(k(ce),{key:0,size:"small"})):(A(),R(G,{key:1},[e("span",Et,F(c.value),1),e("span",Ot,F(c.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))])]))}}),jt=async()=>await We.get("/admin/report"),Vt=async(L=10)=>(await We.get("/admin/dashboard/summary",{params:{storyLimit:L}})).data,Ut=async L=>{const{type:m,item_id:p,date:E,startDate:x,endDate:g,statType:b="cumulative_viewers"}=L,c=E?new Date(E):new Date;if(m==="hourly"){let f,v;if(x&&g?(f=x,v=g):(f=c.toISOString().split("T")[0],v=f),b==="cumulative_viewers"){const n=new Date(v);n.setHours(23,59,59,999);let w=Y.from("user_views").select("user_id, viewed_at").eq("type","story").lte("viewed_at",n.toISOString()).not("user_id","is",null).order("viewed_at");p&&(w=w.eq("item_id",p));const{data:a,error:i}=await w;if(i)throw i;if(!a||a.length===0)return[];const D=new Date(f);D.setHours(0,0,0,0);const t=[],o=new Date(D);for(;o<=n;){const s=o.toISOString().split("T")[0],S=o.getHours();t.push({day:s,hour:S}),o.setHours(o.getHours()+1)}return t.map(({day:s,hour:S})=>{const U=new Date(s);U.setHours(S,59,59,999);const M=new Set;return a.forEach(H=>{new Date(H.viewed_at)<=U&&M.add(H.user_id)}),{day:s,hour:S,views:M.size}})}else if(b==="total_views"){let n=Y.from("user_views_hourly").select("*").eq("type","story").gte("day",f).lte("day",v).order("day").order("hour");p&&(n=n.eq("item_id",p));const{data:w,error:a}=await n;if(a)throw a;return w||[]}else{const n=new Date(f);n.setHours(0,0,0,0);const w=new Date(v);w.setHours(23,59,59,999);let a=Y.from("user_views").select("user_id, viewed_at").eq("type","story").gte("viewed_at",n.toISOString()).lte("viewed_at",w.toISOString()).not("user_id","is",null);p&&(a=a.eq("item_id",p));const{data:i,error:D}=await a;if(D)throw D;if(!i||i.length===0)return[];const t={};return i.forEach(o=>{const u=new Date(o.viewed_at),s=u.toISOString().split("T")[0],S=u.getHours(),U=`${s}_${S}`,M=o.user_id;t[U]||(t[U]=new Set),t[U].add(M)}),Object.keys(t).map(o=>{const[u,s]=o.split("_");return{day:u,hour:Number(s),views:t[o].size}})}}else if(m==="daily"){let f,v;if(x&&g)f=x,v=g;else{const n=new Date(c);n.setDate(c.getDate()-29),f=n.toISOString().split("T")[0],v=c.toISOString().split("T")[0]}if(b==="cumulative_viewers"){const n=new Date(v);n.setHours(23,59,59,999);let w=Y.from("user_views").select("user_id, viewed_at").eq("type","story").lte("viewed_at",n.toISOString()).not("user_id","is",null).order("viewed_at");p&&(w=w.eq("item_id",p));const{data:a,error:i}=await w;if(i)throw i;if(!a||a.length===0)return[];const D=[],t=new Date(f);for(;t<=n;)D.push(t.toISOString().split("T")[0]),t.setDate(t.getDate()+1);return D.map(u=>{const s=new Date(u);s.setHours(23,59,59,999);const S=new Set;return a.forEach(U=>{new Date(U.viewed_at)<=s&&S.add(U.user_id)}),{day:u,views:S.size}})}else if(b==="total_views"){let n=Y.from("user_views_hourly").select("*").eq("type","story").gte("day",f).lte("day",v).order("day").order("hour");p&&(n=n.eq("item_id",p));const{data:w,error:a}=await n;if(a)throw a;return w||[]}else{const n=new Date(f);n.setHours(0,0,0,0);const w=new Date(v);w.setHours(23,59,59,999);let a=Y.from("user_views").select("user_id, viewed_at").eq("type","story").gte("viewed_at",n.toISOString()).lte("viewed_at",w.toISOString()).not("user_id","is",null);p&&(a=a.eq("item_id",p));const{data:i,error:D}=await a;if(D)throw D;if(!i||i.length===0)return[];const t={};return i.forEach(o=>{const s=new Date(o.viewed_at).toISOString().split("T")[0],S=o.user_id;t[s]||(t[s]=new Set),t[s].add(S)}),Object.keys(t).sort().map(o=>({day:o,views:t[o].size}))}}else if(m==="weekly"){let f,v;if(x&&g)f=x,v=g;else{const n=new Date(c);n.setDate(c.getDate()-84),f=n.toISOString().split("T")[0],v=c.toISOString().split("T")[0]}if(b==="cumulative_viewers"){const n=new Date(v);n.setHours(23,59,59,999);let w=Y.from("user_views").select("user_id, viewed_at").eq("type","story").lte("viewed_at",n.toISOString()).not("user_id","is",null).order("viewed_at");p&&(w=w.eq("item_id",p));const{data:a,error:i}=await w;if(i)throw i;if(!a||a.length===0)return[];const D=[],t=new Date(f);for(;t<=new Date(v);){const u=t.getDay();let s=0;u===0?s=1:u!==6&&(s=6-u);const S=new Date(t);S.setDate(t.getDate()-s);const U=S.toISOString().split("T")[0];D.includes(U)||D.push(U),t.setDate(t.getDate()+1)}return D.sort().map(u=>{const s=new Date(u);s.setDate(s.getDate()+5),s.setHours(23,59,59,999);const S=new Set;return a.forEach(U=>{new Date(U.viewed_at)<=s&&S.add(U.user_id)}),{day:u,views:S.size}})}else if(b==="total_views"){let n=Y.from("user_views_hourly").select("*").eq("type","story").gte("day",f).lte("day",v).order("day").order("hour");p&&(n=n.eq("item_id",p));const{data:w,error:a}=await n;if(a)throw a;if(!w||w.length===0)return[];const i={};return w.forEach(D=>{const t=new Date(D.day+"T00:00:00"),o=t.getDay();let u=0;o===0?u=1:o!==6&&(u=6-o);const s=new Date(t);s.setDate(t.getDate()-u);const S=s.toISOString().split("T")[0];i[S]=(i[S]||0)+Number(D.views||0)}),Object.keys(i).sort().map(D=>({day:D,views:i[D]}))}else{const n=new Date(f);n.setHours(0,0,0,0);const w=new Date(v);w.setHours(23,59,59,999);let a=Y.from("user_views").select("user_id, viewed_at").eq("type","story").gte("viewed_at",n.toISOString()).lte("viewed_at",w.toISOString()).not("user_id","is",null);p&&(a=a.eq("item_id",p));const{data:i,error:D}=await a;if(D)throw D;if(!i||i.length===0)return[];const t={};return i.forEach(o=>{const u=new Date(o.viewed_at),s=u.getDay();let S=0;s===0?S=1:s!==6&&(S=6-s);const U=new Date(u);U.setDate(u.getDate()-S);const M=U.toISOString().split("T")[0],H=o.user_id;t[M]||(t[M]=new Set),t[M].add(H)}),Object.keys(t).sort().map(o=>({day:o,views:t[o].size}))}}else if(m==="monthly"){let f,v;if(x&&g)f=x,v=g;else{const n=new Date(c);n.setMonth(c.getMonth()-12),f=n.toISOString().split("T")[0],v=c.toISOString().split("T")[0]}if(b==="cumulative_viewers"){const n=new Date(v);n.setHours(23,59,59,999);let w=Y.from("user_views").select("user_id, viewed_at").eq("type","story").lte("viewed_at",n.toISOString()).not("user_id","is",null).order("viewed_at");p&&(w=w.eq("item_id",p));const{data:a,error:i}=await w;if(i)throw i;if(!a||a.length===0)return[];const D=[],t=new Date(f);for(;t<=new Date(v);){const u=P(t),s=`${u.jYear()}-${String(u.jMonth()+1).padStart(2,"0")}`;D.includes(s)||D.push(s),t.setMonth(t.getMonth()+1)}return D.sort().map(u=>{const[s,S]=u.split("-"),U=P().jYear(Number(s)).jMonth(Number(S)-1).endOf("jMonth").toDate();U.setHours(23,59,59,999);const M=new Set;return a.forEach(H=>{new Date(H.viewed_at)<=U&&M.add(H.user_id)}),{day:u,views:M.size}})}else if(b==="total_views"){let n=Y.from("user_views_hourly").select("*").eq("type","story").gte("day",f).lte("day",v).order("day").order("hour");p&&(n=n.eq("item_id",p));const{data:w,error:a}=await n;if(a)throw a;if(!w||w.length===0)return[];const i={};return w.forEach(D=>{const t=new Date(D.day+"T00:00:00"),o=P(t),u=`${o.jYear()}-${String(o.jMonth()+1).padStart(2,"0")}`;i[u]=(i[u]||0)+Number(D.views||0)}),Object.keys(i).sort().map(D=>({day:D,views:i[D]}))}else{const n=new Date(f);n.setHours(0,0,0,0);const w=new Date(v);w.setHours(23,59,59,999);let a=Y.from("user_views").select("user_id, viewed_at").eq("type","story").gte("viewed_at",n.toISOString()).lte("viewed_at",w.toISOString()).not("user_id","is",null);p&&(a=a.eq("item_id",p));const{data:i,error:D}=await a;if(D)throw D;if(!i||i.length===0)return[];const t={};return i.forEach(o=>{const u=new Date(o.viewed_at),s=P(u),S=`${s.jYear()}-${String(s.jMonth()+1).padStart(2,"0")}`,U=o.user_id;t[S]||(t[S]=new Set),t[S].add(U)}),Object.keys(t).sort().map(o=>({day:o,views:t[o].size}))}}},qt=async L=>{const{type:m,date:p,startDate:E,endDate:x,statType:g="all"}=L,b=p?new Date(p):new Date;if(m==="hourly"){let c,f;if(E&&x?(c=new Date(E),c.setHours(0,0,0,0),f=new Date(x),f.setHours(23,59,59,999)):(c=new Date(b),c.setHours(0,0,0,0),f=new Date(b),f.setHours(23,59,59,999)),g==="registration"){const{data:v,error:n}=await Y.from("users").select("id, created_at").gte("created_at",c.toISOString()).lte("created_at",f.toISOString());if(n)throw n;if(!v||v.length===0)return[];const w={};return v.forEach(a=>{const D=new Date(a.created_at).getHours(),t=a.id;w[D]||(w[D]=new Set),w[D].add(t)}),Object.keys(w).map(a=>({hour:Number(a),users:w[Number(a)].size,totalUniqueUsers:0}))}else if(g==="active"){const{data:v,error:n}=await Y.from("user_views").select("user_id, viewed_at").gte("viewed_at",c.toISOString()).lte("viewed_at",f.toISOString()).not("user_id","is",null);if(n)throw n;if(!v||v.length===0)return[];const w={};v.forEach(o=>{const u=o.user_id;w[u]=(w[u]||0)+1});const a=Object.keys(w).filter(o=>w[o]>4);if(a.length===0)return[];const i=new Set(a),D=v.filter(o=>i.has(String(o.user_id)));if(D.length===0)return[];const t={};return D.forEach(o=>{const s=new Date(o.viewed_at).getHours(),S=o.user_id;t[s]||(t[s]=new Set),t[s].add(S)}),Object.keys(t).map(o=>({hour:Number(o),users:t[Number(o)].size,totalUniqueUsers:0}))}else{const v=new Date(f);v.setHours(23,59,59,999);const{data:n,error:w}=await Y.from("users").select("id, created_at").lte("created_at",v.toISOString()).order("created_at");if(w)throw w;const a=[],i=new Date(c);for(;i<=v;){const t=i.toISOString().split("T")[0],o=i.getHours();a.push({day:t,hour:o}),i.setHours(i.getHours()+1)}return!n||n.length===0?a.map(({day:t,hour:o})=>({hour:o,users:0,totalUniqueUsers:0})):a.map(({day:t,hour:o})=>{const u=new Date(t);u.setHours(o,59,59,999);const s=new Set;return n.forEach(S=>{new Date(S.created_at)<=u&&s.add(S.id)}),{hour:o,users:s.size,totalUniqueUsers:s.size}})}}else if(m==="daily"){let c,f;if(E&&x)c=new Date(E),c.setHours(0,0,0,0),f=new Date(x),f.setHours(23,59,59,999);else{const v=new Date(b);v.setDate(b.getDate()-29),v.setHours(0,0,0,0),f=new Date(b),f.setHours(23,59,59,999),c=v}if(g==="registration"){const{data:v,error:n}=await Y.from("users").select("id, created_at").gte("created_at",c.toISOString()).lte("created_at",f.toISOString());if(n)throw n;if(!v||v.length===0)return[];const w={};return v.forEach(a=>{const D=new Date(a.created_at).toISOString().split("T")[0],t=a.id;w[D]||(w[D]=new Set),w[D].add(t)}),Object.keys(w).sort().map(a=>({day:a,users:w[a].size,totalUniqueUsers:0}))}else if(g==="active"){const{data:v,error:n}=await Y.from("user_views").select("user_id, viewed_at").gte("viewed_at",c.toISOString()).lte("viewed_at",f.toISOString()).not("user_id","is",null);if(n)throw n;if(!v||v.length===0)return[];const w={};v.forEach(o=>{const u=o.user_id;w[u]=(w[u]||0)+1});const a=Object.keys(w).filter(o=>w[o]>4);if(a.length===0)return[];const i=new Set(a),D=v.filter(o=>i.has(String(o.user_id)));if(D.length===0)return[];const t={};return D.forEach(o=>{const s=new Date(o.viewed_at).toISOString().split("T")[0],S=o.user_id;t[s]||(t[s]=new Set),t[s].add(S)}),Object.keys(t).sort().map(o=>({day:o,users:t[o].size,totalUniqueUsers:0}))}else{const v=new Date(f);v.setHours(23,59,59,999);const{data:n,error:w}=await Y.from("users").select("id, created_at").lte("created_at",v.toISOString()).order("created_at");if(w)throw w;const a=[],i=new Date(c);for(;i<=v;)a.push(i.toISOString().split("T")[0]),i.setDate(i.getDate()+1);return!n||n.length===0?a.map(t=>({day:t,users:0,totalUniqueUsers:0})):a.map(t=>{const o=new Date(t);o.setHours(23,59,59,999);const u=new Set;return n.forEach(s=>{new Date(s.created_at)<=o&&u.add(s.id)}),{day:t,users:u.size,totalUniqueUsers:u.size}})}}else if(m==="weekly"){let c,f;if(E&&x)c=new Date(E),c.setHours(0,0,0,0),f=new Date(x),f.setHours(23,59,59,999);else{const a=new Date(b);a.setDate(b.getDate()-84),a.setHours(0,0,0,0),f=new Date(b),f.setHours(23,59,59,999),c=a}const v=new Date(f);v.setHours(23,59,59,999);let n,w;if(g==="registration"||g==="all"){const a=await Y.from("users").select("id, created_at").lte("created_at",v.toISOString()).order("created_at");n=a.data||[],w=a.error}else if(g==="active"){const a=await Y.from("user_views").select("user_id, viewed_at").lte("viewed_at",v.toISOString()).not("user_id","is",null).order("viewed_at");n=a.data||[],w=a.error}if(w)throw w;if(!n||n.length===0)return[];if(g==="all"){const a=[],i=new Date(c);for(;i<=f;){const t=i.getDay();let o=0;t===0?o=1:t!==6&&(o=6-t);const u=new Date(i);u.setDate(i.getDate()-o),u.setHours(0,0,0,0);const s=u.toISOString().split("T")[0];a.includes(s)||a.push(s),i.setDate(i.getDate()+7)}return a.sort().map(t=>{const o=new Date(t+"T00:00:00"),u=new Date(o);u.setDate(o.getDate()+5),u.setHours(23,59,59,999);const s=new Set;return n.forEach(S=>{new Date(S.created_at)<=u&&s.add(S.id)}),{day:t,users:s.size,totalUniqueUsers:s.size}})}else if(g==="registration"){const a=[],i=new Date(c);for(;i<=f;){const t=i.getDay();let o=0;t===0?o=1:t!==6&&(o=6-t);const u=new Date(i);u.setDate(i.getDate()-o),u.setHours(0,0,0,0);const s=u.toISOString().split("T")[0];a.includes(s)||a.push(s),i.setDate(i.getDate()+7)}return a.sort().map(t=>{const o=new Date(t+"T00:00:00"),u=new Date(o);u.setDate(o.getDate()+5),u.setHours(23,59,59,999);const s=new Set;return n.forEach(S=>{const U=new Date(S.created_at);U>=o&&U<=u&&s.add(S.id)}),{day:t,users:s.size,totalUniqueUsers:0}})}else if(g==="active"){const a=[],i=new Date(c);for(;i<=f;){const t=i.getDay();let o=0;t===0?o=1:t!==6&&(o=6-t);const u=new Date(i);u.setDate(i.getDate()-o),u.setHours(0,0,0,0);const s=u.toISOString().split("T")[0];a.includes(s)||a.push(s),i.setDate(i.getDate()+7)}return a.sort().map(t=>{const o=new Date(t+"T00:00:00"),u=new Date(o);u.setDate(o.getDate()+5),u.setHours(23,59,59,999);const s=n.filter(M=>{const H=new Date(M.viewed_at);return H>=o&&H<=u}),S={};s.forEach(M=>{const H=M.user_id;S[H]=(S[H]||0)+1});const U=Object.keys(S).filter(M=>S[M]>4);return{day:t,users:U.length,totalUniqueUsers:0}})}}else if(m==="monthly"){let c,f;if(E&&x)c=new Date(E),c.setHours(0,0,0,0),f=new Date(x),f.setHours(23,59,59,999);else{const a=new Date(b);a.setMonth(b.getMonth()-12),a.setHours(0,0,0,0),f=new Date(b),f.setHours(23,59,59,999),c=a}const v=new Date(f);v.setHours(23,59,59,999);let n,w;if(g==="registration"||g==="all"){const a=await Y.from("users").select("id, created_at").lte("created_at",v.toISOString()).order("created_at");n=a.data||[],w=a.error}else if(g==="active"){const a=await Y.from("user_views").select("user_id, viewed_at").lte("viewed_at",v.toISOString()).not("user_id","is",null).order("viewed_at");n=a.data||[],w=a.error}if(w)throw w;if(!n||n.length===0)return[];if(g==="all"){const a=[],i=new Date(c);for(;i<=f;){const t=P(i),o=`${t.jYear()}-${String(t.jMonth()+1).padStart(2,"0")}`;a.includes(o)||a.push(o),i.setMonth(i.getMonth()+1)}return a.sort().map(t=>{const[o,u]=t.split("-"),s=P().jYear(Number(o)).jMonth(Number(u)-1).endOf("jMonth").toDate();s.setHours(23,59,59,999);const S=new Set;return n.forEach(U=>{new Date(U.created_at)<=s&&S.add(U.id)}),{day:t,users:S.size,totalUniqueUsers:S.size}})}else if(g==="registration"){const a=[],i=new Date(c);for(;i<=f;){const t=P(i),o=`${t.jYear()}-${String(t.jMonth()+1).padStart(2,"0")}`;a.includes(o)||a.push(o),i.setMonth(i.getMonth()+1)}return a.sort().map(t=>{const[o,u]=t.split("-"),s=P().jYear(Number(o)).jMonth(Number(u)-1).startOf("jMonth").toDate();s.setHours(0,0,0,0);const S=P().jYear(Number(o)).jMonth(Number(u)-1).endOf("jMonth").toDate();S.setHours(23,59,59,999);const U=new Set;return n.forEach(M=>{const H=new Date(M.created_at);H>=s&&H<=S&&U.add(M.id)}),{day:t,users:U.size,totalUniqueUsers:0}})}else if(g==="active"){const a=[],i=new Date(c);for(;i<=f;){const t=P(i),o=`${t.jYear()}-${String(t.jMonth()+1).padStart(2,"0")}`;a.includes(o)||a.push(o),i.setMonth(i.getMonth()+1)}return a.sort().map(t=>{const[o,u]=t.split("-"),s=P().jYear(Number(o)).jMonth(Number(u)-1).startOf("jMonth").toDate();s.setHours(0,0,0,0);const S=P().jYear(Number(o)).jMonth(Number(u)-1).endOf("jMonth").toDate();S.setHours(23,59,59,999);const U=n.filter(W=>{const K=new Date(W.viewed_at);return K>=s&&K<=S}),M={};U.forEach(W=>{const K=W.user_id;M[K]=(M[K]||0)+1});const H=Object.keys(M).filter(W=>M[W]>4);return{day:t,users:H.length,totalUniqueUsers:0}})}}},fe="music_macharta_audio",ve="music_macharta_video";function Tt(L){const m={};return L.forEach(p=>{const E=Number(p.hour)||0;m[E]||(m[E]={audioViews:0,videoViews:0});const x=Number(p.views||0);p.type===fe?m[E].audioViews+=x:p.type===ve&&(m[E].videoViews+=x)}),Object.keys(m).map(p=>({hour:Number(p),audioViews:m[Number(p)].audioViews,videoViews:m[Number(p)].videoViews}))}function At(L){const m={};return L.forEach(p=>{const E=p.day||"";if(!E)return;m[E]||(m[E]={audioViews:0,videoViews:0});const x=Number(p.views||0);p.type===fe?m[E].audioViews+=x:p.type===ve&&(m[E].videoViews+=x)}),Object.keys(m).sort().map(p=>({day:p,audioViews:m[p].audioViews,videoViews:m[p].videoViews}))}function Mt(L){const m=L.getDay();let p=0;m===0?p=1:m!==6&&(p=6-m);const E=new Date(L);return E.setDate(L.getDate()-p),E.setHours(0,0,0,0),E.toISOString().split("T")[0]}function $t(L){const m={};return L.forEach(p=>{const E=new Date(`${p.day}T00:00:00`),x=Mt(E);m[x]||(m[x]={audioViews:0,videoViews:0});const g=Number(p.views||0);p.type===fe?m[x].audioViews+=g:p.type===ve&&(m[x].videoViews+=g)}),Object.keys(m).sort().map(p=>({day:p,audioViews:m[p].audioViews,videoViews:m[p].videoViews}))}function Lt(L){const m={};return L.forEach(p=>{const E=new Date(`${p.day}T00:00:00`),x=P(E),g=`${x.jYear()}-${String(x.jMonth()+1).padStart(2,"0")}`;m[g]||(m[g]={audioViews:0,videoViews:0});const b=Number(p.views||0);p.type===fe?m[g].audioViews+=b:p.type===ve&&(m[g].videoViews+=b)}),Object.keys(m).sort().map(p=>({day:p,audioViews:m[p].audioViews,videoViews:m[p].videoViews}))}async function Ft(L,m){const{data:p,error:E}=await Y.from("user_views_hourly").select("type, day, hour, views").in("type",[fe,ve]).gte("day",L).lte("day",m).order("day").order("hour");if(E)throw E;return p||[]}async function qe(L,m){const{data:p,error:E}=await Y.from("user_views_hourly").select("type, day, views").in("type",[fe,ve]).gte("day",L).lte("day",m).order("day");if(E)throw E;return p||[]}const Ht=async L=>{const{type:m,date:p,startDate:E,endDate:x}=L,g=p?new Date(p):new Date;if(m==="hourly"){let b,c;E&&x?(b=E,c=x):(b=g.toISOString().split("T")[0],c=b);const f=await Ft(b,c);return Tt(f)}if(m==="daily"){let b,c;if(E&&x)b=E,c=x;else{const v=new Date(g);v.setDate(g.getDate()-29),b=v.toISOString().split("T")[0],c=g.toISOString().split("T")[0]}const f=await qe(b,c);return At(f)}if(m==="weekly"){let b,c;if(E&&x)b=E,c=x;else{const v=new Date(g);v.setDate(g.getDate()-84),b=v.toISOString().split("T")[0],c=g.toISOString().split("T")[0]}const f=await qe(b,c);return $t(f)}if(m==="monthly"){let b,c;if(E&&x)b=E,c=x;else{const v=new Date(g);v.setMonth(g.getMonth()-11),b=v.toISOString().split("T")[0],c=g.toISOString().split("T")[0]}const f=await qe(b,c);return Lt(f)}return[]},Te="/assets/story-1-1bf4c2bf.svg",Ae="/assets/story-2-1ee079e7.svg",Me="/assets/story-3-3cc2145b.svg",Ye="/assets/story-4-d1c9c754.svg",Nt="/assets/story-5-25032198.svg",Rt={class:"m-2 md:m-5 bg-white p-2 md:p-3 rounded-xl"},zt={class:"mb-8"},Bt=e("h2",{class:"text-xl font-bold mb-4"},"نمای کلی کاربران",-1),Yt={class:"grid grid-cols-1 md:grid-cols-4 md:gap-3 mt-3"},Pt={class:"col-span-1 border-solid border-1 border-gray-200 rounded-lg"},Wt={class:"p-4"},Kt=Ke('<span class="font-semibold text-base block mb-4">آخرین اعضاء</span><div class="grid grid-cols-10 bg-[#FCFCFC] p-2 items-center text-sm text-[#1F2937] font-semibold"><span class="col-span-2 text-right">ردیف</span><span class="col-span-4 text-right">نام</span><span class="col-span-4 text-right">شماره همراه</span></div>',2),Gt={class:"overflow-y-auto",style:{"max-height":"250px"}},Xt={key:0,class:"flex justify-center items-center py-10"},Jt={key:1,class:"flex flex-col gap-4 mt-4"},Qt={class:"col-span-2 text-center"},Zt={class:"col-span-4 text-right"},es={class:"col-span-4 text-right"},ts={class:"col-span-3 border-solid border-1 border-gray-200 rounded-lg p-6"},ss={class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center"},as=e("span",{class:"text-lg font-bold"},"نمودار آماری کاربران",-1),os={class:"flex flex-wrap items-center gap-2"},rs={class:"w-32"},is=e("span",{class:"text-gray-500"},"تا",-1),ns={class:"w-32"},ls={class:"w-20r"},cs={class:"flex flex-wrap justify-center gap-3 md:gap-6 mt-4"},us=e("span",{class:"text-sm text-[#6B7280]"}," آمار کلی کاربران ",-1),ds=e("span",{class:"text-sm text-[#6B7280]"}," آمار ثبت نام کاربران ",-1),_s=e("span",{class:"text-sm text-[#6B7280]"}," آمار کاربران فعال ",-1),fs={class:"mb-8"},vs=e("h2",{class:"text-xl font-bold mb-4"},"نمای کلی قصه ها",-1),ws={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},hs={class:"flex"},ys=["src","alt"],ps={class:"flex flex-col justify-between w-full mr-2"},gs={class:"text-base font-bold"},ms={class:"flex items-center justify-end min-h-[24px]"},Ds={class:"text-base font-bold"},Ss={class:"mr-1"},bs={class:"grid grid-cols-1 md:grid-cols-4 gap-3 mt-3"},xs={class:"flex"},ks=["src","alt"],Is={class:"flex flex-col justify-between w-full mr-2"},Es={class:"text-base font-bold"},Os={class:"flex items-center justify-end min-h-[24px]"},Cs={class:"text-base font-bold"},js={class:"mr-1"},Vs={class:"grid grid-cols-1 md:grid-cols-4 md:gap-3 mt-3"},Us={class:"col-span-1 border-solid border-1 border-gray-200 rounded-lg"},qs={class:"p-4"},Ts=Ke('<span class="font-semibold text-base block mb-4">بازدید قصه ها</span><div class="grid grid-cols-12 bg-[#FCFCFC] p-2 items-center text-sm text-[#1F2937] font-semibold"><span class="col-span-2 text-right">ردیف</span><span class="col-span-4 text-right">قصه</span><span class="col-span-3 text-center">بازدید کننده</span><span class="col-span-3 text-center">بازدید</span></div>',2),As={class:"overflow-y-auto",style:{"max-height":"250px"}},Ms={key:0,class:"flex justify-center items-center py-10"},$s={key:1,class:"flex flex-col gap-4 mt-4"},Ls={class:"col-span-2 text-center"},Fs=["title"],Hs={class:"col-span-3 text-center"},Ns={class:"col-span-3 text-center"},Rs={class:"mt-4 flex justify-center"},zs={class:"col-span-3 border-solid border-1 border-gray-200 rounded-lg p-6"},Bs={class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center"},Ys=e("span",{class:"text-lg font-bold"},"قصه های دیده شده",-1),Ps={class:"flex flex-wrap items-center gap-2"},Ws={class:"w-32"},Ks=e("span",{class:"text-gray-500"},"تا",-1),Gs={class:"w-32"},Xs={class:"w-20r"},Js={class:"flex flex-wrap justify-center gap-3 md:gap-6 mt-4"},Qs=e("span",{class:"text-sm text-[#6B7280]"}," آمار بازدید کننده تجمیعی همه قصه ها ",-1),Zs=e("span",{class:"text-sm text-[#6B7280]"}," آمار بازدید همه قصه ها ",-1),ea=e("span",{class:"text-sm text-[#6B7280]"}," آمار بازدید کننده همه قصه ها ",-1),ta={class:"mb-8"},sa=e("h2",{class:"text-xl font-bold mb-4"},"نمای کلی موزیک ماچارتا",-1),aa={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},oa={class:"flex"},ra=["src","alt"],ia={class:"flex flex-col justify-between w-full mr-2"},na={class:"text-base font-bold"},la={class:"flex items-center justify-end min-h-[24px]"},ca={class:"text-base font-bold"},ua={class:"mr-1"},da={class:"grid grid-cols-1 md:grid-cols-4 md:gap-3 mt-3"},_a={class:"col-span-1 border-solid border-1 border-gray-200 rounded-lg"},fa={class:"p-4"},va={class:"grid grid-cols-12 bg-[#FCFCFC] p-2 items-center text-sm text-[#1F2937] font-semibold"},wa=e("span",{class:"col-span-2 text-right"},"ردیف",-1),ha={class:"col-span-4 text-right"},ya=e("span",{class:"col-span-3 text-center"},"بازدید کننده",-1),pa=e("span",{class:"col-span-3 text-center"},"بازدید",-1),ga={class:"overflow-y-auto",style:{"max-height":"250px"}},ma={key:0,class:"flex justify-center items-center py-10"},Da={key:1,class:"flex flex-col gap-4 mt-4"},Sa={class:"col-span-2 text-center"},ba=["title"],xa={class:"col-span-3 text-center"},ka={class:"col-span-3 text-center"},Ia={class:"mt-4 flex justify-center"},Ea={class:"col-span-3 border-solid border-1 border-gray-200 rounded-lg p-6"},Oa={class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center"},Ca=e("span",{class:"text-lg font-bold"},"نمودار بازدید موزیک ماچارتا",-1),ja={class:"flex flex-wrap items-center gap-2"},Va={class:"w-32"},Ua=e("span",{class:"text-gray-500"},"تا",-1),qa={class:"w-32"},Ta={class:"w-20r"},ao=Pe({__name:"index",setup(L){const m=Re,p=Re.TabPane,E=$(!0),x=$(!0),g=$("hourly"),b=$("hourly"),c=$("hourly"),f=$(["all"]),v=$(["cumulative_viewers"]),n=$(""),w=$(""),a=$(""),i=$(""),D=$(""),t=$(""),o=$([]),u=$([]),s=$({total_sale:0,count_order:0,new_customer:0,count_sale_order:0,max_buy_sale:[],active_users_week:0,total_story_views:0,today_total_story_views:0,unique_story_viewers:0,latest_story_views:0,total_audio_views:0,unique_audio_viewers:0,total_video_views:0,unique_video_viewers:0,new_users_last_7_days:0,new_users_last_30_days:0,active_users_last_week:0,active_users_last_month:0,active_users_saturday_to_friday:0,active_users_jalali_month:0,today_unique_story_viewers:0,this_week_story_views:0,this_month_jalali_story_views:0});te(()=>{let d=0;return o.value.forEach(_=>{d+=parseInt(_==null?void 0:_.sum_price)}),lt(d,!0,"")});const S=[{label:"ساعتی",value:"hourly"},{label:"روزانه",value:"daily"},{label:"هفتگی",value:"weekly"},{label:"ماهانه",value:"monthly"}];$([]);const U=$([]),M=$([]),H=$(null),W=$(null),K=$(null);let J=null,Q=null,Z=null;const $e=$([]),Le=$([]),ue=$("audio"),be=$(!1),me=te(()=>ue.value==="audio"?$e.value:Le.value),Fe=$([]),we=$([]),xe=$(!1),Ge=te(()=>we.value),Xe=te(()=>{var d,_,j,O;return[{title:"بازدید همه قصه ها",alt:"total-story-views-2",image:Te,value:((d=s.value.total_story_views)==null?void 0:d.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:"بازدید کننده امروز قصه ها",alt:"today-unique-story-viewers-2",image:Me,value:((_=s.value.today_unique_story_viewers)==null?void 0:_.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"بازدید فعال این هفته قصه ها",alt:"this-week-story-views-2",image:Ae,value:((j=s.value.this_week_story_views)==null?void 0:j.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:" بازدید فعال این ماه قصه ها",alt:"this-month-jalali-story-views-2",image:Ye,value:((O=s.value.this_month_jalali_story_views)==null?void 0:O.toLocaleString("fa-IR"))||"0",unit:"بازدید"}]}),Je=te(()=>{var d,_,j,O;return[{title:"بازدید کننده قصه ها",alt:"total-story-views-2-second",image:Te,value:((d=s.value.total_story_viewers)==null?void 0:d.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:"بازدید کننده پیگیر قصه ها",alt:"unique-story-viewers-2-second",image:Me,value:((_=s.value.unique_story_viewers)==null?void 0:_.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"بازدید هفته گذشته قصه ها ",alt:"today-story-views-2-second",image:Ae,value:((j=s.value.today_total_story_views)==null?void 0:j.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:"بازدید آخرین قصه",alt:"latest-story-views-2-second",image:Nt,value:((O=s.value.latest_story_views)==null?void 0:O.toLocaleString("fa-IR"))||"0",unit:"بازدید"}]}),Qe=te(()=>{var d,_,j,O;return[{title:"بازدید کل صوت",alt:"total-audio-views",image:Te,value:((d=s.value.total_audio_views)==null?void 0:d.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:"بازدید کننده صوت",alt:"unique-audio-viewers",image:Ae,value:((_=s.value.unique_audio_viewers)==null?void 0:_.toLocaleString("fa-IR"))||"0",unit:"نفر"},{title:"بازدید کل تصویر",alt:"total-video-views",image:Me,value:((j=s.value.total_video_views)==null?void 0:j.toLocaleString("fa-IR"))||"0",unit:"بازدید"},{title:"بازدید کننده تصویر",alt:"unique-video-viewers",image:Ye,value:((O=s.value.unique_video_viewers)==null?void 0:O.toLocaleString("fa-IR"))||"0",unit:"نفر"}]});te(()=>{let d=0;return U.value.forEach(_=>{d+=Number((_==null?void 0:_.views)||0)}),d.toLocaleString("fa-IR")}),te(()=>{if(!u.value||u.value.length===0)return"0";const d=u.value[0];return d&&d.totalUniqueUsers!==void 0?d.totalUniqueUsers.toLocaleString("fa-IR"):Math.max(...u.value.map(j=>Number((j==null?void 0:j.users)||0))).toLocaleString("fa-IR")});const ke=(d,_,j,O,l)=>{if(!O)return null;let V=l;V||(V=Ve(O));const C={backgroundColor:"transparent",tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.8)",borderColor:"#2563EB",borderWidth:1,textStyle:{color:"#fff",fontSize:12,fontFamily:"iran-sans"},axisPointer:{type:"line",lineStyle:{color:"#2563EB",width:1,type:"dashed"},shadowStyle:{color:"rgba(37, 99, 235, 0.1)"}},formatter:q=>{let h=`<div style="padding: 8px;">
<div style="font-weight: bold; margin-bottom: 4px;">${q[0].name}</div>`;return q.forEach(y=>{h+=`<div style="color: ${y.color}; margin-top: 4px;">
${y.seriesName}: <span style="color: #fff; font-weight: bold;">${y.value.toLocaleString("fa-IR")}</span>
</div>`}),h+="</div>",h}},legend:{data:["بازدید کل صوت","بازدید کل تصویر"],top:10,right:10,textStyle:{color:"#6B7280",fontSize:12,fontFamily:"iran-sans"}},grid:{left:"5%",right:"5%",bottom:"10%",top:"15%",containLabel:!0},xAxis:{type:"category",data:d,boundaryGap:!1,axisLine:{lineStyle:{color:"#E5E7EB",width:1}},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",rotate:c.value==="daily"||c.value==="weekly"||c.value==="monthly"?45:0,margin:12},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",formatter:q=>Math.round(q).toLocaleString("fa-IR")},minInterval:1,scale:!1,splitLine:{lineStyle:{color:"#F3F4F6",type:"dashed",width:1}}},series:[{name:"بازدید کل صوت",type:"line",smooth:!0,symbol:"circle",symbolSize:6,showSymbol:!1,data:_,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(239, 68, 68, 0.4)"},{offset:1,color:"rgba(239, 68, 68, 0.05)"}]}},lineStyle:{width:3,color:"#EF4444"},itemStyle:{color:"#EF4444",borderColor:"#fff",borderWidth:2}},{name:"بازدید کل تصویر",type:"line",smooth:!0,symbol:"circle",symbolSize:6,showSymbol:!1,data:j,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(34, 197, 94, 0.4)"},{offset:1,color:"rgba(34, 197, 94, 0.05)"}]}},lineStyle:{width:3,color:"#22C55E"},itemStyle:{color:"#22C55E",borderColor:"#fff",borderWidth:2}}]};return V.setOption(C,!0),V},Ze=async()=>{x.value=!0;try{const d=await Vt(10);s.value.count_sale_order=d.usersStats.total,s.value.new_customer=d.usersStats.today,s.value.count_order=d.activeUsersSummary.active_users_week,s.value.active_users_week=d.activeUsersSummary.active_users_week,s.value.active_users_last_week=d.activeUsersSummary.active_users_last_week,s.value.active_users_last_month=d.activeUsersSummary.active_users_last_month,s.value.total_sale=String(d.activeUsersSummary.active_users_month),s.value.active_users_saturday_to_friday=d.activeUsersSummary.active_users_week,s.value.active_users_jalali_month=d.activeUsersSummary.active_users_month,Fe.value=d.latestUsers||[],s.value.total_story_views=d.storyViewsSummary.total_story_views,s.value.unique_story_viewers=d.storyViewsSummary.unique_story_viewers,s.value.latest_story_views=d.storyViewsSummary.latest_story_views,we.value=d.storyViewsSummary.story_views_stats||[],s.value.total_audio_views=d.musicMachartaViewsSummary.total_audio_views,s.value.unique_audio_viewers=d.musicMachartaViewsSummary.unique_audio_viewers,s.value.total_video_views=d.musicMachartaViewsSummary.total_video_views,s.value.unique_video_viewers=d.musicMachartaViewsSummary.unique_video_viewers,$e.value=d.musicMachartaViewsSummary.audio_views_stats||[],Le.value=d.musicMachartaViewsSummary.video_views_stats||[],s.value.new_users_last_7_days=d.newUsersLast7Days,s.value.new_users_last_30_days=d.newUsersLast30Days,s.value.today_unique_story_viewers=d.todayUniqueStoryViewers,s.value.this_week_story_views=d.storyViews.story_view_week,s.value.today_total_story_views=d.storyViews.story_view_last_week,s.value.this_month_jalali_story_views=d.storyViews.story_view_month,s.value.total_story_viewers=d.storyViews.uniqAllStoryView}catch{}finally{x.value=!1}if(!E.value)try{const d=await jt();s.value={...s.value,...d}}catch{}},Ie=d=>{const _=f.value.indexOf(d);_>-1?f.value.length>1&&f.value.splice(_,1):f.value.push(d),he()},Ee=d=>{const _=v.value.indexOf(d);_>-1?v.value.length>1&&v.value.splice(_,1):v.value.push(d),ye()},Oe=d=>({"بازدید همه قصه ها":"این عدد آمار بازدیدکنندگان همه قصه‌ها از اول تا حالا را نشان می‌دهد","بازدید کننده امروز قصه ها":"این عدد تعداد کاربران منحصر به فردی است که امروز حداقل یک قصه را دیده‌اند","بازدید فعال این هفته قصه ها":"این عدد بازدید نهایی همه قصه‌ها در هفته گذشته است"," بازدید فعال این ماه قصه ها":"این عدد بازدید نهایی همه قصه‌ها در ماه جاری (شمسی) است","بازدید کننده قصه ها":"این عدد تعداد کل کاربران منحصر به فردی است که از اول تا حالا حداقل یک قصه را دیده‌اند","بازدید کننده پیگیر قصه ها":"این عدد آمار کسانی است که در 15 روز گذشته حداقل 4 بازدید ثبت کرده‌اند","بازدید هفته گذشته قصه ها ":"این عدد تعداد کل بازدیدهای قصه‌ها در هفته گذشته است","بازدید آخرین قصه":"این عدد تعداد کل بازدیدهای آخرین قصه منتشر شده است","بازدید کل صوت":"این عدد تعداد کل بازدیدهای همه فایل‌های صوتی موزیک ماچارتا از ابتدا تا کنون است","بازدید کننده صوت":"این عدد تعداد کاربران منحصر به فردی است که حداقل یک فایل صوتی موزیک ماچارتا را دیده‌اند","بازدید کل تصویر":"این عدد تعداد کل بازدیدهای همه ویدیوهای موزیک ماچارتا از ابتدا تا کنون است","بازدید کننده تصویر":"این عدد تعداد کاربران منحصر به فردی است که حداقل یک ویدیوی موزیک ماچارتا را دیده‌اند"})[d]||"",he=async()=>{try{if(f.value.length===0)return;const d=new Date().toISOString().split("T")[0],_=f.value.map(async h=>{const y={type:b.value,date:d,statType:h};n.value&&w.value&&(y.startDate=n.value,y.endDate=w.value,delete y.date);const r=await qt(y);return{statType:h,data:r||[]}}),j=await Promise.all(_);let O=[];const l={};j.forEach(({statType:h})=>{l[h]||(l[h]=[])});const V=new Set;if(j.forEach(({data:h})=>{b.value==="hourly"?h.forEach(y=>{const r=Number(y.hour)||0;V.add(String(r))}):h.forEach(y=>{const r=y.day||"";r&&V.add(r)})}),b.value==="hourly")for(let h=0;h<=24;h++){const y=h===24?"24:00":`${h.toString().padStart(2,"0")}:00`;O.push(y)}else Array.from(V).sort().forEach(y=>{if(b.value==="daily")O.push(ae(y));else if(b.value==="weekly")try{const r=new Date(y+"T00:00:00"),I=new Date(r);I.setDate(r.getDate()+5);const T=ae(y)+" تا "+ae(I.toISOString().split("T")[0]);O.push(T)}catch{O.push(y)}else if(b.value==="monthly"){const[r,I]=y.split("-"),T=`${r}/${I}`;O.push(T)}});j.forEach(({statType:h,data:y})=>{var r,I;if(b.value==="hourly"){const T={};y.forEach(z=>{const B=Number(z.hour)||0,oe=Number((z==null?void 0:z.users)||0),re=Number((z==null?void 0:z.totalUniqueUsers)||0);T[B]={users:oe,totalUniqueUsers:re}});for(let z=0;z<=24;z++){const B=((r=T[z])==null?void 0:r.totalUniqueUsers)||((I=T[z])==null?void 0:I.users)||0;l[h].push(Math.round(B))}}else{const T={};y.forEach(B=>{const oe=B.day||"",re=Number((B==null?void 0:B.users)||0),Se=Number((B==null?void 0:B.totalUniqueUsers)||0);T[oe]={users:re,totalUniqueUsers:Se}}),Array.from(V).sort().forEach(B=>{var re,Se;const oe=((re=T[B])==null?void 0:re.totalUniqueUsers)||((Se=T[B])==null?void 0:Se.users)||0;l[h].push(Math.round(oe))})}});const C=f.value.map(h=>({name:h==="all"?"آمار کلی کاربران":h==="registration"?"آمار ثبت نام کاربران":"آمار کاربران فعال",data:l[h]||[]}));if(await ie(),!H.value){setTimeout(()=>{if(H.value){const h=Ce(O,C,H.value,J);h&&(J=h)}},100);return}const q=Ce(O,C,H.value,J);q&&(J=q)}catch{if(await ie(),H.value){const _=Ce([],[],H.value,J);_&&(J=_)}}},Ce=(d,_,j,O)=>{if(!j)return O;let l=O;l||(l=Ve(j));const V={"آمار کلی کاربران":{main:"#F97316",light:"#FB923C",gradient:["rgba(249, 115, 22, 0.4)","rgba(249, 115, 22, 0.05)"]},"آمار ثبت نام کاربران":{main:"#3B82F6",light:"#60A5FA",gradient:["rgba(59, 130, 246, 0.4)","rgba(59, 130, 246, 0.05)"]},"آمار کاربران فعال":{main:"#22C55E",light:"#4ADE80",gradient:["rgba(34, 197, 94, 0.4)","rgba(34, 197, 94, 0.05)"]}},C=_.map((h,y)=>{const r=V[h.name]||V["آمار کلی کاربران"];return{name:h.name,type:"line",smooth:!0,symbol:"circle",symbolSize:6,showSymbol:!1,data:h.data,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:r.gradient[0]},{offset:1,color:r.gradient[1]}]}},lineStyle:{width:3,color:{type:"linear",x:0,y:0,x2:1,y2:0,colorStops:[{offset:0,color:r.main},{offset:1,color:r.light}]},shadowColor:r.main.replace(")",", 0.5)").replace("rgb","rgba"),shadowBlur:10,shadowOffsetY:5},itemStyle:{color:r.main,borderColor:"#fff",borderWidth:2,shadowBlur:8,shadowColor:r.main.replace(")",", 0.5)").replace("rgb","rgba")},emphasis:{focus:"series",itemStyle:{color:r.main,borderColor:"#fff",borderWidth:3,shadowBlur:12,shadowColor:r.main.replace(")",", 0.8)").replace("rgb","rgba")}},animation:!0,animationDuration:1e3,animationEasing:"cubicOut"}}),q={backgroundColor:"transparent",tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.8)",borderColor:"#F97316",borderWidth:1,textStyle:{color:"#fff",fontSize:12,fontFamily:"iran-sans"},axisPointer:{type:"line",lineStyle:{color:"#F97316",width:1,type:"dashed"},shadowStyle:{color:"rgba(249, 115, 22, 0.1)"}},formatter:h=>{let y=`<div style="padding: 8px;">
<div style="font-weight: bold; margin-bottom: 4px;">${h[0].name}</div>`;return h.forEach(r=>{y+=`<div style="color: ${r.color}; margin-top: 4px;">
${r.seriesName}: <span style="color: #fff; font-weight: bold;">${r.value.toLocaleString("fa-IR")}</span>
</div>`}),y+="</div>",y}},legend:{data:_.map(h=>h.name),top:10,right:10,textStyle:{color:"#6B7280",fontSize:12,fontFamily:"iran-sans"}},grid:{left:"5%",right:"5%",bottom:"10%",top:"15%",containLabel:!0},xAxis:{type:"category",data:d,boundaryGap:!1,axisLine:{lineStyle:{color:"#E5E7EB",width:1}},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",rotate:b.value==="daily"||b.value==="weekly"||b.value==="monthly"?45:0,margin:12},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",formatter:h=>Math.round(h).toLocaleString("fa-IR")},minInterval:1,scale:!1,splitLine:{lineStyle:{color:"#F3F4F6",type:"dashed",width:1}}},series:C};return l.setOption(q,!0),l},ye=async()=>{try{const d=new Date().toISOString().split("T")[0],_=v.value.map(async h=>{const y={type:g.value,date:d,statType:h};a.value&&i.value&&(y.startDate=a.value,y.endDate=i.value,delete y.date);const r=await Ut(y);return{statType:h,data:r||[]}}),j=await Promise.all(_);let O=[];const l={};v.value.forEach(h=>{l[h]=[]});const V=new Set;if(j.forEach(({data:h})=>{g.value==="hourly"?h.forEach(y=>{if(y.hour!==void 0)V.add(String(y.hour));else if(y.day){const r=Number(y.hour)||0;V.add(`${y.day}_${r}`)}}):h.forEach(y=>{const r=y.day||"";r&&V.add(r)})}),g.value==="hourly")for(let h=0;h<=24;h++){const y=h===24?"24:00":`${h.toString().padStart(2,"0")}:00`;O.push(y)}else Array.from(V).sort().forEach(y=>{if(g.value==="daily")O.push(ae(y));else if(g.value==="weekly")try{const r=new Date(y+"T00:00:00"),I=new Date(r);I.setDate(r.getDate()+5);const T=ae(y)+" تا "+ae(I.toISOString().split("T")[0]);O.push(T)}catch{O.push(y)}else if(g.value==="monthly"){const[r,I]=y.split("-"),T=`${r}/${I}`;O.push(T)}});j.forEach(({statType:h,data:y})=>{const r={};g.value==="hourly"?h==="total_views"?y.forEach(I=>{const T=Number(I.hour)||0,z=Number((I==null?void 0:I.views)||0),B=String(T);r[B]=(r[B]||0)+z}):y.forEach(I=>{const T=I.day||"",z=Number(I.hour)||0,B=`${T}_${z}`,oe=Number((I==null?void 0:I.views)||0);r[B]=oe}):y.forEach(I=>{const T=I.day||"",z=Number((I==null?void 0:I.views)||0);h==="total_views"?r[T]=(r[T]||0)+z:r[T]=z}),O.forEach(I=>{let T=I;if(g.value==="daily")T=P(I,"jYYYY/jMM/jDD").format("YYYY-MM-DD");else if(g.value==="weekly"){const B=I.split(" تا ");T=P(B[0],"jYYYY/jMM/jDD").format("YYYY-MM-DD")}else if(g.value==="monthly")T=P(I,"jYYYY/jMM").format("YYYY-MM");else if(g.value==="hourly")if(h==="total_views")T=String(parseInt(I.split(":")[0]));else{const B=parseInt(I.split(":")[0]);T=Object.keys(r).find(re=>re.endsWith(`_${B}`))||String(B)}const z=r[T]||0;l[h].push(Math.round(z))})});const C=v.value.map(h=>({name:h==="cumulative_viewers"?"آمار بازدید کننده تجمیعی همه قصه ها":h==="total_views"?"آمار بازدید همه قصه ها":"آمار بازدید کننده همه قصه ها",data:l[h]||[],color:h==="cumulative_viewers"?"#3B82F6":h==="total_views"?"#F97316":"#22C55E"}));if(await ie(),!W.value){setTimeout(()=>{if(W.value){const h=je(O,C,W.value,Q);h&&(Q=h)}},100);return}const q=je(O,C,W.value,Q);q&&(Q=q)}catch{if(await ie(),W.value){const _=je([],[],W.value,Q);_&&(Q=_)}}},je=(d,_,j,O)=>{if(!j)return O;let l=O;l||(l=Ve(j));const V={backgroundColor:"transparent",tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.8)",borderColor:"#3B82F6",borderWidth:1,textStyle:{color:"#fff",fontSize:12,fontFamily:"iran-sans"},axisPointer:{type:"line",lineStyle:{color:"#3B82F6",width:1,type:"dashed"},shadowStyle:{color:"rgba(59, 130, 246, 0.1)"}},formatter:C=>{let q=`<div style="padding: 8px;">
<div style="font-weight: bold; margin-bottom: 4px;">${C[0].name}</div>`;return C.forEach(h=>{q+=`<div style="color: ${h.color}; margin-top: 4px;">
${h.seriesName}: <span style="color: #fff; font-weight: bold;">${h.value.toLocaleString("fa-IR")}</span>
</div>`}),q+="</div>",q}},legend:{data:_.map(C=>C.name),top:10,right:10,textStyle:{color:"#6B7280",fontSize:12,fontFamily:"iran-sans"}},grid:{left:"5%",right:"5%",bottom:"10%",top:"15%",containLabel:!0},xAxis:{type:"category",data:d,boundaryGap:!1,axisLine:{lineStyle:{color:"#E5E7EB",width:1}},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",rotate:g.value==="daily"||g.value==="weekly"||g.value==="monthly"?45:0,margin:12},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#6B7280",fontSize:11,fontFamily:"iran-sans",formatter:C=>Math.round(C).toLocaleString("fa-IR")},minInterval:1,scale:!1,splitLine:{lineStyle:{color:"#F3F4F6",type:"dashed",width:1}}},series:_.map(C=>({name:C.name,type:"line",smooth:!0,symbol:"circle",symbolSize:6,showSymbol:!1,data:C.data,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${C.color}40`},{offset:1,color:`${C.color}0D`}]}},lineStyle:{width:3,color:C.color,shadowColor:`${C.color}80`,shadowBlur:10,shadowOffsetY:5},itemStyle:{color:C.color,borderColor:"#fff",borderWidth:2,shadowBlur:8,shadowColor:`${C.color}80`},emphasis:{focus:"series",itemStyle:{color:C.color,borderColor:"#fff",borderWidth:3,shadowBlur:12,shadowColor:`${C.color}CC`}},animation:!0,animationDuration:1e3,animationEasing:"cubicOut"}))};return l.setOption(V,!0),l},De=async()=>{var d,_;try{const j=new Date().toISOString().split("T")[0],O={type:c.value,date:j};D.value&&t.value&&(O.startDate=D.value,O.endDate=t.value,delete O.date);const l=await Ht(O);M.value=l||[];let V=[],C=[],q=[];if(c.value==="hourly"){const y={};M.value.forEach(r=>{const I=Number(r.hour)||0;y[I]={audio:Number((r==null?void 0:r.audioViews)||0),video:Number((r==null?void 0:r.videoViews)||0)}});for(let r=0;r<=24;r++){const I=r===24?"24:00":`${r.toString().padStart(2,"0")}:00`;V.push(I),C.push(((d=y[r])==null?void 0:d.audio)||0),q.push(((_=y[r])==null?void 0:_.video)||0)}}else if(c.value==="daily"){const y={};M.value.forEach(r=>{const I=r.day||"";y[I]={audio:Number((r==null?void 0:r.audioViews)||0),video:Number((r==null?void 0:r.videoViews)||0)}}),Object.keys(y).sort().forEach(r=>{V.push(ae(r)),C.push(y[r].audio),q.push(y[r].video)})}else if(c.value==="weekly"){const y={};M.value.forEach(r=>{const I=r.day||"";y[I]={audio:Number((r==null?void 0:r.audioViews)||0),video:Number((r==null?void 0:r.videoViews)||0)}}),Object.keys(y).sort().forEach(r=>{try{const I=new Date(r+"T00:00:00"),T=new Date(I);T.setDate(I.getDate()+5);const z=ae(r)+" تا "+ae(T.toISOString().split("T")[0]);V.push(z),C.push(y[r].audio),q.push(y[r].video)}catch{V.push(r),C.push(y[r].audio),q.push(y[r].video)}})}else if(c.value==="monthly"){const y={};M.value.forEach(r=>{const I=r.day||"";y[I]={audio:Number((r==null?void 0:r.audioViews)||0),video:Number((r==null?void 0:r.videoViews)||0)}}),Object.keys(y).sort().forEach(r=>{const[I,T]=r.split("-");V.push(`${I}/${T}`),C.push(y[r].audio),q.push(y[r].video)})}if(await ie(),!K.value){setTimeout(()=>{if(K.value){const y=ke(V,C,q,K.value,Z);y&&(Z=y)}},100);return}const h=ke(V,C,q,K.value,Z);h&&(Z=h)}catch{if(await ie(),K.value){const O=ke([],[],[],K.value,Z);O&&(Z=O)}}};at(async()=>{await Ze(),await ie(),await he(),await ye(),await ie(),await new Promise(d=>setTimeout(d,100)),await De(),window.addEventListener("resize",()=>{J&&J.resize(),Q&&Q.resize(),Z&&Z.resize()})}),ot(()=>{J&&(J.dispose(),J=null),Q&&(Q.dispose(),Q=null),Z&&(Z.dispose(),Z=null)});async function et(){if(me.value.length===0){const{message:d}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);d.warning("داده‌ای برای خروجی وجود ندارد");return}try{be.value=!0;const d=ue.value==="audio",_=me.value.map((h,y)=>({ردیف:y+1,[d?"صوت":"تصویر"]:h.title||"-","بازدید کننده":h.unique_viewers||0,بازدید:h.total_views||0})),j=await ne(()=>import("./xlsx-6ed613d4.js"),[]),O=j.utils.json_to_sheet(_),l=j.utils.book_new();j.utils.book_append_sheet(l,O,d?"بازدید صوت":"بازدید تصویر");const V=new Date().getTime(),C=d?`بازدید_صوت_موزیک_ماچارتا_${V}.xlsx`:`بازدید_تصویر_موزیک_ماچارتا_${V}.xlsx`;j.writeFile(l,C);const{message:q}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);q.success("فایل اکسل با موفقیت دانلود شد")}catch{const{message:_}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);_.error("خطا در خروجی اکسل")}finally{be.value=!1}}async function tt(){if(we.value.length===0){const{message:d}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);d.warning("داده‌ای برای خروجی وجود ندارد");return}try{xe.value=!0;const _=[...we.value].reverse().map((h,y)=>({ردیف:y+1,قصه:h.title||"-","بازدید کننده":h.unique_viewers||0,بازدید:h.total_views||0})),j=await ne(()=>import("./xlsx-6ed613d4.js"),[]),O=j.utils.json_to_sheet(_),l=j.utils.book_new();j.utils.book_append_sheet(l,O,"بازدید قصه ها");const C=`بازدید_قصه_ها_${new Date().getTime()}.xlsx`;j.writeFile(l,C);const{message:q}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);q.success("فایل اکسل با موفقیت دانلود شد")}catch{const{message:_}=await ne(()=>import("./index-6d2fe8b6.js"),["assets/index-6d2fe8b6.js","assets/index-c22a9b5b.js","assets/index-c7cfb6d0.js","assets/index-338b63e2.css","assets/vnode-d460d6f7.js","assets/_plugin-vue_export-helper-64344365.js","assets/isSymbol-39130b1f.js","assets/index-a85f4e3c.js","assets/toArray-69a6a276.js","assets/FormItemContext-c66bbc76.js","assets/pickAttrs-a95b5777.js","assets/useState-624b81a4.js","assets/index-394ef579.js","assets/styleChecker-2280acc2.js","assets/index-f2204652.js","assets/button.vue_vue_type_style_index_0_lang-976922e0.js","assets/Icon-d2a333f8.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/LeftOutlined-91e9e8a5.js","assets/css-aae66f86.js","assets/DialogWrap-c08d6860.js","assets/index-5ce472da.js","assets/index-ec42cf6b.js","assets/isPlainObject-9edbc0c5.js","assets/index-0fdf0cd9.js","assets/_flatRest-4bcfe4cb.js","assets/Col-85f675b3.js","assets/index-2c3e0423.js","assets/index-d35b7752.js","assets/index-234839ae.js","assets/index-a1df0b70.js","assets/isNumeric-3f69e2aa.js","assets/index-e47f37e1.js","assets/index-9585dc02.js","assets/index-accfa387.js","assets/index-70ad7783.js","assets/useRefs-ac12ba74.js","assets/updateLocale-4490df87.js","assets/index-2173586f.js","assets/dayjs-e9c7a473.js","assets/index-f553b547.js","assets/index-e011592a.js","assets/index-3a68b9a6.js"]);_.error("خطا در خروجی اکسل")}finally{xe.value=!1}}return(d,_)=>{const j=it,O=rt;return A(),R("div",Rt,[e("div",zt,[Bt,N(Ct,{statistics:k(s),loading:k(x)},null,8,["statistics","loading"]),e("div",Yt,[e("div",Pt,[e("div",Wt,[Kt,e("div",Gt,[k(x)?(A(),R("div",Xt,[N(k(ce))])):(A(),R("div",Jt,[(A(!0),R(G,null,le(k(Fe),(l,V)=>(A(),R("div",{class:"grid grid-cols-10 items-center items-center text-xs text-[#1F2937] font-semibold",key:V},[e("span",Qt,F(l.rank),1),e("span",Zt,F(l.name),1),e("span",es,F(l.mobile||"-"),1)]))),128))]))])])]),e("div",ts,[e("div",null,[e("div",ss,[as,e("div",os,[e("div",rs,[N(_e,{value:k(n),"onUpdate:value":[_[0]||(_[0]=l=>ee(n)?n.value=l:null),he]},null,8,["value"])]),is,e("div",ns,[N(_e,{value:k(w),"onUpdate:value":[_[1]||(_[1]=l=>ee(w)?w.value=l:null),he]},null,8,["value"])]),e("div",ls,[N(j,{value:k(b),"onUpdate:value":_[2]||(_[2]=l=>ee(b)?b.value=l:null),items:S,"key-name":"value","value-name":"label","allow-clear":!1,onChange:he,style:{cursor:"pointer"}},null,8,["value"])])])]),e("div",{ref_key:"chartContainer",ref:H,style:{width:"100%",height:"300px"}},null,512),e("div",cs,[e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[3]||(_[3]=l=>Ie("all"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(f).includes("all")?"#F97316":"#9CA3AF"})},null,4),us]),e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[4]||(_[4]=l=>Ie("registration"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(f).includes("registration")?"#F97316":"#9CA3AF"})},null,4),ds]),e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[5]||(_[5]=l=>Ie("active"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(f).includes("active")?"#F97316":"#9CA3AF"})},null,4),_s])])])])])]),e("div",fs,[vs,e("div",ws,[(A(!0),R(G,null,le(k(Xe),(l,V)=>(A(),se(ge,{class:"h-[120px] p-5",key:V+4},{default:X(()=>[N(k(pe),{title:Oe(l.title),placement:"top"},{default:X(()=>[e("div",hs,[e("div",null,[e("img",{class:"w-20 h-20",src:l.image,alt:l.alt},null,8,ys)]),e("div",ps,[e("div",null,[e("span",gs,F(l.title),1)]),e("div",ms,[k(x)?(A(),se(k(ce),{key:0,size:"small"})):(A(),R(G,{key:1},[e("span",Ds,F(l.value),1),e("span",Ss,F(l.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),e("div",bs,[(A(!0),R(G,null,le(k(Je),(l,V)=>(A(),se(ge,{class:"h-[120px] p-5",key:V+8},{default:X(()=>[N(k(pe),{title:Oe(l.title),placement:"top"},{default:X(()=>[e("div",xs,[e("div",null,[e("img",{class:"w-20 h-20",src:l.image,alt:l.alt},null,8,ks)]),e("div",Is,[e("div",null,[e("span",Es,F(l.title),1)]),e("div",Os,[k(x)?(A(),se(k(ce),{key:0,size:"small"})):(A(),R(G,{key:1},[e("span",Cs,F(l.value),1),e("span",js,F(l.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),e("div",Vs,[e("div",Us,[e("div",qs,[Ts,e("div",As,[k(x)?(A(),R("div",Ms,[N(k(ce))])):(A(),R("div",$s,[(A(!0),R(G,null,le(k(Ge),(l,V)=>{var C,q;return A(),R("div",{class:"grid grid-cols-12 items-center items-center text-xs text-[#1F2937] font-semibold",key:V},[e("span",Ls,F(V+1),1),e("span",{class:"col-span-4 text-right truncate",title:l.title},F(l.title||"-"),9,Fs),e("span",Hs,F(((C=l.unique_viewers)==null?void 0:C.toLocaleString("fa-IR"))||"0"),1),e("span",Ns,F(((q=l.total_views)==null?void 0:q.toLocaleString("fa-IR"))||"0"),1)])}),128))]))]),e("div",Rs,[N(O,{onClick:tt,loading:k(xe),disabled:k(we).length===0,style:{backgroundColor:"#217346",borderColor:"#217346",color:"#fff"},class:"excel-export-btn"},{default:X(()=>[N(Ne,{icon:"vuesax-linear:document-download",class:"mr-1"}),He(" خروجی اکسل ")]),_:1},8,["loading","disabled"])])])]),e("div",zs,[e("div",null,[e("div",Bs,[Ys,e("div",Ps,[e("div",Ws,[N(_e,{value:k(a),"onUpdate:value":[_[6]||(_[6]=l=>ee(a)?a.value=l:null),ye]},null,8,["value"])]),Ks,e("div",Gs,[N(_e,{value:k(i),"onUpdate:value":[_[7]||(_[7]=l=>ee(i)?i.value=l:null),ye]},null,8,["value"])]),e("div",Xs,[N(j,{value:k(g),"onUpdate:value":_[8]||(_[8]=l=>ee(g)?g.value=l:null),items:S,"key-name":"value","value-name":"label","allow-clear":!1,onChange:ye,style:{cursor:"pointer"}},null,8,["value"])])])]),e("div",{ref_key:"chartContainer2",ref:W,style:{width:"100%",height:"300px"}},null,512),e("div",Js,[e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[9]||(_[9]=l=>Ee("cumulative_viewers"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(v).includes("cumulative_viewers")?"#3B82F6":"#9CA3AF"})},null,4),Qs]),e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[10]||(_[10]=l=>Ee("total_views"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(v).includes("total_views")?"#3B82F6":"#9CA3AF"})},null,4),Zs]),e("div",{class:"flex items-center gap-2 cursor-pointer",onClick:_[11]||(_[11]=l=>Ee("unique_viewers"))},[e("div",{class:"w-3 h-3 rounded-full",style:de({backgroundColor:k(v).includes("unique_viewers")?"#3B82F6":"#9CA3AF"})},null,4),ea])])])])])]),e("div",ta,[sa,e("div",aa,[(A(!0),R(G,null,le(k(Qe),(l,V)=>(A(),se(ge,{class:"h-[120px] p-5",key:V+8},{default:X(()=>[N(k(pe),{title:Oe(l.title),placement:"top"},{default:X(()=>[e("div",oa,[e("div",null,[e("img",{class:"w-20 h-20",src:l.image,alt:l.alt},null,8,ra)]),e("div",ia,[e("div",null,[e("span",na,F(l.title),1)]),e("div",la,[k(x)?(A(),se(k(ce),{key:0,size:"small"})):(A(),R(G,{key:1},[e("span",ca,F(l.value),1),e("span",ua,F(l.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),e("div",da,[e("div",_a,[e("div",fa,[N(k(m),{activeKey:k(ue),"onUpdate:activeKey":_[12]||(_[12]=l=>ee(ue)?ue.value=l:null),size:"small"},{default:X(()=>[N(k(p),{key:"audio",tab:"صوت"}),N(k(p),{key:"video",tab:"تصویر"})]),_:1},8,["activeKey"]),e("div",va,[wa,e("span",ha,F(k(ue)==="audio"?"صوت":"تصویر"),1),ya,pa]),e("div",ga,[k(x)?(A(),R("div",ma,[N(k(ce))])):(A(),R("div",Da,[(A(!0),R(G,null,le(k(me),(l,V)=>{var C,q;return A(),R("div",{class:"grid grid-cols-12 items-center items-center text-xs text-[#1F2937] font-semibold",key:l.id},[e("span",Sa,F(V+1),1),e("span",{class:"col-span-4 text-right truncate",title:l.title},F(l.title||"-"),9,ba),e("span",xa,F(((C=l.unique_viewers)==null?void 0:C.toLocaleString("fa-IR"))||"0"),1),e("span",ka,F(((q=l.total_views)==null?void 0:q.toLocaleString("fa-IR"))||"0"),1)])}),128))]))]),e("div",Ia,[N(O,{onClick:et,loading:k(be),disabled:k(me).length===0,style:{backgroundColor:"#217346",borderColor:"#217346",color:"#fff"},class:"excel-export-btn"},{default:X(()=>[N(Ne,{icon:"vuesax-linear:document-download",class:"mr-1"}),He(" خروجی اکسل ")]),_:1},8,["loading","disabled"])])])]),e("div",Ea,[e("div",null,[e("div",Oa,[Ca,e("div",ja,[e("div",Va,[N(_e,{value:k(D),"onUpdate:value":[_[13]||(_[13]=l=>ee(D)?D.value=l:null),De]},null,8,["value"])]),Ua,e("div",qa,[N(_e,{value:k(t),"onUpdate:value":[_[14]||(_[14]=l=>ee(t)?t.value=l:null),De]},null,8,["value"])]),e("div",Ta,[N(j,{value:k(c),"onUpdate:value":_[15]||(_[15]=l=>ee(c)?c.value=l:null),items:S,"key-name":"value","value-name":"label","allow-clear":!1,onChange:De,style:{cursor:"pointer"}},null,8,["value"])])])]),e("div",{ref_key:"chartContainer3",ref:K,style:{width:"100%",height:"300px"}},null,512)])])])])])}}});export{ao as default};