1import{r as t,bC as N,bD as S,j as a}from"./main-CtCpMky2.js";import{i as j}from"./formatters-CEcpOTdX.js";import{r as T,D as w,A}from"./AnalyticsPeriodSelector-CP_GcZQH.js";import{A as D}from"./AnalyticsRefreshButton-DnXEpq8j.js";import{A as R}from"./AdminTimeSeriesChart-qzTP3Y2p.js";import"./DateInput-BQfcuEac.js";import"./useMatchMedia-DGo0eSlk.js";const x=366;function k(r,e){const o=new Date(`${r}T12:00:00Z`).getTime(),n=new Date(`${e}T12:00:00Z`).getTime();return Math.round((n-o)/(1440*60*1e3))+1}function _(){const r=t.useMemo(()=>T(w),[]),[e,o]=t.useState(r),[n,c]=t.useState(!1),[m,u]=t.useState(null),[p,f]=t.useState(null),[g,y]=t.useState(null),[b,h]=t.useState([]),i=t.useMemo(()=>k(e.dateFrom,e.dateTo)<=x,[e.dateFrom,e.dateTo]),l=t.useCallback(async()=>{if(i){u(null),c(!0);try{const[s,d]=await Promise.all([N({body:{dateFrom:e.dateFrom,dateTo:e.dateTo}}),S({body:{periods:[{dateFrom:e.dateFrom,dateTo:e.dateTo}]}})]);if(!s.data)throw new Error("Ni odgovora (dnevno)");if(!d.data)throw new Error("Ni odgovora (skupaj)");f(d.data.total),y(d.data.periods[0]?.newRegistrations??0),h(s.data.days.map(v=>({date:v.date,values:{newRegistrations:v.newRegistrations}})))}catch(s){u(s instanceof Error?s.message:String(s)),f(null),y(null),h([])}finally{c(!1)}}},[e.dateFrom,e.dateTo,i]);return t.useEffect(()=>{l()},[l]),a.jsxs("div",{className:"analytics-form-content",children:[a.jsx("h1",{className:"analytics-form-title",children:"Å t. registriranih uporabnikov"}),a.jsx("p",{className:"analytics-form-description",children:"Skupno Å¡tevilo uporabnikov v bazi in novi registrirani po dnevih za izbrano obdobje (DSQL). Podatki se naložijo ob spremembi obdobja ali s klikom Osveži."}),a.jsx(A,{value:e,onChange:o,maxSpanDays:x,idPrefix:"user-count-period"}),a.jsx("div",{className:"analytics-params",children:a.jsx("div",{className:"analytics-param-field",style:{flex:"0 0 auto",justifyContent:"flex-end"},children:a.jsx(D,{onClick:l,disabled:!i,loading:n,id:"user-count-refresh"})})}),m?a.jsx("div",{className:"analytics-error",role:"alert",children:m}):null,n?a.jsx("div",{className:"analytics-spinner-wrap",children:a.jsx("span",{children:"Nalaganje (DSQL)â¦"})}):null,p!==null&&g!==null&&!n?a.jsxs("div",{className:"analytics-results",children:[a.jsxs("p",{className:"analytics-form-title",style:{fontSize:"var(--text-sm)",fontWeight:"var(--font-normal)"},children:["Skupaj registriranih: ",a.jsx("strong",{children:j(p)})," · ","Novih v izbranem obdobju:"," ",a.jsx("strong",{children:j(g)})]}),a.jsx(R,{title:"Novi registrirani uporabniki po dnevih",days:b,series:[{id:"newRegistrations",label:"Novi registrirani",tone:"primary"}],loading:!1})]}):null]})}export{_ as component};
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.