hesabixCore/public_html/webui/assets/dashboard-a33b3e67.js

2 lines
21 KiB
JavaScript

import{_ as he,f as $e,a as H}from"./main-9b36f05f.js";import{V as $,k as _e,r as k,i as ye,n as z,I as G,H as W,l as be,O as b,J as xe,an as we,G as Z,W as J,q as K,a as R,o as Re,c as ke,w as u,b as l,d as V,t as O}from"./vendor-adef9cb4.js";const ae=e=>{if(e=$(e),Array.isArray(e))return!!e.length;if(e==null)return!1;if(e===!1)return!0;if(e instanceof Date)return!isNaN(e.getTime());if(typeof e=="object"){for(let r in e)return!0;return!1}return!!String(e).length};function L(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return t=>(t=$(t),!ae(t)||r.every(a=>(a.lastIndex=0,a.test(t))))}L(/^[a-zA-Z]*$/);L(/^[a-zA-Z0-9]*$/);L(/^\d*(\.\d+)?$/);const Ve=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;L(Ve);function Oe(e){return typeof e=="string"&&(e=e.trim()),ae(e)}var Ce={$validator:Oe,$message:"Value is required",$params:{type:"required"}};const je=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;L(je);L(/(^[0-9]*$)|(^-[0-9]+$)/);L(/^[-]?\d*(\.\d+)?$/);function Q(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,t)}return n}function E(e){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?Q(Object(n),!0).forEach(function(t){Ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ee(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function X(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(e).reduce((n,t)=>(r.includes(t)||(n[t]=$(e[t])),n),{})}function M(e){return typeof e=="function"}function De(e){return xe(e)||we(e)}function se(e,r,n){let t=e;const a=r.split(".");for(let i=0;i<a.length;i++){if(!t[a[i]])return n;t=t[a[i]]}return t}function q(e,r,n){return b(()=>e.some(t=>se(r,t,{[n]:!1})[n]))}function ee(e,r,n){return b(()=>e.reduce((t,a)=>{const i=se(r,a,{[n]:!1})[n]||[];return t.concat(i)},[]))}function le(e,r,n,t){return e.call(t,$(r),$(n),t)}function oe(e){return e.$valid!==void 0?!e.$valid:!e}function Pe(e,r,n,t,a,i,h){let{$lazy:d,$rewardEarly:v}=a,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],m=arguments.length>8?arguments[8]:void 0,g=arguments.length>9?arguments[9]:void 0,_=arguments.length>10?arguments[10]:void 0;const p=k(!!t.value),s=k(0);n.value=!1;const f=z([r,t].concat(o,_),()=>{if(d&&!t.value||v&&!g.value&&!n.value)return;let c;try{c=le(e,r,m,h)}catch(x){c=Promise.reject(x)}s.value++,n.value=!!s.value,p.value=!1,Promise.resolve(c).then(x=>{s.value--,n.value=!!s.value,i.value=x,p.value=oe(x)}).catch(x=>{s.value--,n.value=!!s.value,i.value=x,p.value=!0})},{immediate:!0,deep:typeof r=="object"});return{$invalid:p,$unwatch:f}}function Le(e,r,n,t,a,i,h,d){let{$lazy:v,$rewardEarly:o}=t;const m=()=>({}),g=b(()=>{if(v&&!n.value||o&&!d.value)return!1;let _=!0;try{const p=le(e,r,h,i);a.value=p,_=oe(p)}catch(p){a.value=p}return _});return{$unwatch:m,$invalid:g}}function Te(e,r,n,t,a,i,h,d,v,o,m){const g=k(!1),_=e.$params||{},p=k(null);let s,f;e.$async?{$invalid:s,$unwatch:f}=Pe(e.$validator,r,g,n,t,p,a,e.$watchTargets,v,o,m):{$invalid:s,$unwatch:f}=Le(e.$validator,r,n,t,p,a,v,o);const c=e.$message;return{$message:M(c)?b(()=>c(X({$pending:g,$invalid:s,$params:X(_),$model:r,$response:p,$validator:i,$propertyPath:d,$property:h}))):c||"",$params:_,$pending:g,$invalid:s,$response:p,$unwatch:f}}function ze(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const r=$(e),n=Object.keys(r),t={},a={},i={};let h=null;return n.forEach(d=>{const v=r[d];switch(!0){case M(v.$validator):t[d]=v;break;case M(v):t[d]={$validator:v};break;case d==="$validationGroups":h=v;break;case d.startsWith("$"):i[d]=v;break;default:a[d]=v}}),{rules:t,nestedValidators:a,config:i,validationGroups:h}}const Ie="__root";function Se(e,r,n,t,a,i,h,d,v){const o=Object.keys(e),m=t.get(a,e),g=k(!1),_=k(!1),p=k(0);if(m){if(!m.$partial)return m;m.$unwatch(),g.value=m.$dirty.value}const s={$dirty:g,$path:a,$touch:()=>{g.value||(g.value=!0)},$reset:()=>{g.value&&(g.value=!1)},$commit:()=>{}};return o.length?(o.forEach(f=>{s[f]=Te(e[f],r,s.$dirty,i,h,f,n,a,v,_,p)}),s.$externalResults=b(()=>d.value?[].concat(d.value).map((f,c)=>({$propertyPath:a,$property:n,$validator:"$externalResults",$uid:`${a}-externalResult-${c}`,$message:f,$params:{},$response:null,$pending:!1})):[]),s.$invalid=b(()=>{const f=o.some(c=>$(s[c].$invalid));return _.value=f,!!s.$externalResults.value.length||f}),s.$pending=b(()=>o.some(f=>$(s[f].$pending))),s.$error=b(()=>s.$dirty.value?s.$pending.value||s.$invalid.value:!1),s.$silentErrors=b(()=>o.filter(f=>$(s[f].$invalid)).map(f=>{const c=s[f];return W({$propertyPath:a,$property:n,$validator:f,$uid:`${a}-${f}`,$message:c.$message,$params:c.$params,$response:c.$response,$pending:c.$pending})}).concat(s.$externalResults.value)),s.$errors=b(()=>s.$dirty.value?s.$silentErrors.value:[]),s.$unwatch=()=>o.forEach(f=>{s[f].$unwatch()}),s.$commit=()=>{_.value=!0,p.value=Date.now()},t.set(a,e,s),s):(m&&t.set(a,e,s),s)}function Ae(e,r,n,t,a,i,h){const d=Object.keys(e);return d.length?d.reduce((v,o)=>(v[o]=B({validations:e[o],state:r,key:o,parentKey:n,resultsCache:t,globalConfig:a,instance:i,externalResults:h}),v),{}):{}}function Me(e,r,n){const t=b(()=>[r,n].filter(s=>s).reduce((s,f)=>s.concat(Object.values($(f))),[])),a=b({get(){return e.$dirty.value||(t.value.length?t.value.every(s=>s.$dirty):!1)},set(s){e.$dirty.value=s}}),i=b(()=>{const s=$(e.$silentErrors)||[],f=t.value.filter(c=>($(c).$silentErrors||[]).length).reduce((c,x)=>c.concat(...x.$silentErrors),[]);return s.concat(f)}),h=b(()=>{const s=$(e.$errors)||[],f=t.value.filter(c=>($(c).$errors||[]).length).reduce((c,x)=>c.concat(...x.$errors),[]);return s.concat(f)}),d=b(()=>t.value.some(s=>s.$invalid)||$(e.$invalid)||!1),v=b(()=>t.value.some(s=>$(s.$pending))||$(e.$pending)||!1),o=b(()=>t.value.some(s=>s.$dirty)||t.value.some(s=>s.$anyDirty)||a.value),m=b(()=>a.value?v.value||d.value:!1),g=()=>{e.$touch(),t.value.forEach(s=>{s.$touch()})},_=()=>{e.$commit(),t.value.forEach(s=>{s.$commit()})},p=()=>{e.$reset(),t.value.forEach(s=>{s.$reset()})};return t.value.length&&t.value.every(s=>s.$dirty)&&g(),{$dirty:a,$errors:h,$invalid:d,$anyDirty:o,$error:m,$pending:v,$touch:g,$reset:p,$silentErrors:i,$commit:_}}function B(e){let{validations:r,state:n,key:t,parentKey:a,childResults:i,resultsCache:h,globalConfig:d={},instance:v,externalResults:o}=e;const m=a?`${a}.${t}`:t,{rules:g,nestedValidators:_,config:p,validationGroups:s}=ze(r),f=E(E({},d),p),c=t?b(()=>{const w=$(n);return w?$(w[t]):void 0}):n,x=E({},$(o)||{}),I=b(()=>{const w=$(o);return t?w?$(w[t]):void 0:w}),S=Se(g,c,t,h,m,f,v,I,n),C=Ae(_,c,m,h,f,v,I),T={};s&&Object.entries(s).forEach(w=>{let[P,j]=w;T[P]={$invalid:q(j,C,"$invalid"),$error:q(j,C,"$error"),$pending:q(j,C,"$pending"),$errors:ee(j,C,"$errors"),$silentErrors:ee(j,C,"$silentErrors")}});const{$dirty:D,$errors:U,$invalid:y,$anyDirty:ue,$error:ce,$pending:F,$touch:N,$reset:de,$silentErrors:fe,$commit:Y}=Me(S,C,i),me=t?b({get:()=>$(c),set:w=>{D.value=!0;const P=$(n),j=$(o);j&&(j[t]=x[t]),G(P[t])?P[t].value=w:P[t]=w}}):null;t&&f.$autoDirty&&z(c,()=>{D.value||N();const w=$(o);w&&(w[t]=x[t])},{flush:"sync"});async function ge(){return N(),f.$rewardEarly&&(Y(),await K()),await K(),new Promise(w=>{if(!F.value)return w(!y.value);const P=z(F,()=>{w(!y.value),P()})})}function ve(w){return(i.value||{})[w]}function pe(){G(o)?o.value=x:Object.keys(x).length===0?Object.keys(o).forEach(w=>{delete o[w]}):Object.assign(o,x)}return W(E(E(E({},S),{},{$model:me,$dirty:D,$error:ce,$errors:U,$invalid:y,$anyDirty:ue,$pending:F,$touch:N,$reset:de,$path:m||Ie,$silentErrors:fe,$validate:ge,$commit:Y},i&&{$getResultsForChild:ve,$clearExternalResults:pe,$validationGroups:T}),C))}class Ue{constructor(){this.storage=new Map}set(r,n,t){this.storage.set(r,{rules:n,result:t})}checkRulesValidity(r,n,t){const a=Object.keys(t),i=Object.keys(n);return i.length!==a.length||!i.every(d=>a.includes(d))?!1:i.every(d=>n[d].$params?Object.keys(n[d].$params).every(v=>$(t[d].$params[v])===$(n[d].$params[v])):!0)}get(r,n){const t=this.storage.get(r);if(!t)return;const{rules:a,result:i}=t,h=this.checkRulesValidity(r,n,a),d=i.$unwatch?i.$unwatch:()=>({});return h?i:{$dirty:i.$dirty,$partial:!0,$unwatch:d}}}const A={COLLECT_ALL:!0,COLLECT_NONE:!1},te=Symbol("vuelidate#injectChildResults"),re=Symbol("vuelidate#removeChildResults");function Fe(e){let{$scope:r,instance:n}=e;const t={},a=k([]),i=b(()=>a.value.reduce((m,g)=>(m[g]=$(t[g]),m),{}));function h(m,g){let{$registerAs:_,$scope:p,$stopPropagation:s}=g;s||r===A.COLLECT_NONE||p===A.COLLECT_NONE||r!==A.COLLECT_ALL&&r!==p||(t[_]=m,a.value.push(_))}n.__vuelidateInjectInstances=[].concat(n.__vuelidateInjectInstances||[],h);function d(m){a.value=a.value.filter(g=>g!==m),delete t[m]}n.__vuelidateRemoveInstances=[].concat(n.__vuelidateRemoveInstances||[],d);const v=Z(te,[]);J(te,n.__vuelidateInjectInstances);const o=Z(re,[]);return J(re,n.__vuelidateRemoveInstances),{childResults:i,sendValidationResultsToParent:v,removeValidationResultsFromParent:o}}function ie(e){return new Proxy(e,{get(r,n){return typeof r[n]=="object"?ie(r[n]):b(()=>r[n])}})}let ne=0;function Ne(e,r){var n;let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(t=e,e=void 0,r=void 0);let{$registerAs:a,$scope:i=A.COLLECT_ALL,$stopPropagation:h,$externalResults:d,currentVueInstance:v}=t;const o=v||((n=_e())===null||n===void 0?void 0:n.proxy),m=o?o.$options:{};a||(ne+=1,a=`_vuelidate_${ne}`);const g=k({}),_=new Ue,{childResults:p,sendValidationResultsToParent:s,removeValidationResultsFromParent:f}=o?Fe({$scope:i,instance:o}):{childResults:k({})};if(!e&&m.validations){const c=m.validations;r=k({}),ye(()=>{r.value=o,z(()=>M(c)?c.call(r.value,new ie(r.value)):c,x=>{g.value=B({validations:x,state:r,childResults:p,resultsCache:_,globalConfig:t,instance:o,externalResults:d||o.vuelidateExternalResults})},{immediate:!0})}),t=m.validationsConfig||t}else{const c=G(e)||De(e)?e:W(e||{});z(c,x=>{g.value=B({validations:x,state:r,childResults:p,resultsCache:_,globalConfig:t,instance:o??{},externalResults:d})},{immediate:!0})}return o&&(s.forEach(c=>c(g,{$registerAs:a,$scope:i,$stopPropagation:h})),be(()=>f.forEach(c=>c(a)))),b(()=>E(E({},$(g.value)),p.value))}const He={name:"Dashboard",components:{apexchart:$e},data(){return{activeTab:"personal",loading:k(!0),dialog:k(!1),errorDialog:k(!1),copySuccessDialog:k(!1),user_fullname:"",user_email:"",user_mobile:"",referralCode:"",referralLink:"",errorMessage:"",stats:{joinedToday:0,joinedThisMonth:0,joinedThisYear:0,totalInvited:0},recentUsers:[],recentUsersHeadersFull:[{title:this.$t("marketing.user_email"),key:"email",align:"start"},{title:this.$t("marketing.user_name"),key:"fullName",align:"start"},{title:this.$t("marketing.join_date"),key:"dateRegister",align:"start"},{title:this.$t("marketing.status"),key:"active",align:"center"}],recentUsersHeadersMobile:[{title:this.$t("marketing.user_name"),key:"fullName",align:"start"},{title:this.$t("marketing.join_date"),key:"dateRegister",align:"start"}],chartOptions:{chart:{type:"bar",height:350,fontFamily:"Vazirmatn FD, sans-serif"},xaxis:{categories:[],labels:{style:{fontFamily:"Vazirmatn FD, sans-serif"}}},yaxis:{labels:{style:{fontFamily:"Vazirmatn FD, sans-serif"}}},plotOptions:{bar:{horizontal:!1}},dataLabels:{enabled:!1},title:{text:this.$t("marketing.six_months_chart"),align:"center",style:{fontFamily:"Vazirmatn FD, sans-serif"}}},chartSeries:[{name:this.$t("marketing.users"),data:[]}]}},computed:{computedHeaders(){return this.$vuetify.display.smAndDown?this.recentUsersHeadersMobile:this.recentUsersHeadersFull}},methods:{async updateProfile(){var r,n;if(!await this.v$.$validate())this.errorMessage=this.$t("validator.form_invalid"),this.errorDialog=!0;else{this.loading=!0;try{await H.post("/api/user/update/info",{fullname:this.user_fullname,mobile:this.user_mobile}),this.loading=!1,this.dialog=!0}catch(t){this.loading=!1,this.errorMessage=((n=(r=t.response)==null?void 0:r.data)==null?void 0:n.message)||this.$t("dialog.error_unknown"),this.errorDialog=!0}}},copyReferralLink(){if(!this.referralLink){this.errorMessage=this.$t("user.referral_not_available"),this.errorDialog=!0;return}navigator.clipboard.writeText(this.referralLink).then(()=>{this.copySuccessDialog=!0}).catch(()=>{this.errorMessage=this.$t("user.copy_failed"),this.errorDialog=!0})},async fetchMarketingData(){var e,r;try{const n=await H.get("/api/membership/stats");if(!n.data||!n.data.data)throw new Error("Invalid server response structure");const t=n.data.data;this.stats=t.stats||{joinedToday:0,joinedThisMonth:0,joinedThisYear:0,totalInvited:0};const a=i=>{const[h,d]=i.split("@");if(h.length<=3)return`${h}@${d}`;const v=Math.min(3,h.length-1),o=[...Array(h.length).keys()].sort(()=>Math.random()-.5).slice(0,v);let m=h.split("");return o.forEach(g=>m[g]="*"),`${m.join("")}@${d}`};this.recentUsers=Array.isArray(t.recentUsers)?t.recentUsers.map(i=>({...i,email:a(i.email),dateRegister:i.dateRegister?new Date(i.dateRegister*1e3).toLocaleString("fa-IR"):"نامشخص",active:i.active})):[],this.chartOptions.xaxis.categories=((e=t.chart)==null?void 0:e.months)||[],this.chartSeries[0].data=((r=t.chart)==null?void 0:r.users)||[]}catch(n){this.errorMessage=n.message||this.$t("dialog.error_unknown"),this.errorDialog=!0}}},async mounted(){var e,r;try{const n=await H.post("/api/user/current/info");this.user_email=n.data.email,this.user_fullname=n.data.fullname,this.user_mobile=n.data.mobile,this.referralCode=n.data.invateCode||"",this.referralLink=this.referralCode?`${window.location.origin}/ms/${this.referralCode}`:"",await this.fetchMarketingData()}catch(n){this.errorMessage=((r=(e=n.response)==null?void 0:e.data)==null?void 0:r.message)||this.$t("dialog.error_unknown"),this.errorDialog=!0}finally{this.loading=!1}},validations(){return{user_fullname:{required:Ce}}},setup(){return{v$:Ne()}}};function qe(e,r,n,t,a,i){const h=R("v-tab"),d=R("v-tabs"),v=R("v-avatar"),o=R("v-col"),m=R("v-text-field"),g=R("v-btn"),_=R("v-row"),p=R("v-card-text"),s=R("v-card"),f=R("v-window-item"),c=R("v-card-title"),x=R("v-icon"),I=R("v-data-table"),S=R("apexchart"),C=R("v-window"),T=R("v-spacer"),D=R("v-dialog"),U=R("v-container");return Re(),ke(U,{fluid:"",class:"pa-0 ma-0"},{default:u(()=>[l(d,{modelValue:a.activeTab,"onUpdate:modelValue":r[0]||(r[0]=y=>a.activeTab=y),color:"primary",grow:""},{default:u(()=>[l(h,{value:"personal",text:e.$t("tabs.personal_info")},null,8,["text"]),l(h,{value:"marketing",text:e.$t("tabs.marketing_info")},null,8,["text"])]),_:1},8,["modelValue"]),l(C,{modelValue:a.activeTab,"onUpdate:modelValue":r[5]||(r[5]=y=>a.activeTab=y)},{default:u(()=>[l(f,{value:"personal"},{default:u(()=>[l(s,{loading:a.loading?"red":null,disabled:a.loading,class:"ma-4"},{default:u(()=>[l(p,null,{default:u(()=>[l(_,null,{default:u(()=>[l(o,{cols:"12",sm:"12",md:"2",class:"text-center"},{default:u(()=>[l(v,{image:"/img/avatar.png",size:"155"})]),_:1}),l(o,{cols:"12",sm:"12",md:"10"},{default:u(()=>[l(_,null,{default:u(()=>[l(o,{cols:"12"},{default:u(()=>[l(m,{modelValue:a.user_email,"onUpdate:modelValue":r[1]||(r[1]=y=>a.user_email=y),label:e.$t("user.email"),"prepend-inner-icon":"mdi-email",disabled:!0,color:"primary",variant:"solo"},null,8,["modelValue","label"])]),_:1}),l(o,{cols:"12"},{default:u(()=>[l(m,{modelValue:a.user_mobile,"onUpdate:modelValue":r[2]||(r[2]=y=>a.user_mobile=y),label:e.$t("user.mobile"),"prepend-inner-icon":"mdi-cellphone",disabled:!0,color:"primary",variant:"solo"},null,8,["modelValue","label"])]),_:1}),l(o,{cols:"12"},{default:u(()=>[l(m,{modelValue:a.user_fullname,"onUpdate:modelValue":r[3]||(r[3]=y=>a.user_fullname=y),label:e.$t("user.name"),"prepend-inner-icon":"mdi-account",disabled:a.loading,color:"primary",variant:"solo",rules:[()=>a.user_fullname.length>0||e.$t("validator.required")]},null,8,["modelValue","label","disabled","rules"])]),_:1}),l(o,{cols:"12"},{default:u(()=>[l(m,{modelValue:a.referralLink,"onUpdate:modelValue":r[4]||(r[4]=y=>a.referralLink=y),label:e.$t("user.referral_link"),"prepend-inner-icon":"mdi-link","append-inner-icon":"mdi-content-copy",readonly:!0,color:"primary",variant:"solo","onClick:appendInner":i.copyReferralLink},null,8,["modelValue","label","onClick:appendInner"])]),_:1}),l(o,{cols:"12"},{default:u(()=>[l(g,{color:"primary",loading:a.loading,"prepend-icon":"mdi-content-save",onClick:i.updateProfile},{default:u(()=>[V(O(e.$t("dialog.save")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["loading","disabled"])]),_:1}),l(f,{value:"marketing"},{default:u(()=>[l(s,{class:"ma-4"},{default:u(()=>[l(p,null,{default:u(()=>[l(_,null,{default:u(()=>[l(o,{cols:"12",sm:"6",md:"3"},{default:u(()=>[l(s,{color:"blue-lighten-5",flat:""},{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.joined_today")),1)]),_:1}),l(p,{class:"text-h5"},{default:u(()=>[V(O(a.stats.joinedToday),1)]),_:1})]),_:1})]),_:1}),l(o,{cols:"12",sm:"6",md:"3"},{default:u(()=>[l(s,{color:"green-lighten-5",flat:""},{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.joined_this_month")),1)]),_:1}),l(p,{class:"text-h5"},{default:u(()=>[V(O(a.stats.joinedThisMonth),1)]),_:1})]),_:1})]),_:1}),l(o,{cols:"12",sm:"6",md:"3"},{default:u(()=>[l(s,{color:"purple-lighten-5",flat:""},{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.joined_this_year")),1)]),_:1}),l(p,{class:"text-h5"},{default:u(()=>[V(O(a.stats.joinedThisYear),1)]),_:1})]),_:1})]),_:1}),l(o,{cols:"12",sm:"6",md:"3"},{default:u(()=>[l(s,{color:"orange-lighten-5",flat:""},{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.total_invited")),1)]),_:1}),l(p,{class:"text-h5"},{default:u(()=>[V(O(a.stats.totalInvited),1)]),_:1})]),_:1})]),_:1})]),_:1}),l(_,{class:"mt-4"},{default:u(()=>[l(o,{cols:"12"},{default:u(()=>[l(s,null,{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.recent_users")),1)]),_:1}),l(I,{headers:i.computedHeaders,items:a.recentUsers,loading:a.loading,"hide-default-footer":"",class:"elevation-1"},{"item.active":u(({item:y})=>[l(x,{color:y.active?"green":"red",small:""},{default:u(()=>r[12]||(r[12]=[V(" mdi-circle ")])),_:2},1032,["color"])]),_:1},8,["headers","items","loading"])]),_:1})]),_:1})]),_:1}),l(_,{class:"mt-4"},{default:u(()=>[l(o,{cols:"12"},{default:u(()=>[l(s,null,{default:u(()=>[l(c,null,{default:u(()=>[V(O(e.$t("marketing.six_months_chart")),1)]),_:1}),l(S,{type:"bar",height:"350",options:a.chartOptions,series:a.chartSeries},null,8,["options","series"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(D,{modelValue:a.dialog,"onUpdate:modelValue":r[7]||(r[7]=y=>a.dialog=y),"max-width":"500",persistent:""},{default:u(()=>[l(s,{color:"successLight","prepend-icon":"mdi-check-circle",title:e.$t("dialog.result"),text:e.$t("dialog.save_ok")},{actions:u(()=>[l(T),l(g,{color:"primary",text:e.$t("dialog.ok"),variant:"flat",onClick:r[6]||(r[6]=y=>a.dialog=!1)},null,8,["text"])]),_:1},8,["title","text"])]),_:1},8,["modelValue"]),l(D,{modelValue:a.errorDialog,"onUpdate:modelValue":r[9]||(r[9]=y=>a.errorDialog=y),"max-width":"500",persistent:""},{default:u(()=>[l(s,{color:"dangerLight","prepend-icon":"mdi-close-octagon",title:e.$t("dialog.error"),text:a.errorMessage},{actions:u(()=>[l(T),l(g,{color:"primary",text:e.$t("dialog.ok"),variant:"flat",onClick:r[8]||(r[8]=y=>a.errorDialog=!1)},null,8,["text"])]),_:1},8,["title","text"])]),_:1},8,["modelValue"]),l(D,{modelValue:a.copySuccessDialog,"onUpdate:modelValue":r[11]||(r[11]=y=>a.copySuccessDialog=y),"max-width":"500"},{default:u(()=>[l(s,{color:"successLight","prepend-icon":"mdi-check-circle",title:e.$t("dialog.success"),text:e.$t("user.link_copied")},{actions:u(()=>[l(T),l(g,{color:"primary",text:e.$t("dialog.ok"),variant:"flat",onClick:r[10]||(r[10]=y=>a.copySuccessDialog=!1)},null,8,["text"])]),_:1},8,["title","text"])]),_:1},8,["modelValue"])]),_:1})}const We=he(He,[["render",qe],["__scopeId","data-v-078c7591"]]);export{We as default};