1"use strict";(self.rspackChunkmodio_frontend=self.rspackChunkmodio_frontend||[]).push([[4816],{19397:function(e,t,a){a.d(t,{A:function(){return y}});var s=a(20641),l=a(90033);a(39280);var o=a(70590),r=a(53777),n=a(86295),i=a(50953),d=a(94699),m=a(54901);let u="__all__",c="admin-stats-game-search",g=new Set([d.oE,d.WI,d.x8]);var p={components:{TooltipHover:r.default,SearchBox:n.A},props:{large:{type:Boolean,default:!1},game:{type:Object,default:void 0},mod:{type:Object,default:void 0},docs:{type:String,default:void 0},onlyGameSelector:{type:Boolean,default:!1},hideGameSelector:{type:Boolean,default:!1},noFloat:{type:Boolean,default:!1}},setup(e){let{hideGameSelector:t}=(0,i.QW)(e),a=(0,i.KR)({}),{routeName:l,routeQuery:r,push:n}=(0,m.lq)(),{exportLoading:d,exportStatus:p,exportAll:y,canExport:b}=(0,m.jw)(),{search:v,clearSearch:w,setSearch:f}=(0,m.SQ)(c),{loading:h,data:S,error:T,run:E}=(0,m.Yb)(e=>{if("games"===e.type)return(0,o.V5O)({"status-in":"0,1",_q:e.q});if("game"===e.type)return(0,o.jxy)(e.gameNameId);throw Error("Unknown request type")},"Failed to get game data"),{status:k}=(0,m.su)({loading:h,error:T}),_=(0,s.EW)(()=>!t.value&&g.has(l.value)),x=(0,s.EW)(()=>v.value?.trim()?(S.value?.data||[]).map(e=>({...e,text:e.name,value:e.name_id})).sort((e,t)=>e.text.localeCompare(t.text)):[]);async function A(){if(!_.value)return;let e=r.value?.game;if(!e)return void w();if(e){let t=x.value.find(t=>t.value===e)?.name||a.value[e];if(t)return void f(t,t);if(f(e,e),await E({type:"game",gameNameId:e}),r.value?.game!==e)return;let s=S.value?.name;if(!s)return;a.value={...a.value,[e]:s},f(s,s)}}function C(e){let t=e===u,a=r.value?.game,s={...r.value};t?delete s.game:s.game=e,(!t||a)&&(t||a!==e)&&n({name:l.value,query:s})}function O(e){let t=e?.name_id||e?.value,a=e?.name||e?.text;t&&a&&(f(a,a),C(t))}async function P(e){if(!_.value)return;let t=e?.trim();if(!t)return void C(u);await E({type:"games",q:v.value});let a=x.value.find(e=>e.name?.toLowerCase()===t.toLowerCase());a?O(a):f(t,t)}return(0,s.wB)(()=>[l.value,r.value?.game,_.value],A,{immediate:!0}),{gameSearchResults:x,showGameSelector:_,gameSearchStatus:k,gameSearchChange:function(e){if(_.value){if(!e?.trim())return void C(u);E({type:"games",q:e.trim()})}},GAME_SEARCH_ID:c,onSearchEnter:P,exportLoading:d,exportStatus:p,selectGame:O,canExport:b,exportAll:y}}},y=(0,a(64901).A)(p,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("search-box"),d=(0,s.g2)("font-awesome-icon"),m=(0,s.g2)("base-link"),u=(0,s.g2)("tooltip-hover"),c=(0,s.g2)("base-button");return(0,s.uX)(),(0,s.CE)("div",{class:(0,l.normalizeClass)(["tw-flex tw-gap-2",{"tw-float-right":!a.noFloat}])},[o.showGameSelector?((0,s.uX)(),(0,s.Wv)(i,{key:0,id:o.GAME_SEARCH_ID,small:"","no-margin":"","full-width":"","has-close-icon":"","use-search-text":"","clear-on-unmount":!1,status:o.gameSearchStatus,results:o.gameSearchResults,placeholder:"Game name",class:"tw-min-w-64 tw-ml-auto","onSelected:item":o.selectGame,onUpdate:o.gameSearchChange,onEnter:o.onSearchEnter},null,8,["id","status","results","onSelected:item","onUpdate","onEnter"])):(0,s.Q3)("",!0),a.onlyGameSelector?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.Wv)(u,{key:1,text:"View documentation",fixed:""},{default:(0,s.k6)(()=>[a.docs?((0,s.uX)(),(0,s.Wv)(m,{key:0,to:a.docs,target:"_blank",class:"mod-link-icon-small mod-btn-secondary tw-w-fit"},{default:(0,s.k6)(()=>[(0,s.bF)(d,{icon:"file-alt",class:"mod-text-theme"})]),_:1},8,["to"])):(0,s.Q3)("",!0)]),_:1})),o.canExport&&!a.onlyGameSelector?((0,s.uX)(),(0,s.Wv)(c,{key:2,small:"",disabled:o.exportLoading,status:o.exportStatus,class:"tw-self-end",onClick:o.exportAll},{default:(0,s.k6)(()=>[...t[0]||(t[0]=[(0,s.eW)(" Export all ",-1)])]),_:1},8,["disabled","status","onClick"])):(0,s.Q3)("",!0)],2)}]])},52131:function(e,t,a){a.r(t),a.d(t,{default:function(){return eK}});var s=a(20641),l=a(90033);let o={class:"tw-flex tw-flex-col xl:tw-flex-row"},r={class:"tw-w-full"};var n=a(19397);let i={class:"tw-flex tw-justify-between"},d={class:"tw-p-6 mod-bg-theme-3"},m={class:"tw-text-center tw-mt-4"},u={class:"tw-flex tw-gap-2 tw-items-center tw-justify-center"},c={key:1,class:"tw-text-xs tw-opacity-70"},g={class:"tw-flex tw-justify-between tw-border-t mod-border-theme-1 tw-py-4 tw-px-6 mod-bg-theme-3 tw-sticky tw-top-0 tw-z-1"},p={class:"tw-p-6"},y={class:"tw-flex tw-flex-col tw-gap-2"},b={class:"tw-flex tw-justify-between"},v={class:"mod-text-p-sm tw-leading-none"},w={class:"tw-text-sm tw-leading-none"},f={class:"tw-flex tw-justify-between"},h={class:"tw-text-sm tw-leading-none"},S={class:"tw-flex tw-justify-between tw-leading-none"},T={class:"tw-text-sm tw-leading-none"},E={class:"tw-flex tw-justify-between tw-leading-none"},k={class:"tw-text-sm tw-leading-none"},_={class:"tw-mb-4"};var x=a(11377),A=a(6027),C=a(50953),O=a(3748),P=a(45562),I=a(33347),R=a(43689),D=a(37140),L=a(94699);let M={config:[{label:"Name",type:"group",key:"label",cellClass:"tw-text-left",to:e=>({name:L.bs,params:{mod:e.nameId}}),group:[{key:"image",format:e=>e||"",size:{w:"24",h:"12"},type:"image"},{key:"label",type:"string",cellClass:"tw-inline-block mod-util-truncate-one-line"}],sortable:!1},{label:"Total playtime",type:"string",format:"durationFormatter",key:"value",cellClass:"tw-text-right",sortable:!1}]};var F=a(39280),W=a(70590),U=a(60719),N=a(28097),H=a(54901),B={components:{TimePeriodSelector:x.A,Loa
1dingLabel:O.default,AvatarIcon:R.A,ModioTable:D.A},props:{show:{type:Boolean,default:!0},game:{type:Object,required:!0},creatorItem:{type:Object,required:!0}},emits:["close:modal"],setup(e,{emit:t}){let{creatorItem:a}=(0,C.QW)(e),{ugcNamePlural:l}=(0,H.jR)(),{onMessageUser:o}=(0,H.$E)(),{getUser:r,addUser:n}=(0,U.Zz)(),i=r(a.value.nameId),d=(0,C.KR)({}),m=(0,C.KR)({}),u=(0,C.KR)({}),c=(0,C.KR)({}),{getTopCreatorModsPlaytimeAsync:g,getCreatorsPlaytimeAsync:p,getCreatorSessionsAsync:y,getCreatorPlayersAsync:b,fetchDataIntoState:v}=(0,H.dP)({creatorId:a.value.metadata.creatorid}),{getTimeFromPeriod:w,curTimePeriod:f}=(0,H.Sh)(void 0,void 0,P.N8.LIFETIME.value),h=(0,s.EW)(()=>{let e=c.value[f.value]?.series;return{data:e?.map(e=>({label:e.metadata.label,nameId:e.metadata.modnameid,image:(0,I.eP)("mods",e.metadata.modid,e.metadata.logo),value:e.value}))||[]}}),{loading:S,error:T,data:E,run:k}=(0,H.Yb)(()=>(0,W.QYV)(a.value.nameId),"Failed to get user data"),_=(0,s.EW)(()=>[{getAsync:b,state:u,column:"players",noTimeStamp:!0},{getAsync:p,state:d},{getAsync:y,state:m},{getAsync:g,state:c}]);async function x(){if(await k(),T.value){let e={avatar:{thumb_100x100:"avatar_100x100"},name_id:a.value.nameId,username:a.value.nameId};T.value?.includes("private")&&(e.privacy_options=2),n(e)}else n(E.value)}return(0,s.KC)(()=>{i.value||x()}),(0,s.wB)(f,e=>{let t=N.c9.now(),a=w(e);_.value.forEach(s=>v(e,s,a,t))},{immediate:!0}),{getTopCreatorModsPlaytimeAsync:g,creatorPlaytimeGeneratedState:d,USER_GAME_MOD_BROWSE_ROUTE:L.zI,USER_GAME_CREATOR_STATS:L.y5,creatorModsSessionState:m,creatorPlayersState:u,durationFormatter:A.zT,modsPlaytimeState:c,modsPlaytimeRows:h,humanDateFormat:A.Bs,openMessageBox:function(){i.value&&(o({id:i.value.id,username:i.value.username}),t("close:modal"))},curTimePeriod:f,ugcNamePlural:l,loading:S,schema:M,user:i}}},G=a(64901);let j=(0,G.A)(B,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("avatar-icon"),x=(0,s.g2)("base-link"),A=(0,s.g2)("loading-label"),C=(0,s.g2)("base-spacer"),O=(0,s.g2)("base-button"),P=(0,s.g2)("base-grid"),I=(0,s.g2)("time-period-selector"),R=(0,s.g2)("base-divider"),D=(0,s.g2)("modio-table"),L=(0,s.g2)("base-modal");return(0,s.uX)(),(0,s.Wv)(L,{show:a.show,size:"md","has-close-btn":"","no-padding":"","onClose:modal":t[1]||(t[1]=t=>e.$emit("close:modal"))},{default:(0,s.k6)(()=>[(0,s.Lk)("div",d,[(0,s.bF)(x,{to:{name:o.USER_GAME_MOD_BROWSE_ROUTE,params:{game:a.game.name_id,user:a.creatorItem.nameId}}},{default:(0,s.k6)(()=>[(0,s.bF)(i,{class:"tw-m-auto tw-size-12 md:tw-size-25 tw-max-w-12 md:tw-max-w-25","alt-loading":"","show-status":"","inherit-size":"","input-loading":o.loading,user:o.user},null,8,["input-loading","user"]),(0,s.Lk)("h5",m,(0,l.toDisplayString)(a.creatorItem.metadata.username),1)]),_:1},8,["to"]),(0,s.Lk)("div",u,[o.loading?((0,s.uX)(),(0,s.Wv)(A,{key:0})):((0,s.uX)(),(0,s.CE)("span",c," Creator since "+(0,l.toDisplayString)(o.humanDateFormat(o.user?.date_joined)),1))]),(0,s.bF)(C,{height:"6"}),(0,s.bF)(P,{cols:1,"md-cols":2,"x-gap":2,"y-gap":2},{default:(0,s.k6)(()=>[o.user?((0,s.uX)(),(0,s.Wv)(x,{key:0,"link-primary":!1,class:"mod-btn mod-btn-secondary",to:{name:o.USER_GAME_CREATOR_STATS,params:{user:o.user.name_id}}},{default:(0,s.k6)(()=>[...t[2]||(t[2]=[(0,s.eW)(" View stats ",-1)])]),_:1},8,["to"])):(0,s.Q3)("",!0),(0,s.bF)(O,{secondary:"","full-width":"",onClick:o.openMessageBox},{default:(0,s.k6)(()=>[...t[3]||(t[3]=[(0,s.eW)(" Message creator ",-1)])]),_:1},8,["onClick"])]),_:1})]),(0,s.Lk)("div",g,[t[4]||(t[4]=(0,s.Lk)("span",{class:"mod-text-p-sm"},"Selected time period: ",-1)),(0,s.bF)(I,{"show-date-selection":!1,"cur-time-period":o.curTimePeriod,"onChange:range":t[0]||(t[0]=e=>o.curTimePeriod=e)},null,8,["cur-time-period"])]),(0,s.Lk)("div",p,[t[8]||(t[8]=(0,s.Lk)("h6",{class:"tw-mb-4"},"Overview",-1)),(0,s.Lk)("div",y,[(0,s.Lk)("div",b,[(0,s.Lk)("span",v,(0,l.toDisplayString)(o.ugcNamePlural)+" created ",1),(0,s.Lk)("span",w,(0,l.toDisplayString)(a.creatorItem.metadata.modscreated),1)]),(0,s.Lk)("div",f,[t[5]||(t[5]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"},"Total playtime",-1)),(0,s.Lk)("span",h,(0,l.toDisplayString)(o.durationFormatter(o.creatorPlaytimeGeneratedState[o.curTimePeriod]?.series?.[0].value||0)),1)]),(0,s.Lk)("div",S,[t[6]||(t[6]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"}," Average playtime per session ",-1)),(0,s.Lk)("span",T,(0,l.toDisplayString)(o.durationFormatter(o.creatorPlaytimeGeneratedState[o.curTimePeriod]?.series?.[0].value/o.creatorModsSessionState[o.curTimePeriod]?.series?.[0].value||0)),1)]),(0,s.Lk)("div",E,[t[7]||(t[7]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"},"Total players",-1)),(0,s.Lk)("span",k,(0,l.toDisplayString)(o.creatorPlayersState[o.curTimePeriod]?.series?.[0].value||0),1)])]),(0,s.bF)(R,{class:"tw-my-6"}),(0,s.Lk)("h6",_,"Most played "+(0,l.toDisplayString)(o.ugcNamePlural),1),(0,s.bF)(D,{"table-id":"metrics-creator-analysis-modal","small-row":"","alt-background":"","loading-rows":5,"row-schema":o.schema,items:o.modsPlaytimeRows,"item-total":M
1ath.min(o.modsPlaytimeRows.data.length,10),loading:o.getTopCreatorModsPlaytimeAsync.loading.value,fetch:!1},null,8,["row-schema","items","item-total","loading"])])]),_:1},8,["show"])}]]);var K=a(77478);let X={class:"tw-flex"},q={config:[{label:"Platform",type:"group",group:[e=>({type:"icon",iconType:"base-icon",icon:F.G5[e.platformValue],cellClass:"tw-fill-current"}),{key:"platform",type:"string",cellClass:"tw-text-left"}],cellClass:"tw-table-cell tw-min-w-40 tw-text-left",fit:!0,sortable:!1},{label:"",inputCell:!0,type:"progress",key:"percent",sortable:!1,cellClass:"tw-w-full"},{label:"",key:"percent",type:"string",format:"percent",cellClass:"tw-table-cell tw-min-w-10 tw-text-right",sortable:!1},{label:"Total playtime",key:"duration",type:"string",sort:{direction:"desc"},format:"durationFormatter",cellClass:"tw-min-w-36 tw-text-right",sortable:!1}],sortable:!1,defaultSort:"duration"};var $=a(28325),V=a(54195),z={components:{TimePeriodSelector:x.A,NoTableData:$.A,PanelHeader:V.A,ModioTable:D.A},props:{game:{type:Object,default:void 0}},setup(e){let{game:t}=(0,C.QW)(e),{getTimeFromPeriod:a,curTimePeriod:l}=(0,H.Sh)(),{getSessionPlatformAsync:o}=(0,H.dP)(),{get:r,data:n,loading:i,error:d}=o,{platforms:m}=(0,H.n$)(t),u=(0,C.KR)({});(0,s.wB)(l,async e=>{e>0&&!u.value[e]&&(await r(a(e),N.c9.now()),u.value[l.value]=n.value.group_by)},{immediate:!0});let c=(0,s.EW)(()=>{let e=m.value?.filter(e=>"all"!==e.value).map(e=>({platform:e.text,platformValue:e.value,duration:0,percent:0}));e.push({platform:"Other",platformValue:"unknown",duration:0,percent:0});let a=0;return u.value[l.value]?.forEach(s=>{let l=e.find(e=>e.platformValue.toLowerCase()===s.label.toLowerCase());if(!l)return;let o=3===t.value.id?(0,I.nd)(Number(s.series[0].value)):Number(s.series[0].value);l.duration+=o,a+=o}),e.forEach(e=>e.percent=e.duration/a*100),e});return{curTimePeriod:l,loading:i,schema:q,error:d,items:c}}};let Y=(0,G.A)(z,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("time-period-selector"),d=(0,s.g2)("panel-header"),m=(0,s.g2)("no-table-data"),u=(0,s.g2)("modio-table"),c=(0,s.g2)("base-panel");return(0,s.uX)(),(0,s.Wv)(c,{"no-margin":"","small-padding":"","full-width":"","full-height":"",class:(0,l.normalizeClass)(["tw-h-full",{"tw-animate-pulse":o.loading}])},{default:(0,s.k6)(()=>[(0,s.bF)(d,{small:"",text:"What platforms are players on?",class:"tw-mb-6"},{buttons:(0,s.k6)(()=>[(0,s.Lk)("div",X,[(0,s.bF)(i,{large:"","show-date-selection":!1,"cur-time-period":o.curTimePeriod,"onUpdate:timeperiod":t[0]||(t[0]=e=>o.curTimePeriod=e),"onChange:range":t[1]||(t[1]=e=>o.curTimePeriod=e)},null,8,["cur-time-period"])])]),_:1}),o.items?.length||o.loading?((0,s.uX)(),(0,s.Wv)(u,{key:1,"table-id":"metrics-platform-session-table","loading-rows":6,"row-schema":o.schema,items:{data:o.items},"item-total":o.items.length,loading:o.loading,fetch:!1,limit:5,error:o.error},null,8,["row-schema","items","item-total","loading","error"])):((0,s.uX)(),(0,s.Wv)(m,{key:0,metrics:""}))]),_:1},8,["class"])}]]),Q={class:"tw-p-6 mod-bg-theme-3"},Z={class:"tw-flex tw-m-auto tw-w-[13.375rem] tw-h-30 tw-rounded-lg"},J=["alt","src"],ee={class:"tw-text-center tw-mt-4"},et={class:"tw-flex tw-gap-2 tw-items-center tw-justify-center"},ea={class:"tw-text-xs tw-opacity-70"},es={class:"tw-text-xs tw-opacity-70"},el={class:"tw-flex tw-flex-col tw-items-center tw-gap-2"},eo={class:"tw-flex tw-justify-between tw-border-t mod-border-theme-1 tw-py-4 tw-px-6 mod-bg-theme-3 tw-sticky tw-top-0 tw-z-1"},er={class:"tw-p-6"},en={class:"tw-flex tw-flex-col tw-gap-2"},ei={class:"tw-flex tw-justify-between"},ed={class:"tw-text-sm tw-leading-none"},em={class:"tw-flex tw-justify-between tw-leading-none"},eu={class:"tw-text-sm tw-leading-none"},ec={class:"tw-flex tw-justify-between tw-leading-none"},eg={class:"tw-text-sm tw-leading-none"};var ep=a(36522),ey=a(5167),eb=a(98175);let ev={config:[{label:"Playtime",key:"label",type:"string",fit:!0,cellClass:"tw-w-24",sortable:!1},{label:"%",key:"percent",type:"string",format:"percent",cellClass:"tw-w-full tw-text-right",sortable:!1},{label:"Total sessions",key:"value",type:"string",cellClass:"tw-text-right",sortable:!1}]};
1var ew={components:{TimePeriodSelector:x.A,ViewContributors:ep.A,BaseDotDivide:eb.A,LoadingImage:ey.default,LoadingLabel:O.default,ModioTable:D.A},props:{show:{type:Boolean,default:!0},game:{type:Object,required:!0},modItem:{type:Object,required:!0}},emits:["close:modal"],setup(e,{emit:t}){let{game:a,modItem:l}=(0,C.QW)(e),o=(0,C.KR)({}),r=(0,C.KR)({}),n=(0,C.KR)({}),i=(0,C.KR)({}),{getModByNameId:d,addMod:m}=(0,U.S0)(),{onMessageUser:u}=(0,H.$E)(),{getModsSessionLengthAsync:c,getCreatorModsStatAsync:g,getModPlayersAsync:p,fetchDataIntoState:y}=(0,H.dP)({modNameId:l.value.nameId}),{getTimeFromPeriod:b,curTimePeriod:v}=(0,H.Sh)(void 0,void 0,P.N8.LIFETIME.value),{loading:w,run:f,data:h,error:S}=(0,H.Yb)(()=>(0,W.WjF)(a.value.name_id,l.value.nameId),!0),T=d(a.value.name_id,l.value.nameId),E=(0,s.EW)(()=>{let e=n.value[v.value]?.series;if(!e)return{data:[]};let t=e.reduce((e,t)=>e+t.value,0)||0;return{data:e.map(e=>({label:e.label,percent:(0,I.uW)(e.value,t),value:e.value}))}}),k=(0,s.EW)(()=>[{getAsync:p,state:i,column:"players",noTimeStamp:!0},{getAsync:g,state:o,column:"playtime"},{getAsync:g,state:r,column:"sessions"},{getAsync:c,state:n,column:"sessions"}]);async function _(){await f(),S.value||m(a.value.name_id,h.value)}return(0,s.KC)(()=>{T.value||_()}),(0,s.wB)(v,e=>{let t=N.c9.now(),a=b(e);k.value.forEach(s=>y(e,s,a,t))},{immediate:!0}),{getModsSessionLengthAsync:c,creatorModsPlaytimeState:o,creatorModsSessionState:r,modsSessionLengthState:n,modsSessionLengthRows:E,MOD_ADMIN_STATS_ROUTE:L.Bo,durationFormatter:A.zT,modPlayersState:i,MOD_VIEW_ROUTE:L.bs,openMessageBox:function(){T.value&&(u({id:T.value.submitted_by.id,username:T.value.submitted_by.username}),t("close:modal"))},curTimePeriod:v,loadingMod:w,timeSince:A._D,schema:ev,mod:T}}};let ef=(0,G.A)(ew,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("loading-image"),d=(0,s.g2)("base-link"),m=(0,s.g2)("loading-label"),u=(0,s.g2)("base-time-tooltip"),c=(0,s.g2)("base-dot-divide"),g=(0,s.g2)("base-spacer"),p=(0,s.g2)("view-contributors"),y=(0,s.g2)("base-button"),b=(0,s.g2)("base-grid"),v=(0,s.g2)("time-period-selector"),w=(0,s.g2)("base-divider"),f=(0,s.g2)("modio-table"),h=(0,s.g2)("base-modal");return(0,s.uX)(),(0,s.Wv)(h,{show:a.show,size:"md","has-close-btn":"","no-padding":"","onClose:modal":t[1]||(t[1]=t=>e.$emit("close:modal"))},{default:(0,s.k6)(()=>[(0,s.Lk)("div",Q,[(0,s.bF)(d,{to:{name:o.MOD_VIEW_ROUTE,params:{game:a.game.name_id,mod:a.modItem.nameId}}},{default:(0,s.k6)(()=>[(0,s.Lk)("div",Z,[o.loadingMod?((0,s.uX)(),(0,s.Wv)(i,{key:0,class:"tw-rounded-lg"})):((0,s.uX)(),(0,s.CE)("img",{key:1,alt:`${o.mod?.name} header image`,src:o.mod?.logo.thumb_320x180,class:"tw-rounded-lg"},null,8,J))]),(0,s.Lk)("h5",ee,(0,l.toDisplayString)(a.modItem.metadata.label),1)]),_:1},8,["to"]),(0,s.Lk)("div",et,[o.loadingMod?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[(0,s.bF)(m),(0,s.bF)(m)],64)):((0,s.uX)(),(0,s.CE)(s.FK,{key:1},[(0,s.bF)(u,{timestamp:o.mod?.date_live},{default:(0,s.k6)(()=>[(0,s.Lk)("span",ea," Published "+(0,l.toDisplayString)(o.timeSince(o.mod?.date_live))+" ago ",1)]),_:1},8,["timestamp"]),(0,s.bF)(c,{margin:"0"}),(0,s.bF)(u,{timestamp:o.mod?.date_updated},{default:(0,s.k6)(()=>[(0,s.Lk)("span",es," Updated "+(0,l.toDisplayString)(o.timeSince(o.mod?.date_updated))+" ago ",1)]),_:1},8,["timestamp"])],64))]),(0,s.bF)(g,{height:"6"}),(0,s.Lk)("div",el,[t[2]||(t[2]=(0,s.Lk)("p",{class:"tw-text-xs tw-opacity-70"},"Creator team",-1)),a.game&&o.mod?((0,s.uX)(),(0,s.Wv)(p,{key:0,"game-name-id":a.game.name_id,"mod-name-id":a.modItem.nameId,mod:o.mod,"list-mode":""},null,8,["game-name-id","mod-name-id","mod"])):(0,s.Q3)("",!0)]),(0,s.bF)(g,{height:"6"}),(0,s.bF)(b,{cols:1,"md-cols":2,"x-gap":2,"y-gap":2},{default:(0,s.k6)(()=>[(0,s.bF)(d,{"link-primary":!1,class:"mod-btn mod-btn-secondary",to:{name:o.MOD_ADMIN_STATS_ROUTE,params:{game:a.game.name_id,mod:a.modItem.nameId}}},{default:(0,s.k6)(()=>[...t[3]||(t[3]=[(0,s.eW)(" Go to stats ",-1)])]),_:1},8,["to"]),(0,s.bF)(y,{secondary:"","full-width":"",onClick:o.openMessageBox},{default:(0,s.k6)(()=>[...t[4]||(t[4]=[(0,s.eW)(" Message owner ",-1)])]),_:1},8,["onClick"])]),_:1})]),(0,s.Lk)("div",eo,[t[5]||(t[5]=(0,s.Lk)("span",{class:"mod-text-p-sm"}
1,"Selected time period: ",-1)),(0,s.bF)(v,{"show-date-selection":!1,"cur-time-period":o.curTimePeriod,"onChange:range":t[0]||(t[0]=e=>o.curTimePeriod=e)},null,8,["cur-time-period"])]),(0,s.Lk)("div",er,[t[9]||(t[9]=(0,s.Lk)("h6",{class:"tw-mb-4"},"Overview",-1)),(0,s.Lk)("div",en,[(0,s.Lk)("div",ei,[t[6]||(t[6]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"},"Total playtime",-1)),(0,s.Lk)("span",ed,(0,l.toDisplayString)(o.durationFormatter(o.creatorModsPlaytimeState[o.curTimePeriod]?.series?.[0].value||0)),1)]),(0,s.Lk)("div",em,[t[7]||(t[7]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"}," Average playtime per session ",-1)),(0,s.Lk)("span",eu,(0,l.toDisplayString)(o.durationFormatter(o.creatorModsPlaytimeState[o.curTimePeriod]?.series?.[0].value/o.creatorModsSessionState[o.curTimePeriod]?.series?.[0].value||0)),1)]),(0,s.Lk)("div",ec,[t[8]||(t[8]=(0,s.Lk)("span",{class:"mod-text-p-sm tw-leading-none"},"Total players",-1)),(0,s.Lk)("span",eg,(0,l.toDisplayString)(o.modPlayersState[o.curTimePeriod]?.series?.[0].value||0),1)])]),(0,s.bF)(w,{class:"tw-my-6"}),t[10]||(t[10]=(0,s.Lk)("h6",{class:"tw-mb-4"},"Playtime cohorts",-1)),(0,s.bF)(f,{"table-id":"metrics-analysis-modal","small-row":"","alt-background":"","loading-rows":5,"row-schema":o.schema,items:o.modsSessionLengthRows,loading:o.getModsSessionLengthAsync.loading.value,fetch:!1},null,8,["row-schema","items","loading"])])]),_:1},8,["show"])}]]),eh={class:"tw-flex"},eS={config:[{label:"Length",key:"period",type:"string",cellClass:"tw-min-w-28 tw-text-left",fit:!0,sortable:!1},{label:"",inputCell:!0,type:"progress",key:"percent",sortable:!1,cellClass:"tw-w-full"},{label:"",key:"percent",type:"string",format:"percent",cellClass:"tw-table-cell tw-min-w-10 tw-text-right",sortable:!1},{label:"Play sessions",key:"sessions",type:"string",cellClass:"tw-text-right",sortable:!1}],sortable:!1};var eT={components:{TimePeriodSelector:x.A,NoTableData:$.A,PanelHeader:V.A,ModioTable:D.A},props:{game:{type:Object,required:!0},state:{type:Object,default:()=>({})}},emits:["update:state"],setup(e,{emit:t}){let{state:a,game:l}=(0,C.QW)(e),{getTimeFromPeriod:o,curTimePeriod:r}=(0,H.Sh)(),{getSessionLengthAsync:n}=(0,H.dP)(),{get:i,data:d,loading:m,error:u}=n;(0,s.wB)(r,async e=>{e>0&&!a.value[e]&&(await i(o(e),N.c9.now()),t("update:state",{timePeriod:e,data:d.value}))});let c=(0,s.EW)(()=>{let e=[{period:"0-5 mins",sessions:0,percent:0},{period:"5-30 mins",sessions:0,percent:0},{period:"30-60 mins",sessions:0,percent:0},{period:"1-2 hrs",sessions:0,percent:0},{period:"2+ hrs",sessions:0,percent:0}],t=0;return a.value[r.value]?.series?.forEach(a=>{let s=e.find(e=>e.period===a.label),o=3===l.value.id?(0,I.nd)(Number(a.value)):Number(a.value);s.sessions+=o,t+=o}),e.forEach(e=>e.percent=e.sessions/t*100),e});return{curTimePeriod:r,loading:m,schema:eS,error:u,items:c}}};let eE=(0,G.A)(eT,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("time-period-selector"),d=(0,s.g2)("panel-header"),m=(0,s.g2)("no-table-data"),u=(0,s.g2)("modio-table"),c=(0,s.g2)("base-panel");return(0,s.uX)(),(0,s.Wv)(c,{"no-margin":"","small-padding":"","full-width":"","full-height":"",class:(0,l.normalizeClass)(["tw-h-full",{"tw-animate-pulse":o.loading}])},{default:(0,s.k6)(()=>[(0,s.bF)(d,{small:"",text:"Play sessions length",class:"tw-mb-6"},{buttons:(0,s.k6)(()=>[(0,s.Lk)("div",eh,[(0,s.bF)(i,{large:"","show-date-selection":!1,"cur-time-period":o.curTimePeriod,"onUpdate:timeperiod":t[0]||(t[0]=e=>o.curTimePeriod=e),"onChange:range":t[1]||(t[1]=e=>o.curTimePeriod=e)},null,8,["cur-time-period"])])]),_:1}),o.items?.length||o.loading?((0,s.uX)(),(0,s.Wv)(u,{key:1,"table-id":"metrics-play-session-table","loading-rows":5,"row-schema":o.schema,items:{data:o.items},"item-total":Math.min(o.items.length,10),loading:o.loading,fetch:!1,limit:5,error:o.error},null,8,["row-schema","items","item-total","loading","error"])):((0,s.uX)(),(0,s.Wv)(m,{key:0,metrics:""}))]),_:1},8,["class"])}]]);var ek=a(40182),e_=a(81467),ex=a(45780),eA=a(37358),eC={components:{PlatformSessionTable:Y,CreatorAnalysisModal:j,TimePeriodSelector:x.A,ModAnalysisModal:ef,PlaySessionTable:eE,DashboardStats:K.A,TrendingTable:e_.A,GeoMapChart:ek.A,SummaryBox:ex.A},props:{game:{type:Object,default:void 0}},setup(){let{getTrendingCreatorModsPlaytimeAsync:e,getCCULocationPlaytimeActiveAsync:t,getTrendingCreatorsPlaytimeAsync:a,getSessionPlaytimeSummaryAsync:l,getCCULocationPlaytimeAsync:o,getCCUModsUsersActiveAsync:r,getSessionModSummaryAsync:n,getCCUTotalSummaryAsync:i,getSessionLengthAsync:d,getCCUModSummaryAsync:m,sessionPlaytimeAsync:u,getCCUSummaryAsync:c,fetchDataIntoState:g,ccuPlatformAsync:p,ccuPeakAsync:y}=(0,H.dP)(),{ugcNamePlural:b}=(0,H.jR)(),{curTimePeriod:v}=(0,H.Sh)(null,null,P.N8.ONE_WEEK.value),{getTimeFromPeriod:w,curTimePeriod:f}=(0,H.Sh)(),h=[{showWarning:!1,noGeo:!1,dataType:P.xO.TIME,text:"Playtime",chartTab:P.e7.CCU_SESSION_PLAYTIME,asyncInfo:u,docsHash:"play-sessions"},{showWarning:!1,noGeo:!1,text:"Number of players",chartTab:P.e7.CCU_PLATFORM,asyncInfo:p,docsHash:"play-sessions"},{showWarning:!1,noGeo:!1,text:"Peak concurrent players",chartTab:P.e7.CCU_MAX_SUM_USERS,asyncInfo:y,docsHash:"play-sessions"}],S=(0,s.EW)(()=>{let e=M.value?.[f.value]?.series?.[0],t=G.value?.[f.value]?.series?.[0];return{concurrent:(0,I.Ju)(t?.metadata?.users),peak:(0,I.Ju)(e?.metadata?.max),average:(0,I.Z)(e?.metadata?.sum,e?.metadata?.sessions)}}),T=(0,s.EW)(()=>{let e=D.value?.[f.value]?.series?.[0],t=G.value?.[f.value]?.series?.[0];return{concurrent:(0,I.Ju)(t?.metadata?.mods),peak:(0,I.Ju)(e?.metadata?.max),average:(0,I.Z)(e?.metadata?.sum,e?.metadata?.sessions)}}),E=(0,s.EW)(()=>{let e=W.value?.[f.value]?.series?.[0];return{peak:(0,I.Ju)(e?.metadata?.max),average:(0,I.Z)(e?.metadata?.sum,e?.metadata?.sessions)}}),k=(0,s.EW)(()=>{let e=F.value?.[f.value]?.series;return e?.length?e.reduce((e,t)=>
1e+(0,I.Ju)(t?.value),0):0}),_=(0,s.EW)(()=>{let e=U.value?.[f.value]?.series?.[0];return{peak:(0,I.Ju)(e?.metadata?.max),average:(0,I.Z)(e?.metadata?.sum,e?.metadata?.sessions)}}),x=(0,s.EW)(()=>{let e=i.data.value?.series?.[0]?.metadata,t=0,a=0;if(!e)return{sessions:t,users:a};switch(f.value){case P.N8.ONE_WEEK.value:t=e.w1_sessions,a=e.w1_users;break;case P.N8.ONE_MONTH.value:t=e.m1_sessions,a=e.m1_users;break;case P.N8.THREE_MONTHS.value:t=e.m3_sessions,a=e.m3_users;break;case P.N8.SIX_MONTHS.value:t=e.m6_sessions,a=e.m6_users;break;case P.N8.TWELVE_MONTHS.value:t=e.y1_sessions,a=e.y1_users;break;case P.N8.LIFETIME.value:t=e.all_sessions,a=e.all_users}return{sessions:t,users:a}}),A=(0,s.EW)(()=>{let e=w(f.value);return e?Math.round(N.c9.now().diff(e,"days").days):1}),O=(0,s.EW)(()=>[{title:"Concurrent players",value:S.value.concurrent,secondary:[S.value.average,S.value.peak],description:["average","peak"],isLive:!0,loading:c.loading.value||r.loading.value},{title:`Concurrent ${b}`,value:T.value.concurrent,secondary:[T.value.average,T.value.peak],description:["average","peak"],isLive:!0,loading:m.loading.value||r.loading.value},{title:"Total sessions ",value:k.value,secondary:[(0,I.Z)(k.value,A.value)],description:["play sessions per day"],loading:d.loading.value},{title:"Total players",value:x.value.users,secondary:[(0,I.Z)(x.value.sessions,x.value.users)],description:["play sessions per player"],loading:i.loading.value},{title:"Playtime per session",type:P.xO.TIME,value:_.value.average,secondary:[_.value.peak],secondaryType:[P.xO.TIME],description:["peak"],loading:l.loading.value},{title:`${b} played per session`,value:E.value.average,secondary:[E.value.peak],description:["peak"],loading:n.loading.value}]),R=(0,s.EW)(()=>t.loading.value||o.loading.value),D=(0,C.KR)({}),M=(0,C.KR)({}),F=(0,C.KR)({}),W=(0,C.KR)({}),U=(0,C.KR)({}),B=(0,C.KR)({}),G=(0,C.KR)({}),j=[{getAsync:m,state:D},{getAsync:c,state:M},{getAsync:d,state:F},{getAsync:n,state:W},{getAsync:l,state:U},{getAsync:r,state:G}];return(0,s.KC)(()=>{i.get()}),(0,s.wB)(f,e=>{let t=N.c9.now(),a=w(e);j.forEach(s=>{g(e,s,a,t)})},{immediate:!0}),(0,s.wB)(v,e=>{let a=N.c9.now(),s=w(e);g(e,{getAsync:e===P.N8.LIVE.value?t:o,state:B},s,a)},{immediate:!0}),{getTrendingCreatorModsPlaytimeAsync:e,getTrendingCreatorsPlaytimeAsync:a,USER_GAME_MOD_BROWSE_ROUTE:L.zI,schemaCreatorModsPlaytime:eA.q2,schemaCreatorsPlaytime:eA.ie,locationCurTimePeriod:v,METRICS_DATA_TYPES:P.xO,sessionLengthState:F,ccuLocationState:B,DASHBOARD_TYPES:P.RE,MOD_VIEW_ROUTE:L.bs,curTimePeriod:f,ugcNamePlural:b,overviewData:O,mapLoading:R,configs:h}}};let eO=(0,G.A)(eC,[["render",function(e,t,a,l,o,r){let n=(0,s.g2)("time-period-selector"),d=(0,s.g2)("summary-box"),m=(0,s.g2)("base-grid"),u=(0,s.g2)("base-panel"),c=(0,s.g2)("play-session-table"),g=(0,s.g2)("platform-session-table"),p=(0,s.g2)("mod-analysis-modal"),y=(0,s.g2)("trending-table"),b=(0,s.g2)("creator-analysis-modal"),v=(0,s.g2)("geo-map-chart"),w=(0,s.g2)("dashboard-stats");return(0,s.uX)(),(0,s.CE)(s.FK,null,[t[5]||(t[5]=(0,s.Lk)("h3",null,"Play sessions",-1)),(0,s.bF)(w,{game:a.game,type:l.DASHBOARD_TYPES.SESSION,configs:l.configs},{summary:(0,s.k6)(()=>[(0,s.bF)(u,{"no-padding":"","no-margin":""},{default:(0,s.k6)(()=>[(0,s.Lk)("div",i,[t[4]||(t[4]=(0,s.Lk)("h4",{class:"tw-mb-6"},"Overview",-1)),(0,s.bF)(n,{large:"","show-date-selection":!1,"cur-time-period":l.curTimePeriod,"onUpdate:timeperiod":t[0]||(t[0]=e=>l.curTimePeriod=e),"onChange:range":t[1]||(t[1]=e=>l.curTimePeriod=e)},null,8,["cur-time-period"])]),(0,s.bF)(m,{cols:2,"lg-cols":3,"2xl-cols":6,"x-gap":2},{default:(0,s.k6)(()=>[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(l.overviewData,e=>((0,s.uX)(),(0,s.Wv)(d,{key:e.title,"reserve-live-height":"",game:a.game,title:e.title,tooltip:e.tooltip,"is-live":e.isLive,"data-type":e.type,value:e.value,"sub-value":e.subValue,"secondary-values":e.secondary,"secondary-values-description":e.description,"secondary-values-types":e.secondaryType,loading:e.loading},null,8,["game","title","tooltip","is-live","data-type","value","sub-value","secondary-values","secondary-values-description","secondary-values-types","loading"]))),128))]),_:1})]),_:1})]),addons:(0,s.k6)(()=>[(0,s.bF)(m,{class:"tw-w-full",cols:1,"lg-cols":2,"x-gap":5},{default:(0,s.k6)(()=>[(0,s.bF)(c,{state:l.sessionLengthState,game:a.game,"onUpdate:state":t[2]||(t[2]=e=>l.sessionLengthState[e.timePeriod]=e.data)},null,8,["state","game"]),(0,s.bF)(g,{game:a.game},null,8,["game"])]),_:1}),(0,s.bF)(m,{class:"tw-w-full",cols:1,"lg-cols":2,"x-gap":5},{default:(0,s.k6)(()=>[(0,s.bF)(y,{title:`Most played ${l.ugcNamePlural}`,label:"label","image-type":"logo","resource-id":"modid","resource-name":"mods","resource-name-id":"modnameid","link-param":"mod",game:a.game,schema:l.schemaCreatorModsPlaytime,"fetch-func":l.getTrendingCreatorModsPlaytimeAsync,"link-name":l.MOD_VIEW_ROUTE},{modal:(0,s.k6)(({show:e,item:t,hideModal:l})=>[(0,s.bF)(p,{game:a.game,show:e,"mod-item":t,"onClose:modal":l},null,8,["game","show","mod-item","onClose:modal"])]),_:1},8,["title","game","schema","fetch-func","link-name"]),(0,s.bF)(y,{title:"Top creators by playtime generated",label:"username","image-type":"avatar","resource-id":"memberid","resource-name":"members","resource-name-id":"membernameid","link-param":"user",game:a.game,schema:l.schemaCreatorsPlaytime,"fetch-func":l.getTrendingCreatorsPlaytimeAsync,"link-name":l.USER_GAME_MOD_BROWSE_ROUTE},{modal:(0,s.k6)(({show:e,item:t,hideModal:l})=>[(0,s.bF)(b,{game:a.game,show:e,"creator-item":t,"onClose:modal":l},null,8,["game","show","creator-item","onClose:modal"])]),_:1},8,["game","schema","fetch-func","link-name"])]),_:1})]),location:(0,s.k6)(()=>[(0,s.bF)(v,{game:a.game,"map-title":"Player locations by playtime","metric-text":"Total playtime",loading:l.mapLoading,data:l.ccuLocationState[l.locationCurTimePeriod],"data-type":l.METRICS_DATA_TYPES.TIME,filesize:!1,"time-period":l.locationCurTimePeriod,"show-time-period":"",live:"","onUpdate:timeperiod":t[3]||(t[3]=e=>l.locationCurTimePeriod=e)},null,8,["game","loading","data","data-type","time-period"])]),_:1},8,["game","type","configs"])],64)}]]),eP={class:"tw-flex tw-items-center tw-gap-2 tw-mb-2"};var eI={components:{MetricsSelector:n.A,DashboardStats:K.A},props:{game:{type:Object,default:void 0},mod:{type:Object,default:void 0}},setup(){let{openedUserReportsAsync:e,closedUserReportsAsync:t,openedModReportsAsync:a,closedModReportsAsync:s,deletedModsAsync:l,usersBannedAsync:o}=(0,H.dP)(),{ugcNameSingle:r,ugcNamePlural:n,gameNameId:i,modNameId:d}=(0,H.jR)(),m=[{showWarning:!1,groupByText:"Report types",noGeo:!0,text:`${r} reports opened`,dataFormat:e=>u(e),chartTab:P.e7.OPENED_MOD_REPORTS,asyncInfo:a,docsHash:"ugc-reports-opened"},{showWarning:!1,groupByText:"Report types",noGeo:!0,text:`${r} reports closed`,dataFormat:e=>u(e),chartTab:P.e7.CLOSED_MOD_REPORTS,asyncInfo:s,docsHash:"ugc-reports-closed"},{showWarning:!1,groupByText:"Status types",noGeo:!0,text:`${n} deleted`,dataFormat:e=>c(e,"deleted"),chartTab:P.e7.MODS_DELETED,asyncInfo:l,docsHash:"ugc-deleted"},{showWarning:!1,groupByText:"Report types",noGeo:!0,text:"User reports opened",dataFormat:e=>u(e),chartTab:P.e7.OPENED_USER_REPORTS,asyncInfo:e,docsHash:"user-reports-opened"}];function u(e){if(!e)return{group_by:[],series:[]};let t=e.group_by.findIndex(e=>"dmca"===e.label),a=e.group_by.map((e,a)=>({label:a===t?"DMCA":(0,A.ab)(e.label),series:e.series})),s=a.splice(t,1)[0];return s&&a.unshift(s),{group_by:a,series:e.series}}function c(e,t){let a=[],s=e?.group_by?.filter(e=>e.label.includes(`to ${t}`));if(!s||!s.length)return{group_by:[],series:[]};if(e?.series[0]?.label==="total")return a[0]={label:"total",value:0}
1,s&&s.length&&s.forEach(e=>{a[0].value+=e.series[0].value}),{group_by:s,series:a};let l={};return s.forEach(e=>{e.series.forEach(e=>{l[e.label]||(l[e.label]=0),l[e.label]+=e.value})}),{group_by:s.map(e=>({label:(0,A.ab)(e.label.split(/( to )/).reverse().join("").replace("to","from")),series:e.series})),series:Object.entries(l).map(([e,t])=>({label:e,value:t}))}}return i||d||(m.push({showWarning:!1,groupByText:"Report types",noGeo:!0,text:"User reports closed",dataFormat:e=>u(e),chartTab:P.e7.CLOSED_USER_REPORTS,asyncInfo:t}),m.push({showWarning:!1,groupByText:"Status types",noGeo:!0,text:"Users banned",dataFormat:e=>c(e,"banned"),chartTab:P.e7.USERS_BANNED,asyncInfo:o})),{DASHBOARD_TYPES:P.RE,configs:m}}};let eR=(0,G.A)(eI,[["render",function(e,t,a,l,o,r){let n=(0,s.g2)("metrics-selector"),i=(0,s.g2)("dashboard-stats");return(0,s.uX)(),(0,s.CE)(s.FK,null,[(0,s.Lk)("div",eP,[t[0]||(t[0]=(0,s.Lk)("h3",null,"Health Metrics",-1)),(0,s.bF)(n,{class:"tw-ml-auto",game:a.game,mod:a.mod,"no-float":"","only-game-selector":""},null,8,["game","mod"])]),(0,s.bF)(i,{game:a.game,mod:a.mod,type:l.DASHBOARD_TYPES.HEALTH,configs:l.configs},null,8,["game","mod","type","configs"])],64)}]]),eD={class:"tw-flex tw-items-center tw-gap-2 tw-mb-2"};var eL={components:{MetricsSelector:n.A,DashboardStats:K.A},props:{game:{type:Object,default:void 0},mod:{type:Object,default:void 0}},setup(){let{allUsersInteractionAsync:e,modCommentsAsync:t,downloadAsync:a}=(0,H.dP)({toggleSeries:{request:W.TiV,requestParams:{}}}),{subscriptionAsync:s}=(0,H.dP)({secondary:{one:{request:W.H2H,requestParams:{filter:{eventtype:P.zN.SUBSCRIBE}}},two:{request:W.H2H,requestParams:{filter:{eventtype:P.zN.UNSUBSCRIBE}}}}}),{ugcNameSingle:l}=(0,H.jR)(),o=[{showWarning:!1,noGeo:!1,text:"Downloads",chartTab:P.e7.DOWNLOADS,asyncInfo:a,docsHash:"downloads"},{showWarning:!1,noGeo:!1,text:"Subscriptions",chartTab:P.e7.SUBSCRIPTIONS,asyncInfo:s,syncChart:{text:"Subscriptions gained and lost",gainedAndLost:!0,one:{text:"Subscriptions gained"},two:{text:"Subscriptions lost"}},docsHash:"subscriptions"},{showWarning:!0,text:"Active users",noGeo:!0,chartTab:P.e7.ACTIVE,asyncInfo:e,recordDateText:P.MY.USERS,docsHash:"ugc-active-users"},{showWarning:!1,noGeo:!0,text:`${l} comments`,chartTab:P.e7.MODS_COMMENTS,asyncInfo:t,docsHash:"ugc-comments"}];return{DASHBOARD_TYPES:P.RE,ugcNameSingle:l,configs:o}}};let eM=(0,G.A)(eL,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("metrics-selector"),d=(0,s.g2)("dashboard-stats");return(0,s.uX)(),(0,s.CE)(s.FK,null,[(0,s.Lk)("div",eD,[(0,s.Lk)("h3",null,(0,l.toDisplayString)(o.ugcNameSingle)+" Metrics",1),(0,s.bF)(i,{class:"tw-ml-auto",game:a.game,mod:a.mod,"no-float":"","only-game-selector":""},null,8,["game","mod"])]),(0,s.bF)(d,{game:a.game,mod:a.mod,type:o.DASHBOARD_TYPES.MOD_UGC,configs:o.configs},null,8,["game","mod","type","configs"])],64)}]]),eF={class:"tw-flex tw-items-center tw-gap-2 tw-mb-2"};var eW={components:{MetricsSelector:n.A,DashboardStats:K.A},props:{game:{type:Object,default:void 0},mod:{type:Object,default:void 0}},setup(){let{allUsersInteractionAsync:e,userRegisteredAsync:t,guideCommentsAsync:a,creatorJoinedAsync:s,modCommentsAsync:l,getStorage:o}=(0,H.dP)({toggleSeries:{request:W.TiV,requestParams:{}},secondary:{one:{request:W.MBR,requestParams:{}},two:{request:W.TiV,requestParams:{}},three:{request:W.SmI,requestParams:{}}}}),{gameNameId:r,ugcNameSingle:n}=(0,H.jR)(),{DAILY_SECONDARY_ONE:i,DAILY_SECONDARY_TWO:d,GEO:m}=P.Gq,u=[{showWarning:!0,text:"UGC users",chartTab:P.e7.ACTIVE,asyncInfo:e,recordDateText:P.MY.USERS,syncChart:{stacked:!0,text:"Unique impressions vs. UGC users",one:{text:"Logged in users"},two:{text:"Anonymous users",dataFormat:()=>(function(){let e=o(i,P.e7.ACTIVE);var t=o(d,P.e7.ACTIVE),a=e;let s={group_by:[],series:[]};if(!t||!a)return s;a.group_by.forEach(e=>{let a=t.group_by.find(t=>t.label===e.label);if(a){let t=Object.fromEntries(a.series.map(e=>[e.label,e.value]));e.series.forEach(e=>{t[e.label]&&(t[e.label]-=e.value)}),s.group_by.push({label:a.label,series:Object.entries(t).map(([e,t])=>({label:e,value:t}))})}});let l=Object.fromEntries(t.series.map(e=>[e.label,e.value]));
1return a.series.forEach(e=>{let t=void 0===m?"total":e.label;l[t]&&(l[t]-=e.value)}),s.series=Object.entries(l).map(([e,t])=>({label:e,value:t})),s})()},three:{text:"User interactions"}},docsHash:"ugc-active-users"},...r?[]:[{noGeo:!0,text:"Users registered",chartTab:P.e7.USER_REGISTERED,asyncInfo:t,docsHash:"user-registered"}],{showWarning:!1,noGeo:!0,text:`${n} comments`,chartTab:P.e7.MODS_COMMENTS,asyncInfo:l,docsHash:"ugc-comments"},{showWarning:!1,noGeo:!0,hideIfZero:!0,text:"Guide comments",chartTab:P.e7.GUIDES_COMMENTS,asyncInfo:a,docsHash:"guide-comments"},{showWarning:!1,noMod:!0,noGeo:!0,text:"Creators joined",chartTab:P.e7.CREATOR_JOINED,asyncInfo:s,docsHash:"creators-joined"}];return{DASHBOARD_TYPES:P.RE,configs:u}}};let eU=(0,G.A)(eW,[["render",function(e,t,a,l,o,r){let n=(0,s.g2)("metrics-selector"),i=(0,s.g2)("dashboard-stats");return(0,s.uX)(),(0,s.CE)(s.FK,null,[(0,s.Lk)("div",eF,[t[0]||(t[0]=(0,s.Lk)("h3",null,"User Activity Metrics",-1)),(0,s.bF)(n,{class:"tw-ml-auto",game:a.game,mod:a.mod,"no-float":"","only-game-selector":""},null,8,["game","mod"])]),(0,s.bF)(i,{game:a.game,type:l.DASHBOARD_TYPES.USERS,configs:l.configs},null,8,["game","type","configs"])],64)}]]),eN={class:"tw-flex tw-items-center tw-gap-2 tw-mb-2"};var eH={components:{MetricsSelector:n.A,DashboardStats:K.A},props:{game:{type:Object,default:void 0},mod:{type:Object,default:void 0}},setup(){let{modNameId:e,ugcNameSingle:t,ugcNamePlural:a}=(0,H.jR)(),{getTrendingTagDownloadsByCreatorsAsync:s,getTrendingCreatorDownloadsAsync:l,getTrendingModDownloadsAsync:o,getTrendingTagDownloadsAsync:r,subscriptionAsync:n,modsUpdatedAsync:i,filesAddedAsync:d,bandwidthAsync:m,modsAddedAsync:u,downloadAsync:c}=(0,H.dP)({secondary:{one:{request:W.H2H,requestParams:{filter:{eventtype:P.zN.SUBSCRIBE}}},two:{request:W.H2H,requestParams:{filter:{eventtype:P.zN.UNSUBSCRIBE}}}}}),g=[{showWarning:!1,noGeo:!1,text:"Downloads",chartTab:P.e7.DOWNLOADS,asyncInfo:c,docsHash:"downloads",showDimensionToggle:!0,dimensionOptions:[{text:"Platform",value:P.kU.PLATFORM},{text:"Game",value:P.kU.GAME}]},{showWarning:!1,noGeo:!1,text:"Subscriptions",chartTab:P.e7.SUBSCRIPTIONS,asyncInfo:n,syncChart:{text:"Subscriptions gained and lost",gainedAndLost:!0,one:{text:"Subscriptions gained"},two:{text:"Subscriptions lost"}},docsHash:"subscriptions"}];e||g.push({showWarning:!1,noGeo:!0,text:`${a} added`,chartTab:P.e7.MODS_ADDED,asyncInfo:u,docsHash:"ugc-added"},{showWarning:!1,noGeo:!0,text:`${a} updated`,chartTab:P.e7.MODS_UPDATED,asyncInfo:i,docsHash:"ugc-updated"},{noGeo:!0,text:"Files added",chartTab:P.e7.FILE_ADDED,asyncInfo:d,docsHash:"files-added"},{text:"Bandwidth",showWarning:!0,dataType:P.xO.FILESIZE,recordDateText:P.MY.BANDWIDTH,chartTab:P.e7.BANDWIDTH,asyncInfo:m,docsHash:"bandwidth"});let p=[{title:`Top ${a.toLowerCase()}`,label:"label",imageType:"logo",resourceId:"modid",resourceName:"mods",resourceNameId:"modnameid",linkParam:"mod",showCategory:!0,showPlatforms:!0,schema:eA.DE,fetchFunc:o,tagFetchFunc:r,linkName:L.bs},{title:"Top creators",label:"username",imageType:"avatar",resourceId:"memberid",resourceName:"members",resourceNameId:"membernameid",linkParam:"user",showCategory:!0,showPlatforms:!0,schema:eA.R9,fetchFunc:l,tagFetchFunc:s,linkName:L.zI}];return{DASHBOARD_TYPES:P.RE,ugcNameSingle:t,topConfigs:p,configs:g}}};let eB=(0,G.A)(eH,[["render",function(e,t,a,o,r,n){let i=(0,s.g2)("metrics-selector"),d=(0,s.g2)("dashboard-stats");return(0,s.uX)(),(0,s.CE)(s.FK,null,[(0,s.Lk)("div",eN,[(0,s.Lk)("h3",null,(0,l.toDisplayString)(o.ugcNameSingle)+" Metrics",1),(0,s.bF)(i,{class:"tw-ml-auto",game:a.game,mod:a.mod,"no-float":"","only-game-selector":""},null,8,["game","mod"])]),(0,s.bF)(d,{game:a.game,mod:a.mod,type:o.DASHBOARD_TYPES.UGC,configs:o.configs,"top-configs":o.topConfigs},null,8,["game","mod","type","configs","top-configs"])],64)}]]);var eG=a(77454),ej={components:{MetricsSelector:n.A,SessionStats:eO,HealthStats:eR,ModUgcStats:eM,UserStats:eU,UgcStats:eB},props:{game:{type:Object,default:void 0},mod:{type:Object,default:void 0}},setup(e){let{game:t,mod:a}=(0,C.QW)(e),{routePath:l,routeQuery:o}=(0,H.lq)(),{clearData:r}=(0,H.jR)(),{hasScrolled:n}=(0,H.yE)(),i=a.value||t.value?`${P.IU}/${a.value?"ugc":"game"}`:"",d=(0,C.KR)(i),m=(0,s.EW)(()=>`${l.value}?${o.value?.game||"all"}`);return(0,s.sV)(r),(0,s.Gt)("setDocsHash",function(e){d.value=e&&(a.value||t.value)?`${i}#${e}`:i}),{SESSION_STATS:L.$k,REVENUE_STATS:L.rM,HEALTH_STATS:L.dj,hasScrolled:n,USER_STATS:L.EG,UGC_STATS:L.Cl,MODIO_ENV:eG.L_,statsKey:m,docs:d}}},eK=(0,G.A)(ej,[["render",function(e,t,a,n,i,d){let m=(0,s.g2)("metrics-selector"),u=(0,s.g2)("mod-ugc-stats"),c=(0,s.g2)("ugc-stats"),g=(0,s.g2)("user-stats"),p=(0,s.g2)("health-stats"),y=(0,s.g2)("session-stats");return(0,s.uX)(),(0,s.CE)("div",o,[(0,s.Lk)("div",r,[(0,s.Lk)("div",{class:(0,l.normalizeClass)(["tw-block tw-w-full tw-ml-auto",{"tw-opacity-0":n.hasScrolled}])},[(0,s.bF)(m,{game:a.game,mod:a.mod,"hide-game-selector":"",docs:n.docs},null,8,["game","mod","docs"])],2),e.$route.name.includes(n.UGC_STATS)?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[a.mod?((0,s.uX)(),(0,s.Wv)(u,{key:`${n.statsKey}-mod`,game:a.game,mod:a.mod},null,8,["game","mod"])):((0,s.uX)(),(0,s.Wv)(c,{key:`${n.statsKey}-ugc`,game:a.game,mod:a.mod},null,8,["game","mod"]))],64)):e.$route.name.includes(n.USER_STATS)?((0,s.uX)(),(0,s.Wv)(g,{key:`${n.statsKey}-user`,game:a.game,mod:a.mod},null,8,["game","mod"])):e.$route.name.includes(n.HEALTH_STATS)?((0,s.uX)(),(0,s.Wv)(p,{key:`${n.statsKey}-health`,game:a.game,mod:a.mod},null,8,["game","mod"])):e.$route.name.includes(n.SESSION_STATS)?((0,s.uX)(),(0,s.Wv)(y,{key:`${n.statsKey}-session`,game:a.game},null,8,["game"])):(0,s.Q3)("",!0)])])}]])}}]);
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.