PageSourceSearch

https://www.lokimaps.com/_nuxt/DiEHOUg1.js

js lokimaps.com collected 2026-10-02 16:03:46 UTC 7,225 bytes, 1 lines download raw bytes

1import{d as v,U as w,i as k,b as n,k as t,u as o,t as s,A as c,F as g,m as L,x as A,V as D,W as T,o as l,p as C}from"./DfMkgiUT.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"02b00fabbe1395f3354278c4bba153e90d8fe508"};var m=new i.Error().stack;m&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[m]="22fd4351-c185-49a3-9365-d4d6081ac930",i._sentryDebugIdIdentifier="sentry-dbid-22fd4351-c185-49a3-9365-d4d6081ac930")}catch{}})();const S={class:"min-h-svh bg-background px-4 py-6 text-foreground sm:px-6 sm:py-10"},I={class:"mx-auto flex w-full max-w-3xl flex-col gap-6"},N={class:"flex flex-col gap-1"},U={key:0,class:"text-sm text-muted-foreground"},E={key:0,class:"rounded-2xl border border-destructive/30 bg-card p-5 shadow-sm",role:"alert"},F={class:"rounded-2xl border bg-card p-5 shadow-sm sm:p-6","aria-labelledby":"waitlist-title"},W={class:"grid grid-cols-2 gap-x-5 gap-y-6 sm:grid-cols-3"},B={class:"mt-1 text-2xl font-extrabold tabular-nums"},R={class:"mt-1 text-2xl font-extrabold tabular-nums"},V={class:"mt-1 text-2xl font-extrabold tabular-nums"},j={class:"mt-1 text-2xl font-extrabold tabular-nums"},H={class:"mt-1 text-2xl font-extrabold tabular-nums"},$={class:"rounded-2xl border bg-card p-5 shadow-sm sm:p-6","aria-labelledby":"sharing-title"},q={class:"grid grid-cols-2 gap-x-5 gap-y-6 sm:grid-cols-3"},G={class:"mt-1 text-2xl font-extrabold tabular-nums"},M={class:"mt-1 text-2xl font-extrabold tabular-nums"},O={class:"mt-1 text-2xl font-extrabold tabular-nums"},P={class:"rounded-2xl border bg-card p-5 shadow-sm sm:p-6","aria-labelledby":"suggestions-title"},Z={class:"mb-5"},X={class:"mt-1 text-sm text-muted-foreground"},Y={key:0,class:"text-sm text-muted-foreground"},z={key:1,class:"divide-y divide-border"},J={class:"flex flex-col gap-3"},K={class:"flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between"},Q={class:"min-w-0"},tt={class:"mb-1.5 flex flex-wrap items-center gap-2"},et={class:"rounded-full bg-primary/10 px-2 py-1 text-[0.6875rem] font-bold tracking-wide text-primary uppercase"},st={class:"text-xs font-medium text-muted-foreground"},ot={class:"break-words text-base font-bold"},at=["datetime"],dt={class:"break-words text-sm leading-6 text-foreground"},rt={class:"rounded-xl bg-muted px-3.5 py-3"},nt={class:"break-words text-sm leading-5"},lt={class:"flex flex-col gap-1.5 text-xs text-muted-foreground sm:flex-row sm:flex-wrap sm:items-center sm:gap-x-4"},it={class:"break-all font-mono text-[0.75rem] text-foreground"},mt=["href"],xt=v({__name:"admin",async setup(i){let m,x;const{data:a,error:b}=([m,x]=w(()=>D("/api/admin/stats",{headers:T()},"$hn2XZjTgjS")),m=await m,x(),m),y=new Intl.NumberFormat("en"),f=new Intl.DateTimeFormat("en-GB",{dateStyle:"medium",timeStyle:"short",timeZone:"UTC"}),p=A(()=>a.value?`${f.format(new Date(a.value.generatedAt))} UTC`:"");function r(u){return y.format(u??0)}function _(u){return`${f.format(new Date(u))} UTC`}function h(u){return u==="baseMap"?"Base map":"Overlay layer"}return k({title:"Admin stats · Lokimaps",htmlAttrs:{lang:"en"},meta:[{name:"robots",content:"noindex,nofollow,noarchive"},{name:"theme-color",content:"#f1e7d2"}]}),(u,e)=>(l(),n("main",S,[t("div",I,[t("header",N,[e[0]||(e[0]=t("p",{class:"text-xs font-bold tracking-[0.08em] text-primary uppercase"}," Lokimaps ",-1)),e[1]||(e[1]=t("h1",{class:"text-3xl font-extrabold tracking-tight sm:text-4xl"}," Admin stats ",-1)),o(p)?(l(),n("p",U," Updated "+s(o(p)),1)):c("",!0)]),o(b)?(l(),n("div",E,[...e[2]||(e[2]=[t("h2",{class:"font-bold"},"Stats unavailable",-1),t("p",{class:"mt-1 text-sm leading-6 text-muted-foreground"}," The current stats could not be loaded. Try refreshing the page. ",-1)])])):o(a)?(l(),n(g,{key:1},[t("section",F,[e[8]||(e[8]=t("div",{class:"mb-5"},[t("h2",{id:"waitlist-title",class:"text-lg font-bold"}," Android waitlist "),t("p",{class:"mt-1 text-sm text-muted-foreground"}," Confirmed signups and pending email confirmations. ")],-1)),t("dl",W,[t("div",null,[e[3]||(e[3]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Confirmed",-1)),t("dd",B,s(r(o(a).androidWaitlist.confirmed)),1)]),t("div",null,[e[4]||(e[4]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Last 24 hours",-1)),t("dd",R,s(r(o(a).androidWaitlist.confirmedLast24Hours)),1)]),t("div",null,[e[5]||
1(e[5]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Last 7 days",-1)),t("dd",V,s(r(o(a).androidWaitlist.confirmedLast7Days)),1)]),t("div",null,[e[6]||(e[6]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Last 30 days",-1)),t("dd",j,s(r(o(a).androidWaitlist.confirmedLast30Days)),1)]),t("div",null,[e[7]||(e[7]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Pending",-1)),t("dd",H,s(r(o(a).androidWaitlist.pendingConfirmation)),1)])])]),t("section",$,[e[12]||(e[12]=t("div",{class:"mb-5"},[t("h2",{id:"sharing-title",class:"text-lg font-bold"}," Location sharing "),t("p",{class:"mt-1 text-sm text-muted-foreground"}," Current non-expired Redis state. No location contents are read. ")],-1)),t("dl",q,[t("div",null,[e[9]||(e[9]=t("dt",{class:"text-sm leading-5 text-muted-foreground"},"Active groups",-1)),t("dd",G,s(r(o(a).locationSharing.activeGroups)),1)]),t("div",null,[e[10]||(e[10]=t("dt",{class:"text-sm leading-5 text-muted-foreground"}," Active memberships ",-1)),t("dd",M,s(r(o(a).locationSharing.activeMemberships)),1)]),t("div",null,[e[11]||(e[11]=t("dt",{class:"text-sm leading-5 text-muted-foreground"}," Published locations ",-1)),t("dd",O,s(r(o(a).locationSharing.publishedLocations)),1)])])]),t("section",P,[t("div",Z,[e[13]||(e[13]=t("h2",{id:"suggestions-title",class:"text-lg font-bold"}," AI map and layer suggestions ",-1)),t("p",X," Latest "+s(r(o(a).suggestedLayers.length))+" stored suggestions, newest first. ",1)]),o(a).suggestedLayers.length===0?(l(),n("p",Y," No suggestions have been stored yet. ")):(l(),n("ol",z,[(l(!0),n(g,null,L(o(a).suggestedLayers,d=>(l(),n("li",{key:d.id,class:"py-5 first:pt-0 last:pb-0"},[t("article",J,[t("header",K,[t("div",Q,[t("div",tt,[t("span",et,s(d.type),1),t("span",st,s(h(d.usage)),1)]),t("h3",ot,s(d.title),1)]),t("time",{class:"shrink-0 text-xs text-muted-foreground",datetime:d.createdAt},s(_(d.createdAt)),9,at)]),t("p",dt,s(d.summary),1),t("div",rt,[e[14]||(e[14]=t("p",{class:"mb-1 text-[0.6875rem] font-bold tracking-wide text-muted-foreground uppercase"}," Asked ",-1)),t("p",nt,s(d.question),1)]),t("div",lt,[t("code",it,s(d.layerIdentifier),1),d.capabilitiesUrl?(l(),n("a",{key:0,class:"w-fit font-semibold text-primary underline decoration-primary/35 underline-offset-3 hover:decoration-primary",href:d.capabilitiesUrl,target:"_blank",rel:"noopener noreferrer"},[...e[15]||(e[15]=[C(" Open capabilities ",-1),t("span",{class:"sr-only"},"(opens in a new tab)",-1)])],8,mt)):c("",!0)])])]))),128))]))]),e[16]||(e[16]=t("p",{class:"px-1 text-xs leading-5 text-muted-foreground"}," Waitlist and location-sharing data is aggregate only. Emails, user hashes, location metadata, tokens, coordinates, profiles, and encrypted envelopes are never returned by this page. ",-1))],64)):c("",!0)])]))}});export{xt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.