nomnomtokens 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -10
- package/dist/index.js +4208 -3455
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/web/nitro.json +1 -1
- package/web/public/_nuxt/4C_a23zt.js +1 -0
- package/web/public/_nuxt/B1jhn8zK.js +1 -0
- package/web/public/_nuxt/B2aHje2L.js +1 -0
- package/web/public/_nuxt/BAfR3Wl32.js +1 -0
- package/web/public/_nuxt/BMSLzLlT.js +1 -0
- package/web/public/_nuxt/BOKlFKrX.js +1 -0
- package/web/public/_nuxt/Ba6z8j_4.js +1 -0
- package/web/public/_nuxt/{B1O-ibEy.js → Bag9D5rq.js} +2 -2
- package/web/public/_nuxt/Bia8fJFj.js +1 -0
- package/web/public/_nuxt/{tqUqm2f-.js → Bprokln-.js} +1 -1
- package/web/public/_nuxt/C51OzH6V.js +1 -0
- package/web/public/_nuxt/C9MiT_Wm.js +96 -0
- package/web/public/_nuxt/CDzUujek.js +2 -0
- package/web/public/_nuxt/CIHIOSzn.js +1 -0
- package/web/public/_nuxt/CIKwfDBl.js +1 -0
- package/web/public/_nuxt/COwSpxrx.js +1 -0
- package/web/public/_nuxt/CZSbzIi-.js +1 -0
- package/web/public/_nuxt/CfBMjq8x.js +1 -0
- package/web/public/_nuxt/Ch3y3mGJ.js +1 -0
- package/web/public/_nuxt/{B7bAnU98.js → CkRZsevx.js} +1 -1
- package/web/public/_nuxt/Cq1Sq3Go.js +1 -0
- package/web/public/_nuxt/CsN_oUfs.js +1 -0
- package/web/public/_nuxt/CvIugsJe2.js +1 -0
- package/web/public/_nuxt/D49wVVwm2.js +1 -0
- package/web/public/_nuxt/D4C6J8YV.js +1 -0
- package/web/public/_nuxt/D7Ph0tZD.js +1 -0
- package/web/public/_nuxt/D9Mxq5ER.js +1 -0
- package/web/public/_nuxt/D9j6aFUy.js +1 -0
- package/web/public/_nuxt/DMgad8mU.js +1 -0
- package/web/public/_nuxt/DPnm6zS2.js +1 -0
- package/web/public/_nuxt/DQEnwY-5.js +1 -0
- package/web/public/_nuxt/Dh50_bkx.js +1 -0
- package/web/public/_nuxt/DhJW7zb9.js +1 -0
- package/web/public/_nuxt/DnTwjl0_2.js +47 -0
- package/web/public/_nuxt/DsH8sTHf.js +1 -0
- package/web/public/_nuxt/Dy30RUCD2.js +1 -0
- package/web/public/_nuxt/OU1MVgXQ.js +1 -0
- package/web/public/_nuxt/W3KL_OjU.js +1 -0
- package/web/public/_nuxt/{BgvEQa6E.js → ZjfInHdu.js} +2 -2
- package/web/public/_nuxt/builds/latest.json +1 -1
- package/web/public/_nuxt/builds/meta/e90c8a2d-9e50-4b58-8019-6b1bf4c8fc6d.json +1 -0
- package/web/public/_nuxt/cbxnBwm6.js +1 -0
- package/web/public/_nuxt/entry.MbqNBIeH.css +2 -0
- package/web/public/_nuxt/m3-Vaz25.js +1 -0
- package/web/server/chunks/_/filters.mjs +1 -1
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs → Badge-BmQgPqZ1.mjs} +2 -2
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs.map → Badge-BmQgPqZ1.mjs.map} +1 -1
- package/web/server/chunks/build/{Button-7BTto1uR.mjs → Button-DnpDAHT3.mjs} +2 -2
- package/web/server/chunks/build/{Button-7BTto1uR.mjs.map → Button-DnpDAHT3.mjs.map} +1 -1
- package/web/server/chunks/build/Card-Be4cmWue.mjs +30 -0
- package/web/server/chunks/build/Card-Be4cmWue.mjs.map +1 -0
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs → CardAction-CkY0xYx3.mjs} +2 -2
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs.map → CardAction-CkY0xYx3.mjs.map} +1 -1
- package/web/server/chunks/build/{CardTitle-D9ve_H9E.mjs → CardContent-C_IMqI8K.mjs} +26 -26
- package/web/server/chunks/build/CardContent-C_IMqI8K.mjs.map +1 -0
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs → EmptyState-FUeBWCT0.mjs} +2 -2
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs.map → EmptyState-FUeBWCT0.mjs.map} +1 -1
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs → FilterBar-BlEsJ5dy.mjs} +5 -5
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs.map → FilterBar-BlEsJ5dy.mjs.map} +1 -1
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs → Progress-BUpfE9Os.mjs} +2 -2
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs.map → Progress-BUpfE9Os.mjs.map} +1 -1
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs +28 -0
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs.map +1 -0
- package/web/server/chunks/build/{Sparkline-Cxifh2uK.mjs → Sparkline-CaCRq45J.mjs} +6 -5
- package/web/server/chunks/build/Sparkline-CaCRq45J.mjs.map +1 -0
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs → TableCell-xM3CadYu.mjs} +2 -2
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs.map → TableCell-xM3CadYu.mjs.map} +1 -1
- package/web/server/chunks/build/{Tooltip-BVTXdgMT.mjs → Tooltip-BZX3jLtj.mjs} +16 -4
- package/web/server/chunks/build/Tooltip-BZX3jLtj.mjs.map +1 -0
- package/web/server/chunks/build/{_id_-BKmH0aHH.mjs → _id_-BvccBwzH.mjs} +14 -11
- package/web/server/chunks/build/_id_-BvccBwzH.mjs.map +1 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs +159 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs.map +1 -0
- package/web/server/chunks/build/{fetch-Debw9R9i.mjs → asyncData-CMa0z9Yw.mjs} +8 -129
- package/web/server/chunks/build/asyncData-CMa0z9Yw.mjs.map +1 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs +847 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs.map +1 -0
- package/web/server/chunks/build/error-404-DPRNxhXC.mjs +2 -2
- package/web/server/chunks/build/error-500-DXGrtqsW.mjs +2 -2
- package/web/server/chunks/build/export-BhfwmSMl.mjs +184 -0
- package/web/server/chunks/build/export-BhfwmSMl.mjs.map +1 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs +131 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs.map +1 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs +233 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs.map +1 -0
- package/web/server/chunks/build/{limits-CnRLojCD.mjs → limits-CX9zBSqw.mjs} +15 -12
- package/web/server/chunks/build/limits-CX9zBSqw.mjs.map +1 -0
- package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs +2 -2
- package/web/server/chunks/build/{pages-DlIWqsLr.mjs → pages-DyXqJyPq.mjs} +140 -15
- package/web/server/chunks/build/pages-DyXqJyPq.mjs.map +1 -0
- package/web/server/chunks/build/{providers-DOMeWSDZ.mjs → providers-Ca7keu2G.mjs} +17 -14
- package/web/server/chunks/build/providers-Ca7keu2G.mjs.map +1 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs +1348 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs.map +1 -0
- package/web/server/chunks/build/{sessions-peyhKv2_.mjs → sessions-CESRiCOS.mjs} +14 -11
- package/web/server/chunks/build/sessions-CESRiCOS.mjs.map +1 -0
- package/web/server/chunks/build/{timeline-P2RrZyBs.mjs → timeline-d27OlbZN.mjs} +16 -13
- package/web/server/chunks/build/timeline-d27OlbZN.mjs.map +1 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs +71 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs.map +1 -0
- package/web/server/chunks/build/{useStats-Dor6kLek.mjs → useStats-CmYzpdbE.mjs} +11 -3
- package/web/server/chunks/build/useStats-CmYzpdbE.mjs.map +1 -0
- package/web/server/chunks/nitro/nitro.mjs +739 -195
- package/web/server/chunks/nitro/nitro.mjs.map +1 -1
- package/web/server/chunks/routes/api/alerts.get.mjs +24 -0
- package/web/server/chunks/routes/api/alerts.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/alerts.put.mjs +27 -0
- package/web/server/chunks/routes/api/alerts.put.mjs.map +1 -0
- package/web/server/chunks/routes/api/events/stream.get.mjs +3 -3
- package/web/server/chunks/routes/api/export.get.mjs +36 -0
- package/web/server/chunks/routes/api/export.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs +65 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs.map +1 -0
- package/web/server/chunks/routes/api/ingest.post.mjs +3 -3
- package/web/server/chunks/routes/api/meta.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/heatmap.get.mjs +2 -2
- package/web/server/chunks/routes/api/stats/limits.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/providers.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/scopes.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/series.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/session/_id_.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/sessions.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/summary.get.mjs +3 -3
- package/web/server/chunks/routes/renderer.mjs +2 -2
- package/web/server/chunks/virtual/entry.mjs +26 -11
- package/web/server/chunks/virtual/precomputed.mjs +1 -1
- package/web/server/chunks/virtual/precomputed.mjs.map +1 -1
- package/web/server/index.mjs +3 -3
- package/web/public/_nuxt/075nz0Lp.js +0 -1
- package/web/public/_nuxt/BDF8cO8j.js +0 -1
- package/web/public/_nuxt/BGnU88BC.js +0 -1
- package/web/public/_nuxt/BPhzhJvP.js +0 -1
- package/web/public/_nuxt/BgaLDD2o.js +0 -1
- package/web/public/_nuxt/BioUjjBz.js +0 -1
- package/web/public/_nuxt/BlvSknce.js +0 -1
- package/web/public/_nuxt/Bn14i44R.js +0 -1
- package/web/public/_nuxt/BnfUOzcc.js +0 -1
- package/web/public/_nuxt/Bv0odo9W.js +0 -1
- package/web/public/_nuxt/Bxx0Z5z6.js +0 -1
- package/web/public/_nuxt/CiWIPYVi.js +0 -1
- package/web/public/_nuxt/CqSNCP5f.js +0 -1
- package/web/public/_nuxt/Ctg1e1JV.js +0 -1
- package/web/public/_nuxt/Cu3rIkF2.js +0 -47
- package/web/public/_nuxt/Cutk9Ewh.js +0 -1
- package/web/public/_nuxt/DCVp7cZB.js +0 -96
- package/web/public/_nuxt/DCnkQFS0.js +0 -1
- package/web/public/_nuxt/DJbGqyvB.js +0 -1
- package/web/public/_nuxt/DMT7tA5C.js +0 -1
- package/web/public/_nuxt/M0pG6UQn.js +0 -1
- package/web/public/_nuxt/RlymLGHS.js +0 -1
- package/web/public/_nuxt/TmkSb4nj.js +0 -1
- package/web/public/_nuxt/_S09PGd-.js +0 -1
- package/web/public/_nuxt/builds/meta/63ad5f37-5b40-456d-8f53-69ff57b4903c.json +0 -1
- package/web/public/_nuxt/cHkFs-ms.js +0 -1
- package/web/public/_nuxt/entry.DTNjKx6y.css +0 -2
- package/web/public/_nuxt/fjfS4ymU.js +0 -1
- package/web/public/_nuxt/moFy8lON.js +0 -2
- package/web/public/_nuxt/oT-x2NdZ.js +0 -1
- package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs.map +0 -1
- package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs.map +0 -1
- package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs.map +0 -1
- package/web/server/chunks/build/_id_-BKmH0aHH.mjs.map +0 -1
- package/web/server/chunks/build/default-C8deLrP0.mjs +0 -556
- package/web/server/chunks/build/default-C8deLrP0.mjs.map +0 -1
- package/web/server/chunks/build/fetch-Debw9R9i.mjs.map +0 -1
- package/web/server/chunks/build/limits-CnRLojCD.mjs.map +0 -1
- package/web/server/chunks/build/pages-DlIWqsLr.mjs.map +0 -1
- package/web/server/chunks/build/providers-DOMeWSDZ.mjs.map +0 -1
- package/web/server/chunks/build/scopes-Bagepvnf.mjs +0 -794
- package/web/server/chunks/build/scopes-Bagepvnf.mjs.map +0 -1
- package/web/server/chunks/build/sessions-peyhKv2_.mjs.map +0 -1
- package/web/server/chunks/build/timeline-P2RrZyBs.mjs.map +0 -1
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs +0 -119
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs.map +0 -1
- package/web/server/chunks/build/useStats-Dor6kLek.mjs.map +0 -1
- /package/web/public/_nuxt/{BDNMzG2s.js → BDNMzG2s2.js} +0 -0
|
@@ -0,0 +1,847 @@
|
|
|
1
|
+
import { u as useRoute$1, b as useRouter } from '../virtual/entry.mjs';
|
|
2
|
+
import { N as NuxtLink } from './nuxt-link-mYiLFsJs.mjs';
|
|
3
|
+
import { c as cn, C as ClientOnly } from './asyncData-CMa0z9Yw.mjs';
|
|
4
|
+
import { T as Tooltip_default } from './Tooltip-BZX3jLtj.mjs';
|
|
5
|
+
import { B as Button_default } from './Button-DnpDAHT3.mjs';
|
|
6
|
+
import { i as useMeta, u as useFilters, g as useScopes } from './useStats-CmYzpdbE.mjs';
|
|
7
|
+
import { u as useLive } from './useLive-mk38eV0f.mjs';
|
|
8
|
+
import { defineComponent, ref, computed, watch, mergeProps, unref, withCtx, createVNode, resolveDynamicComponent, openBlock, createBlock, createTextVNode, toDisplayString, createCommentVNode, readonly, nextTick, useSSRContext } from 'vue';
|
|
9
|
+
import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderStyle, ssrRenderList, ssrRenderVNode, ssrInterpolate, ssrRenderAttr, ssrRenderTeleport, ssrRenderSlot } from 'vue/server-renderer';
|
|
10
|
+
import { ChevronDown, Gauge, BarChart3, FolderTree, Boxes, Clock, Activity, Upload, Download, Bell, PanelLeftOpen, PanelLeftClose, X, Menu, Sun, Moon, Search, Folder, ArrowRight } from 'lucide-vue-next';
|
|
11
|
+
import 'unhead/utils';
|
|
12
|
+
import '../routes/renderer.mjs';
|
|
13
|
+
import '../nitro/nitro.mjs';
|
|
14
|
+
import 'node:fs';
|
|
15
|
+
import 'node:path';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:buffer';
|
|
20
|
+
import 'node:crypto';
|
|
21
|
+
import 'node:os';
|
|
22
|
+
import 'better-sqlite3';
|
|
23
|
+
import 'drizzle-orm/better-sqlite3';
|
|
24
|
+
import 'drizzle-orm/sqlite-core';
|
|
25
|
+
import 'node:fs/promises';
|
|
26
|
+
import 'node:string_decoder';
|
|
27
|
+
import 'node:url';
|
|
28
|
+
import 'unhead/server';
|
|
29
|
+
import 'unhead/legacy';
|
|
30
|
+
import 'unhead/plugins';
|
|
31
|
+
import 'nostics';
|
|
32
|
+
import 'vue-bundle-renderer/runtime';
|
|
33
|
+
import 'devalue';
|
|
34
|
+
import 'clsx';
|
|
35
|
+
import 'tailwind-merge';
|
|
36
|
+
import 'class-variance-authority';
|
|
37
|
+
import './fetch-DJ9NNbFP.mjs';
|
|
38
|
+
import 'fnv1a-64';
|
|
39
|
+
import 'object-identity';
|
|
40
|
+
|
|
41
|
+
var CookieMark_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
42
|
+
__name: "CookieMark",
|
|
43
|
+
__ssrInlineRender: true,
|
|
44
|
+
props: {
|
|
45
|
+
size: { default: 18 },
|
|
46
|
+
class: {}
|
|
47
|
+
},
|
|
48
|
+
setup(__props) {
|
|
49
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
50
|
+
_push(`<svg${ssrRenderAttrs(mergeProps({
|
|
51
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
+
width: __props.size,
|
|
53
|
+
height: __props.size,
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
fill: "none",
|
|
56
|
+
stroke: "currentColor",
|
|
57
|
+
"stroke-width": "2",
|
|
58
|
+
"stroke-linecap": "round",
|
|
59
|
+
"stroke-linejoin": "round",
|
|
60
|
+
class: unref(cn)("shrink-0", _ctx.$props.class),
|
|
61
|
+
"aria-hidden": "true"
|
|
62
|
+
}, _attrs))}><path d="M12 3a9 9 0 1 0 9 9c0-1.1-.2-2.15-.55-3.1A2.9 2.9 0 0 1 17.1 11a2.9 2.9 0 0 1-2.9-2.9c0-.9.4-1.7 1.05-2.25A8.9 8.9 0 0 0 12 3z"></path><circle cx="8.5" cy="10" r="1" fill="currentColor" stroke="none"></circle><circle cx="13" cy="9" r="0.85" fill="currentColor" stroke="none"></circle><circle cx="10" cy="14.5" r="1" fill="currentColor" stroke="none"></circle><circle cx="14.5" cy="13.5" r="0.8" fill="currentColor" stroke="none"></circle></svg>`);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
var _sfc_setup$5 = CookieMark_vue_vue_type_script_setup_true_lang_default.setup;
|
|
67
|
+
CookieMark_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
68
|
+
const ssrContext = useSSRContext();
|
|
69
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/CookieMark.vue");
|
|
70
|
+
return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
|
|
71
|
+
};
|
|
72
|
+
var CookieMark_default = Object.assign(CookieMark_vue_vue_type_script_setup_true_lang_default, { __name: "CookieMark" });
|
|
73
|
+
var Logo_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
74
|
+
__name: "Logo",
|
|
75
|
+
__ssrInlineRender: true,
|
|
76
|
+
props: {
|
|
77
|
+
size: { default: 18 },
|
|
78
|
+
showWordmark: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
default: true
|
|
81
|
+
},
|
|
82
|
+
class: {}
|
|
83
|
+
},
|
|
84
|
+
setup(__props) {
|
|
85
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
86
|
+
const _component_CookieMark = CookieMark_default;
|
|
87
|
+
_push(`<span${ssrRenderAttrs(mergeProps({ class: unref(cn)("inline-flex items-center gap-2", _ctx.$props.class) }, _attrs))}>`);
|
|
88
|
+
_push(ssrRenderComponent(_component_CookieMark, {
|
|
89
|
+
size: __props.size,
|
|
90
|
+
class: "text-foreground"
|
|
91
|
+
}, null, _parent));
|
|
92
|
+
if (__props.showWordmark) _push(`<span class="text-sm leading-none font-semibold tracking-tight"><span>nomnom</span><span class="text-muted-foreground font-medium">tokens</span></span>`);
|
|
93
|
+
else _push(`<!---->`);
|
|
94
|
+
_push(`</span>`);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
var _sfc_setup$4 = Logo_vue_vue_type_script_setup_true_lang_default.setup;
|
|
99
|
+
Logo_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
100
|
+
const ssrContext = useSSRContext();
|
|
101
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Logo.vue");
|
|
102
|
+
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
|
103
|
+
};
|
|
104
|
+
var Logo_default = Object.assign(Logo_vue_vue_type_script_setup_true_lang_default, { __name: "Logo" });
|
|
105
|
+
var Kbd_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
106
|
+
__name: "Kbd",
|
|
107
|
+
__ssrInlineRender: true,
|
|
108
|
+
props: { class: {} },
|
|
109
|
+
setup(__props) {
|
|
110
|
+
const props = __props;
|
|
111
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
112
|
+
_push(`<kbd${ssrRenderAttrs(mergeProps({ class: unref(cn)("bg-muted text-muted-foreground pointer-events-none inline-flex h-5 min-w-5 select-none items-center justify-center gap-1 rounded border px-1 font-mono text-[10px] font-medium", props.class) }, _attrs))}>`);
|
|
113
|
+
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
|
|
114
|
+
_push(`</kbd>`);
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
var _sfc_setup$3 = Kbd_vue_vue_type_script_setup_true_lang_default.setup;
|
|
119
|
+
Kbd_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
120
|
+
const ssrContext = useSSRContext();
|
|
121
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/ui/Kbd.vue");
|
|
122
|
+
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
123
|
+
};
|
|
124
|
+
var Kbd_default = Object.assign(Kbd_vue_vue_type_script_setup_true_lang_default, { __name: "UiKbd" });
|
|
125
|
+
var Separator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
126
|
+
__name: "Separator",
|
|
127
|
+
__ssrInlineRender: true,
|
|
128
|
+
props: {
|
|
129
|
+
orientation: { default: "horizontal" },
|
|
130
|
+
class: {}
|
|
131
|
+
},
|
|
132
|
+
setup(__props) {
|
|
133
|
+
const props = __props;
|
|
134
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
135
|
+
_push(`<div${ssrRenderAttrs(mergeProps({
|
|
136
|
+
"data-slot": "separator",
|
|
137
|
+
role: "none",
|
|
138
|
+
"data-orientation": props.orientation,
|
|
139
|
+
class: unref(cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", props.class)
|
|
140
|
+
}, _attrs))}></div>`);
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
var _sfc_setup$2 = Separator_vue_vue_type_script_setup_true_lang_default.setup;
|
|
145
|
+
Separator_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
146
|
+
const ssrContext = useSSRContext();
|
|
147
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/ui/Separator.vue");
|
|
148
|
+
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
149
|
+
};
|
|
150
|
+
var Separator_default = Object.assign(Separator_vue_vue_type_script_setup_true_lang_default, { __name: "UiSeparator" });
|
|
151
|
+
var CommandPalette_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
152
|
+
__name: "CommandPalette",
|
|
153
|
+
__ssrInlineRender: true,
|
|
154
|
+
props: { open: { type: Boolean } },
|
|
155
|
+
emits: ["close"],
|
|
156
|
+
setup(__props, { emit: __emit }) {
|
|
157
|
+
const props = __props;
|
|
158
|
+
const router = useRouter();
|
|
159
|
+
const filters = useFilters();
|
|
160
|
+
const { scopes } = useScopes();
|
|
161
|
+
const dialog = ref();
|
|
162
|
+
const query = ref("");
|
|
163
|
+
const active = ref(0);
|
|
164
|
+
const commands = computed(() => {
|
|
165
|
+
const pages = [
|
|
166
|
+
{
|
|
167
|
+
id: "nav-overview",
|
|
168
|
+
label: "Overview",
|
|
169
|
+
group: "Go to",
|
|
170
|
+
run: () => router.push("/")
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
id: "nav-timeline",
|
|
174
|
+
label: "Timeline",
|
|
175
|
+
group: "Go to",
|
|
176
|
+
run: () => router.push("/timeline")
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: "nav-scopes",
|
|
180
|
+
label: "Projects",
|
|
181
|
+
group: "Go to",
|
|
182
|
+
run: () => router.push("/scopes")
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "nav-providers",
|
|
186
|
+
label: "Providers",
|
|
187
|
+
group: "Go to",
|
|
188
|
+
run: () => router.push("/providers")
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
id: "nav-sessions",
|
|
192
|
+
label: "Sessions",
|
|
193
|
+
group: "Go to",
|
|
194
|
+
run: () => router.push("/sessions")
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: "nav-limits",
|
|
198
|
+
label: "Limits",
|
|
199
|
+
group: "Go to",
|
|
200
|
+
run: () => router.push("/limits")
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
id: "nav-import",
|
|
204
|
+
label: "Import CSV",
|
|
205
|
+
group: "Go to",
|
|
206
|
+
run: () => router.push("/import")
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: "nav-export",
|
|
210
|
+
label: "Export",
|
|
211
|
+
group: "Go to",
|
|
212
|
+
run: () => router.push("/export")
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: "nav-alerts",
|
|
216
|
+
label: "Alerts",
|
|
217
|
+
group: "Go to",
|
|
218
|
+
run: () => router.push("/alerts")
|
|
219
|
+
}
|
|
220
|
+
];
|
|
221
|
+
const ranges = [
|
|
222
|
+
["24h", "Last 24 hours"],
|
|
223
|
+
["7d", "Last 7 days"],
|
|
224
|
+
["30d", "Last 30 days"],
|
|
225
|
+
["all", "All time"]
|
|
226
|
+
].map(([value, label]) => ({
|
|
227
|
+
id: `range-${value}`,
|
|
228
|
+
label,
|
|
229
|
+
group: "Range",
|
|
230
|
+
run: () => filters.setRange(value)
|
|
231
|
+
}));
|
|
232
|
+
const projects = scopes.value.map((s) => ({
|
|
233
|
+
id: `scope-${s.scopeHash}`,
|
|
234
|
+
label: s.label,
|
|
235
|
+
hint: "filter to this project",
|
|
236
|
+
group: "Projects",
|
|
237
|
+
run: () => filters.toggleScope(s.scopeHash)
|
|
238
|
+
}));
|
|
239
|
+
const clear = filters.hasScopeFilter.value ? [{
|
|
240
|
+
id: "clear",
|
|
241
|
+
label: "Clear project filter",
|
|
242
|
+
group: "Range",
|
|
243
|
+
run: () => filters.clearScopes()
|
|
244
|
+
}] : [];
|
|
245
|
+
return [
|
|
246
|
+
...pages,
|
|
247
|
+
...ranges,
|
|
248
|
+
...clear,
|
|
249
|
+
...projects
|
|
250
|
+
];
|
|
251
|
+
});
|
|
252
|
+
const results = computed(() => {
|
|
253
|
+
const q = query.value.trim().toLowerCase();
|
|
254
|
+
if (!q) return commands.value.slice(0, 12);
|
|
255
|
+
return commands.value.filter((cmd) => {
|
|
256
|
+
const haystack = `${cmd.group} ${cmd.label}`.toLowerCase();
|
|
257
|
+
let i = 0;
|
|
258
|
+
for (const ch of q) {
|
|
259
|
+
i = haystack.indexOf(ch, i);
|
|
260
|
+
if (i === -1) return false;
|
|
261
|
+
i += 1;
|
|
262
|
+
}
|
|
263
|
+
return true;
|
|
264
|
+
}).slice(0, 12);
|
|
265
|
+
});
|
|
266
|
+
const grouped = computed(() => {
|
|
267
|
+
const map = /* @__PURE__ */ new Map();
|
|
268
|
+
for (const cmd of results.value) {
|
|
269
|
+
const list = map.get(cmd.group) ?? [];
|
|
270
|
+
list.push(cmd);
|
|
271
|
+
map.set(cmd.group, list);
|
|
272
|
+
}
|
|
273
|
+
return [...map.entries()];
|
|
274
|
+
});
|
|
275
|
+
watch(results, () => {
|
|
276
|
+
active.value = 0;
|
|
277
|
+
});
|
|
278
|
+
watch(() => props.open, (open) => {
|
|
279
|
+
if (open) {
|
|
280
|
+
query.value = "";
|
|
281
|
+
active.value = 0;
|
|
282
|
+
nextTick(() => dialog.value?.showModal());
|
|
283
|
+
} else dialog.value?.close();
|
|
284
|
+
});
|
|
285
|
+
const flatIndex = (group, i) => grouped.value.slice(0, grouped.value.findIndex(([g]) => g === group)).reduce((n, [, list]) => n + list.length, 0) + i;
|
|
286
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
287
|
+
const _component_UiKbd = Kbd_default;
|
|
288
|
+
_push(`<dialog${ssrRenderAttrs(mergeProps({
|
|
289
|
+
ref_key: "dialog",
|
|
290
|
+
ref: dialog,
|
|
291
|
+
class: "fixed inset-0 m-0 h-full max-h-none w-full max-w-none overflow-hidden bg-transparent p-0 backdrop:bg-black/60 backdrop:backdrop-blur-sm",
|
|
292
|
+
"aria-label": "Command palette"
|
|
293
|
+
}, _attrs))}><div class="flex h-full items-start justify-center p-4 pt-[12vh]"><div class="bg-popover text-popover-foreground w-full max-w-lg overflow-hidden rounded-xl border shadow-lg"><div class="flex items-center gap-2 border-b px-3">`);
|
|
294
|
+
_push(ssrRenderComponent(unref(Search), { class: "text-muted-foreground size-4 shrink-0" }, null, _parent));
|
|
295
|
+
_push(`<input${ssrRenderAttr("value", unref(query))} autofocus role="combobox" aria-expanded="true" aria-controls="command-results"${ssrRenderAttr("aria-activedescendant", `command-${unref(active)}`)} placeholder="Jump to a page, range or project\u2026" class="placeholder:text-muted-foreground h-11 w-full bg-transparent text-sm outline-none">`);
|
|
296
|
+
_push(ssrRenderComponent(_component_UiKbd, null, {
|
|
297
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
298
|
+
if (_push2) _push2(`esc`);
|
|
299
|
+
else return [createTextVNode("esc")];
|
|
300
|
+
}),
|
|
301
|
+
_: 1
|
|
302
|
+
}, _parent));
|
|
303
|
+
_push(`</div><ul id="command-results" role="listbox" class="max-h-[60vh] overflow-y-auto p-1">`);
|
|
304
|
+
if (unref(results).length === 0) _push(`<li class="text-muted-foreground p-6 text-center text-sm"> Nothing matches \u201C${ssrInterpolate(unref(query))}\u201D. </li>`);
|
|
305
|
+
else _push(`<!---->`);
|
|
306
|
+
_push(`<!--[-->`);
|
|
307
|
+
ssrRenderList(unref(grouped), ([group, items]) => {
|
|
308
|
+
_push(`<!--[--><li class="text-muted-foreground px-2 pt-3 pb-1 text-xs font-medium">${ssrInterpolate(group)}</li><!--[-->`);
|
|
309
|
+
ssrRenderList(items, (cmd, i) => {
|
|
310
|
+
_push(`<li${ssrRenderAttr("id", `command-${flatIndex(group, i)}`)} role="option"${ssrRenderAttr("aria-selected", unref(active) === flatIndex(group, i))} class="${ssrRenderClass(unref(cn)("flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm", unref(active) === flatIndex(group, i) && "bg-accent text-accent-foreground"))}">`);
|
|
311
|
+
if (cmd.group === "Projects") _push(ssrRenderComponent(unref(Folder), { class: "size-4 opacity-60" }, null, _parent));
|
|
312
|
+
else _push(ssrRenderComponent(unref(ArrowRight), { class: "size-4 opacity-60" }, null, _parent));
|
|
313
|
+
_push(`<span class="truncate">${ssrInterpolate(cmd.label)}</span>`);
|
|
314
|
+
if (cmd.hint) _push(`<span class="text-muted-foreground ml-auto text-xs">${ssrInterpolate(cmd.hint)}</span>`);
|
|
315
|
+
else _push(`<!---->`);
|
|
316
|
+
_push(`</li>`);
|
|
317
|
+
});
|
|
318
|
+
_push(`<!--]--><!--]-->`);
|
|
319
|
+
});
|
|
320
|
+
_push(`<!--]--></ul></div></div></dialog>`);
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
var _sfc_setup$1 = CommandPalette_vue_vue_type_script_setup_true_lang_default.setup;
|
|
325
|
+
CommandPalette_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
326
|
+
const ssrContext = useSSRContext();
|
|
327
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/CommandPalette.vue");
|
|
328
|
+
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
329
|
+
};
|
|
330
|
+
var CommandPalette_default = Object.assign(CommandPalette_vue_vue_type_script_setup_true_lang_default, { __name: "CommandPalette" });
|
|
331
|
+
var THEME_STORAGE_KEY = "nnt-theme";
|
|
332
|
+
var preference = ref("dark");
|
|
333
|
+
var ready$1 = ref(false);
|
|
334
|
+
function apply() {
|
|
335
|
+
const dark = preference.value === "dark";
|
|
336
|
+
(void 0).documentElement.classList.toggle("dark", dark);
|
|
337
|
+
(void 0).documentElement.style.colorScheme = dark ? "dark" : "light";
|
|
338
|
+
}
|
|
339
|
+
function useTheme() {
|
|
340
|
+
function set(next) {
|
|
341
|
+
preference.value = next;
|
|
342
|
+
localStorage.setItem(THEME_STORAGE_KEY, next);
|
|
343
|
+
apply();
|
|
344
|
+
}
|
|
345
|
+
function cycle() {
|
|
346
|
+
set(preference.value === "light" ? "dark" : "light");
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
preference: readonly(preference),
|
|
350
|
+
resolved: readonly(preference),
|
|
351
|
+
/** false until mounted — guards against a hydration mismatch on the icon */
|
|
352
|
+
ready: readonly(ready$1),
|
|
353
|
+
set,
|
|
354
|
+
cycle
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
var SIDEBAR_COLLAPSED_KEY = "nnt-sidebar-collapsed";
|
|
358
|
+
var collapsed = ref(false);
|
|
359
|
+
var ready = ref(false);
|
|
360
|
+
function useSidebar() {
|
|
361
|
+
function setCollapsed(next) {
|
|
362
|
+
collapsed.value = next;
|
|
363
|
+
localStorage.setItem(SIDEBAR_COLLAPSED_KEY, next ? "1" : "0");
|
|
364
|
+
}
|
|
365
|
+
function toggle() {
|
|
366
|
+
setCollapsed(!collapsed.value);
|
|
367
|
+
}
|
|
368
|
+
return {
|
|
369
|
+
collapsed: readonly(collapsed),
|
|
370
|
+
ready: readonly(ready),
|
|
371
|
+
setCollapsed,
|
|
372
|
+
toggle
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
var default_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
376
|
+
__name: "default",
|
|
377
|
+
__ssrInlineRender: true,
|
|
378
|
+
setup(__props) {
|
|
379
|
+
const route = useRoute$1();
|
|
380
|
+
const { connected } = useLive();
|
|
381
|
+
const { data: meta } = useMeta();
|
|
382
|
+
const theme = useTheme();
|
|
383
|
+
const sidebar = useSidebar();
|
|
384
|
+
const THEME_ICON = {
|
|
385
|
+
light: Sun,
|
|
386
|
+
dark: Moon
|
|
387
|
+
};
|
|
388
|
+
const THEME_LABEL = {
|
|
389
|
+
light: "Theme: light",
|
|
390
|
+
dark: "Theme: dark"
|
|
391
|
+
};
|
|
392
|
+
const paletteOpen = ref(false);
|
|
393
|
+
const mobileOpen = ref(false);
|
|
394
|
+
const sidebarHover = ref(false);
|
|
395
|
+
const BROWSE = [
|
|
396
|
+
{
|
|
397
|
+
to: "/",
|
|
398
|
+
label: "Overview",
|
|
399
|
+
icon: Gauge
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
to: "/timeline",
|
|
403
|
+
label: "Timeline",
|
|
404
|
+
icon: BarChart3
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
to: "/scopes",
|
|
408
|
+
label: "Projects",
|
|
409
|
+
icon: FolderTree
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
to: "/providers",
|
|
413
|
+
label: "Providers",
|
|
414
|
+
icon: Boxes
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
to: "/sessions",
|
|
418
|
+
label: "Sessions",
|
|
419
|
+
icon: Clock
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
to: "/limits",
|
|
423
|
+
label: "Limits",
|
|
424
|
+
icon: Activity
|
|
425
|
+
}
|
|
426
|
+
];
|
|
427
|
+
const TOOLS = [
|
|
428
|
+
{
|
|
429
|
+
to: "/import",
|
|
430
|
+
label: "Import",
|
|
431
|
+
icon: Upload
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
to: "/export",
|
|
435
|
+
label: "Export",
|
|
436
|
+
icon: Download
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
to: "/alerts",
|
|
440
|
+
label: "Alerts",
|
|
441
|
+
icon: Bell
|
|
442
|
+
}
|
|
443
|
+
];
|
|
444
|
+
const NAV = [...BROWSE, ...TOOLS];
|
|
445
|
+
const browseOpen = ref(true);
|
|
446
|
+
const toolsOpen = ref(true);
|
|
447
|
+
const isActive = (to) => to === "/" ? route.path === "/" : route.path.startsWith(to);
|
|
448
|
+
const navIndex = (item) => NAV.findIndex((n) => n.to === item.to) + 1;
|
|
449
|
+
const collapseLabel = computed(() => sidebar.collapsed.value ? "Expand sidebar" : "Collapse sidebar");
|
|
450
|
+
watch(() => route.path, () => {
|
|
451
|
+
mobileOpen.value = false;
|
|
452
|
+
});
|
|
453
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
454
|
+
const _component_NuxtLink = NuxtLink;
|
|
455
|
+
const _component_Logo = Logo_default;
|
|
456
|
+
const _component_UiTooltip = Tooltip_default;
|
|
457
|
+
const _component_UiKbd = Kbd_default;
|
|
458
|
+
const _component_UiButton = Button_default;
|
|
459
|
+
const _component_ClientOnly = ClientOnly;
|
|
460
|
+
const _component_UiSeparator = Separator_default;
|
|
461
|
+
const _component_CommandPalette = CommandPalette_default;
|
|
462
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "bg-background flex min-h-screen" }, _attrs))}><aside class="${ssrRenderClass(unref(cn)("bg-background relative sticky top-0 z-40 hidden h-svh shrink-0 flex-col border-r transition-[width] duration-200 ease-out md:flex", unref(sidebar).collapsed.value ? "w-14" : "w-60"))}"><div class="${ssrRenderClass(unref(cn)("flex h-14 max-h-14 min-h-14 shrink-0 items-center overflow-hidden border-b", unref(sidebar).collapsed.value ? "justify-center px-2" : "px-3"))}">`);
|
|
463
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
464
|
+
to: "/",
|
|
465
|
+
class: "flex min-w-0 items-center",
|
|
466
|
+
"aria-label": "nomnomtokens home"
|
|
467
|
+
}, {
|
|
468
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
469
|
+
if (_push2) _push2(ssrRenderComponent(_component_Logo, {
|
|
470
|
+
size: 20,
|
|
471
|
+
"show-wordmark": !unref(sidebar).collapsed.value,
|
|
472
|
+
class: "min-w-0"
|
|
473
|
+
}, null, _parent2, _scopeId));
|
|
474
|
+
else return [createVNode(_component_Logo, {
|
|
475
|
+
size: 20,
|
|
476
|
+
"show-wordmark": !unref(sidebar).collapsed.value,
|
|
477
|
+
class: "min-w-0"
|
|
478
|
+
}, null, 8, ["show-wordmark"])];
|
|
479
|
+
}),
|
|
480
|
+
_: 1
|
|
481
|
+
}, _parent));
|
|
482
|
+
_push(`</div><nav class="flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-2 py-3"><div>`);
|
|
483
|
+
if (!unref(sidebar).collapsed.value) {
|
|
484
|
+
_push(`<button type="button" class="text-muted-foreground hover:text-foreground mb-1 flex w-full items-center justify-between rounded-md px-2 py-1 text-[11px] font-medium tracking-wide uppercase"> Browse `);
|
|
485
|
+
_push(ssrRenderComponent(unref(ChevronDown), { class: ["size-3.5 transition-transform", unref(browseOpen) ? "" : "-rotate-90"] }, null, _parent));
|
|
486
|
+
_push(`</button>`);
|
|
487
|
+
} else _push(`<!---->`);
|
|
488
|
+
_push(`<div class="${ssrRenderClass(unref(cn)("flex flex-col gap-0.5", unref(sidebar).collapsed.value && "items-center"))}" style="${ssrRenderStyle(unref(sidebar).collapsed.value || unref(browseOpen) ? null : { display: "none" })}"><!--[-->`);
|
|
489
|
+
ssrRenderList(BROWSE, (item) => {
|
|
490
|
+
_push(`<!--[-->`);
|
|
491
|
+
if (unref(sidebar).collapsed.value) _push(ssrRenderComponent(_component_UiTooltip, {
|
|
492
|
+
side: "right",
|
|
493
|
+
content: `${item.label} \xB7 ${navIndex(item)}`
|
|
494
|
+
}, {
|
|
495
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
496
|
+
if (_push2) _push2(ssrRenderComponent(_component_NuxtLink, {
|
|
497
|
+
to: item.to,
|
|
498
|
+
"aria-label": item.label,
|
|
499
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex size-9 items-center justify-center rounded-md transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
500
|
+
}, {
|
|
501
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
502
|
+
if (_push3) ssrRenderVNode(_push3, createVNode(resolveDynamicComponent(item.icon), { class: "size-4" }, null), _parent3, _scopeId2);
|
|
503
|
+
else return [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" }))];
|
|
504
|
+
}),
|
|
505
|
+
_: 2
|
|
506
|
+
}, _parent2, _scopeId));
|
|
507
|
+
else return [createVNode(_component_NuxtLink, {
|
|
508
|
+
to: item.to,
|
|
509
|
+
"aria-label": item.label,
|
|
510
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex size-9 items-center justify-center rounded-md transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
511
|
+
}, {
|
|
512
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" }))]),
|
|
513
|
+
_: 2
|
|
514
|
+
}, 1032, [
|
|
515
|
+
"to",
|
|
516
|
+
"aria-label",
|
|
517
|
+
"class"
|
|
518
|
+
])];
|
|
519
|
+
}),
|
|
520
|
+
_: 2
|
|
521
|
+
}, _parent));
|
|
522
|
+
else _push(ssrRenderComponent(_component_NuxtLink, {
|
|
523
|
+
to: item.to,
|
|
524
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
525
|
+
}, {
|
|
526
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
527
|
+
if (_push2) {
|
|
528
|
+
ssrRenderVNode(_push2, createVNode(resolveDynamicComponent(item.icon), { class: "size-4 shrink-0" }, null), _parent2, _scopeId);
|
|
529
|
+
_push2(`<span class="min-w-0 flex-1 truncate"${_scopeId}>${ssrInterpolate(item.label)}</span>`);
|
|
530
|
+
_push2(ssrRenderComponent(_component_UiKbd, { class: "opacity-0 transition-opacity group-hover:opacity-100" }, {
|
|
531
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
532
|
+
if (_push3) _push3(`${ssrInterpolate(navIndex(item))}`);
|
|
533
|
+
else return [createTextVNode(toDisplayString(navIndex(item)), 1)];
|
|
534
|
+
}),
|
|
535
|
+
_: 2
|
|
536
|
+
}, _parent2, _scopeId));
|
|
537
|
+
} else return [
|
|
538
|
+
(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4 shrink-0" })),
|
|
539
|
+
createVNode("span", { class: "min-w-0 flex-1 truncate" }, toDisplayString(item.label), 1),
|
|
540
|
+
createVNode(_component_UiKbd, { class: "opacity-0 transition-opacity group-hover:opacity-100" }, {
|
|
541
|
+
default: withCtx(() => [createTextVNode(toDisplayString(navIndex(item)), 1)]),
|
|
542
|
+
_: 2
|
|
543
|
+
}, 1024)
|
|
544
|
+
];
|
|
545
|
+
}),
|
|
546
|
+
_: 2
|
|
547
|
+
}, _parent));
|
|
548
|
+
_push(`<!--]-->`);
|
|
549
|
+
});
|
|
550
|
+
_push(`<!--]--></div></div><div>`);
|
|
551
|
+
if (!unref(sidebar).collapsed.value) {
|
|
552
|
+
_push(`<button type="button" class="text-muted-foreground hover:text-foreground mb-1 flex w-full items-center justify-between rounded-md px-2 py-1 text-[11px] font-medium tracking-wide uppercase"> Tools `);
|
|
553
|
+
_push(ssrRenderComponent(unref(ChevronDown), { class: ["size-3.5 transition-transform", unref(toolsOpen) ? "" : "-rotate-90"] }, null, _parent));
|
|
554
|
+
_push(`</button>`);
|
|
555
|
+
} else _push(`<!---->`);
|
|
556
|
+
_push(`<div class="${ssrRenderClass(unref(cn)("flex flex-col gap-0.5", unref(sidebar).collapsed.value && "items-center"))}" style="${ssrRenderStyle(unref(sidebar).collapsed.value || unref(toolsOpen) ? null : { display: "none" })}"><!--[-->`);
|
|
557
|
+
ssrRenderList(TOOLS, (item) => {
|
|
558
|
+
_push(`<!--[-->`);
|
|
559
|
+
if (unref(sidebar).collapsed.value) _push(ssrRenderComponent(_component_UiTooltip, {
|
|
560
|
+
side: "right",
|
|
561
|
+
content: `${item.label} \xB7 ${navIndex(item)}`
|
|
562
|
+
}, {
|
|
563
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
564
|
+
if (_push2) _push2(ssrRenderComponent(_component_NuxtLink, {
|
|
565
|
+
to: item.to,
|
|
566
|
+
"aria-label": item.label,
|
|
567
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex size-9 items-center justify-center rounded-md transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
568
|
+
}, {
|
|
569
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
570
|
+
if (_push3) ssrRenderVNode(_push3, createVNode(resolveDynamicComponent(item.icon), { class: "size-4" }, null), _parent3, _scopeId2);
|
|
571
|
+
else return [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" }))];
|
|
572
|
+
}),
|
|
573
|
+
_: 2
|
|
574
|
+
}, _parent2, _scopeId));
|
|
575
|
+
else return [createVNode(_component_NuxtLink, {
|
|
576
|
+
to: item.to,
|
|
577
|
+
"aria-label": item.label,
|
|
578
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex size-9 items-center justify-center rounded-md transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
579
|
+
}, {
|
|
580
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" }))]),
|
|
581
|
+
_: 2
|
|
582
|
+
}, 1032, [
|
|
583
|
+
"to",
|
|
584
|
+
"aria-label",
|
|
585
|
+
"class"
|
|
586
|
+
])];
|
|
587
|
+
}),
|
|
588
|
+
_: 2
|
|
589
|
+
}, _parent));
|
|
590
|
+
else _push(ssrRenderComponent(_component_NuxtLink, {
|
|
591
|
+
to: item.to,
|
|
592
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
593
|
+
}, {
|
|
594
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
595
|
+
if (_push2) {
|
|
596
|
+
ssrRenderVNode(_push2, createVNode(resolveDynamicComponent(item.icon), { class: "size-4 shrink-0" }, null), _parent2, _scopeId);
|
|
597
|
+
_push2(`<span class="min-w-0 flex-1 truncate"${_scopeId}>${ssrInterpolate(item.label)}</span>`);
|
|
598
|
+
_push2(ssrRenderComponent(_component_UiKbd, { class: "opacity-0 transition-opacity group-hover:opacity-100" }, {
|
|
599
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
600
|
+
if (_push3) _push3(`${ssrInterpolate(navIndex(item))}`);
|
|
601
|
+
else return [createTextVNode(toDisplayString(navIndex(item)), 1)];
|
|
602
|
+
}),
|
|
603
|
+
_: 2
|
|
604
|
+
}, _parent2, _scopeId));
|
|
605
|
+
} else return [
|
|
606
|
+
(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4 shrink-0" })),
|
|
607
|
+
createVNode("span", { class: "min-w-0 flex-1 truncate" }, toDisplayString(item.label), 1),
|
|
608
|
+
createVNode(_component_UiKbd, { class: "opacity-0 transition-opacity group-hover:opacity-100" }, {
|
|
609
|
+
default: withCtx(() => [createTextVNode(toDisplayString(navIndex(item)), 1)]),
|
|
610
|
+
_: 2
|
|
611
|
+
}, 1024)
|
|
612
|
+
];
|
|
613
|
+
}),
|
|
614
|
+
_: 2
|
|
615
|
+
}, _parent));
|
|
616
|
+
_push(`<!--]-->`);
|
|
617
|
+
});
|
|
618
|
+
_push(`<!--]--></div></div></nav><div class="${ssrRenderClass(unref(cn)("flex h-14 shrink-0 items-center border-t", unref(sidebar).collapsed.value ? "justify-center px-2" : "px-3"))}">`);
|
|
619
|
+
_push(ssrRenderComponent(_component_UiTooltip, {
|
|
620
|
+
side: "right",
|
|
621
|
+
content: unref(connected) ? "Live \u2014 updates stream as your agent works" : "Reconnecting\u2026"
|
|
622
|
+
}, {
|
|
623
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
624
|
+
if (_push2) {
|
|
625
|
+
_push2(`<span class="${ssrRenderClass(unref(cn)("text-muted-foreground flex items-center gap-2 text-xs", unref(sidebar).collapsed.value && "justify-center"))}"${_scopeId}><span class="${ssrRenderClass([unref(connected) ? "bg-success animate-pulse" : "bg-muted-foreground", "size-1.5 shrink-0 rounded-full"])}"${_scopeId}></span>`);
|
|
626
|
+
if (!unref(sidebar).collapsed.value) _push2(`<span${_scopeId}>${ssrInterpolate(unref(connected) ? "live" : "offline")}</span>`);
|
|
627
|
+
else _push2(`<!---->`);
|
|
628
|
+
_push2(`</span>`);
|
|
629
|
+
} else return [createVNode("span", { class: unref(cn)("text-muted-foreground flex items-center gap-2 text-xs", unref(sidebar).collapsed.value && "justify-center") }, [createVNode("span", { class: ["size-1.5 shrink-0 rounded-full", unref(connected) ? "bg-success animate-pulse" : "bg-muted-foreground"] }, null, 2), !unref(sidebar).collapsed.value ? (openBlock(), createBlock("span", { key: 0 }, toDisplayString(unref(connected) ? "live" : "offline"), 1)) : createCommentVNode("", true)], 2)];
|
|
630
|
+
}),
|
|
631
|
+
_: 1
|
|
632
|
+
}, _parent));
|
|
633
|
+
_push(`</div><div class="pointer-events-none absolute top-20 right-0 z-50 hidden translate-x-1/2 -translate-y-1/2 md:block">`);
|
|
634
|
+
_push(ssrRenderComponent(_component_UiTooltip, {
|
|
635
|
+
side: "right",
|
|
636
|
+
content: unref(collapseLabel)
|
|
637
|
+
}, {
|
|
638
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
639
|
+
if (_push2) {
|
|
640
|
+
_push2(`<button type="button"${ssrRenderAttr("aria-label", unref(collapseLabel))} class="${ssrRenderClass(unref(cn)("bg-background text-muted-foreground hover:text-foreground flex size-6 items-center justify-center rounded-full border shadow-sm transition-opacity", unref(sidebarHover) ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"))}" tabindex="-1"${_scopeId}>`);
|
|
641
|
+
if (unref(sidebar).collapsed.value) _push2(ssrRenderComponent(unref(PanelLeftOpen), { class: "size-3.5" }, null, _parent2, _scopeId));
|
|
642
|
+
else _push2(ssrRenderComponent(unref(PanelLeftClose), { class: "size-3.5" }, null, _parent2, _scopeId));
|
|
643
|
+
_push2(`</button>`);
|
|
644
|
+
} else return [createVNode("button", {
|
|
645
|
+
type: "button",
|
|
646
|
+
"aria-label": unref(collapseLabel),
|
|
647
|
+
class: unref(cn)("bg-background text-muted-foreground hover:text-foreground flex size-6 items-center justify-center rounded-full border shadow-sm transition-opacity", unref(sidebarHover) ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"),
|
|
648
|
+
tabindex: "-1",
|
|
649
|
+
onClick: ($event) => unref(sidebar).toggle(),
|
|
650
|
+
onFocus: ($event) => sidebarHover.value = true,
|
|
651
|
+
onBlur: ($event) => sidebarHover.value = false
|
|
652
|
+
}, [unref(sidebar).collapsed.value ? (openBlock(), createBlock(unref(PanelLeftOpen), {
|
|
653
|
+
key: 0,
|
|
654
|
+
class: "size-3.5"
|
|
655
|
+
})) : (openBlock(), createBlock(unref(PanelLeftClose), {
|
|
656
|
+
key: 1,
|
|
657
|
+
class: "size-3.5"
|
|
658
|
+
}))], 42, [
|
|
659
|
+
"aria-label",
|
|
660
|
+
"onClick",
|
|
661
|
+
"onFocus",
|
|
662
|
+
"onBlur"
|
|
663
|
+
])];
|
|
664
|
+
}),
|
|
665
|
+
_: 1
|
|
666
|
+
}, _parent));
|
|
667
|
+
_push(`</div></aside>`);
|
|
668
|
+
ssrRenderTeleport(_push, (_push2) => {
|
|
669
|
+
if (unref(mobileOpen)) {
|
|
670
|
+
_push2(`<div class="fixed inset-0 z-50 md:hidden"><button type="button" class="bg-background/80 absolute inset-0 backdrop-blur-sm" aria-label="Close menu"></button><aside class="bg-background absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r shadow-lg"><div class="flex h-14 max-h-14 min-h-14 items-center justify-between gap-2 overflow-hidden border-b px-3">`);
|
|
671
|
+
_push2(ssrRenderComponent(_component_NuxtLink, {
|
|
672
|
+
to: "/",
|
|
673
|
+
class: "flex items-center",
|
|
674
|
+
"aria-label": "nomnomtokens home",
|
|
675
|
+
onClick: ($event) => mobileOpen.value = false
|
|
676
|
+
}, {
|
|
677
|
+
default: withCtx((_, _push3, _parent2, _scopeId) => {
|
|
678
|
+
if (_push3) _push3(ssrRenderComponent(_component_Logo, { size: 20 }, null, _parent2, _scopeId));
|
|
679
|
+
else return [createVNode(_component_Logo, { size: 20 })];
|
|
680
|
+
}),
|
|
681
|
+
_: 1
|
|
682
|
+
}, _parent));
|
|
683
|
+
_push2(ssrRenderComponent(_component_UiButton, {
|
|
684
|
+
variant: "ghost",
|
|
685
|
+
size: "icon-sm",
|
|
686
|
+
"aria-label": "Close menu",
|
|
687
|
+
onClick: ($event) => mobileOpen.value = false
|
|
688
|
+
}, {
|
|
689
|
+
default: withCtx((_, _push3, _parent2, _scopeId) => {
|
|
690
|
+
if (_push3) _push3(ssrRenderComponent(unref(X), { class: "size-4" }, null, _parent2, _scopeId));
|
|
691
|
+
else return [createVNode(unref(X), { class: "size-4" })];
|
|
692
|
+
}),
|
|
693
|
+
_: 1
|
|
694
|
+
}, _parent));
|
|
695
|
+
_push2(`</div><nav class="flex flex-1 flex-col gap-4 overflow-y-auto px-2 py-3"><div><p class="text-muted-foreground mb-1 px-2 text-[11px] font-medium tracking-wide uppercase"> Browse </p><div class="flex flex-col gap-0.5"><!--[-->`);
|
|
696
|
+
ssrRenderList(BROWSE, (item) => {
|
|
697
|
+
_push2(ssrRenderComponent(_component_NuxtLink, {
|
|
698
|
+
key: item.to,
|
|
699
|
+
to: item.to,
|
|
700
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex items-center gap-2 rounded-md px-2 py-1.5 text-sm", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
701
|
+
}, {
|
|
702
|
+
default: withCtx((_, _push3, _parent2, _scopeId) => {
|
|
703
|
+
if (_push3) {
|
|
704
|
+
ssrRenderVNode(_push3, createVNode(resolveDynamicComponent(item.icon), { class: "size-4" }, null), _parent2, _scopeId);
|
|
705
|
+
_push3(` ${ssrInterpolate(item.label)}`);
|
|
706
|
+
} else return [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" })), createTextVNode(" " + toDisplayString(item.label), 1)];
|
|
707
|
+
}),
|
|
708
|
+
_: 2
|
|
709
|
+
}, _parent));
|
|
710
|
+
});
|
|
711
|
+
_push2(`<!--]--></div></div><div><p class="text-muted-foreground mb-1 px-2 text-[11px] font-medium tracking-wide uppercase"> Tools </p><div class="flex flex-col gap-0.5"><!--[-->`);
|
|
712
|
+
ssrRenderList(TOOLS, (item) => {
|
|
713
|
+
_push2(ssrRenderComponent(_component_NuxtLink, {
|
|
714
|
+
key: item.to,
|
|
715
|
+
to: item.to,
|
|
716
|
+
class: unref(cn)("text-muted-foreground hover:text-foreground hover:bg-accent/50 flex items-center gap-2 rounded-md px-2 py-1.5 text-sm", isActive(item.to) && "bg-accent text-accent-foreground")
|
|
717
|
+
}, {
|
|
718
|
+
default: withCtx((_, _push3, _parent2, _scopeId) => {
|
|
719
|
+
if (_push3) {
|
|
720
|
+
ssrRenderVNode(_push3, createVNode(resolveDynamicComponent(item.icon), { class: "size-4" }, null), _parent2, _scopeId);
|
|
721
|
+
_push3(` ${ssrInterpolate(item.label)}`);
|
|
722
|
+
} else return [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "size-4" })), createTextVNode(" " + toDisplayString(item.label), 1)];
|
|
723
|
+
}),
|
|
724
|
+
_: 2
|
|
725
|
+
}, _parent));
|
|
726
|
+
});
|
|
727
|
+
_push2(`<!--]--></div></div></nav></aside></div>`);
|
|
728
|
+
} else _push2(`<!---->`);
|
|
729
|
+
}, "body", false, _parent);
|
|
730
|
+
_push(`<div class="flex min-w-0 flex-1 flex-col"><header class="bg-background/80 sticky top-0 z-30 backdrop-blur"><div class="flex h-14 max-h-14 min-h-14 items-center gap-2 overflow-hidden border-b px-4 sm:px-6">`);
|
|
731
|
+
_push(ssrRenderComponent(_component_UiButton, {
|
|
732
|
+
variant: "ghost",
|
|
733
|
+
size: "icon-sm",
|
|
734
|
+
class: "md:hidden",
|
|
735
|
+
"aria-label": "Open menu",
|
|
736
|
+
onClick: ($event) => mobileOpen.value = true
|
|
737
|
+
}, {
|
|
738
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
739
|
+
if (_push2) _push2(ssrRenderComponent(unref(Menu), { class: "size-4" }, null, _parent2, _scopeId));
|
|
740
|
+
else return [createVNode(unref(Menu), { class: "size-4" })];
|
|
741
|
+
}),
|
|
742
|
+
_: 1
|
|
743
|
+
}, _parent));
|
|
744
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
745
|
+
to: "/",
|
|
746
|
+
class: "flex items-center md:hidden",
|
|
747
|
+
"aria-label": "nomnomtokens home"
|
|
748
|
+
}, {
|
|
749
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
750
|
+
if (_push2) _push2(ssrRenderComponent(_component_Logo, {
|
|
751
|
+
size: 20,
|
|
752
|
+
"show-wordmark": false
|
|
753
|
+
}, null, _parent2, _scopeId));
|
|
754
|
+
else return [createVNode(_component_Logo, {
|
|
755
|
+
size: 20,
|
|
756
|
+
"show-wordmark": false
|
|
757
|
+
})];
|
|
758
|
+
}),
|
|
759
|
+
_: 1
|
|
760
|
+
}, _parent));
|
|
761
|
+
_push(`<div class="ml-auto flex items-center gap-2"><span class="flex items-center md:hidden"${ssrRenderAttr("title", unref(connected) ? "Live" : "Reconnecting\u2026")}><span class="${ssrRenderClass([unref(connected) ? "bg-success animate-pulse" : "bg-muted-foreground", "size-1.5 rounded-full"])}"></span></span>`);
|
|
762
|
+
_push(ssrRenderComponent(_component_UiButton, {
|
|
763
|
+
variant: "outline",
|
|
764
|
+
size: "sm",
|
|
765
|
+
class: "gap-2 font-normal",
|
|
766
|
+
onClick: ($event) => paletteOpen.value = true
|
|
767
|
+
}, {
|
|
768
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
769
|
+
if (_push2) {
|
|
770
|
+
_push2(`<span class="text-muted-foreground"${_scopeId}>Search\u2026</span>`);
|
|
771
|
+
_push2(ssrRenderComponent(_component_UiKbd, null, {
|
|
772
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
773
|
+
if (_push3) _push3(`\u2318K`);
|
|
774
|
+
else return [createTextVNode("\u2318K")];
|
|
775
|
+
}),
|
|
776
|
+
_: 1
|
|
777
|
+
}, _parent2, _scopeId));
|
|
778
|
+
} else return [createVNode("span", { class: "text-muted-foreground" }, "Search\u2026"), createVNode(_component_UiKbd, null, {
|
|
779
|
+
default: withCtx(() => [createTextVNode("\u2318K")]),
|
|
780
|
+
_: 1
|
|
781
|
+
})];
|
|
782
|
+
}),
|
|
783
|
+
_: 1
|
|
784
|
+
}, _parent));
|
|
785
|
+
_push(ssrRenderComponent(_component_UiTooltip, {
|
|
786
|
+
side: "left",
|
|
787
|
+
content: `${THEME_LABEL[unref(theme).preference.value]} \u2014 click to change`
|
|
788
|
+
}, {
|
|
789
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
790
|
+
if (_push2) _push2(ssrRenderComponent(_component_UiButton, {
|
|
791
|
+
variant: "ghost",
|
|
792
|
+
size: "icon-sm",
|
|
793
|
+
"aria-label": THEME_LABEL[unref(theme).preference.value],
|
|
794
|
+
onClick: ($event) => unref(theme).cycle()
|
|
795
|
+
}, {
|
|
796
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
797
|
+
if (_push3) _push3(ssrRenderComponent(_component_ClientOnly, null, { fallback: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
798
|
+
if (_push4) _push4(ssrRenderComponent(unref(Sun), { class: "size-4" }, null, _parent4, _scopeId3));
|
|
799
|
+
else return [createVNode(unref(Sun), { class: "size-4" })];
|
|
800
|
+
}) }, _parent3, _scopeId2));
|
|
801
|
+
else return [createVNode(_component_ClientOnly, null, {
|
|
802
|
+
fallback: withCtx(() => [createVNode(unref(Sun), { class: "size-4" })]),
|
|
803
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(THEME_ICON[unref(theme).preference.value]), { class: "size-4" }))]),
|
|
804
|
+
_: 1
|
|
805
|
+
})];
|
|
806
|
+
}),
|
|
807
|
+
_: 1
|
|
808
|
+
}, _parent2, _scopeId));
|
|
809
|
+
else return [createVNode(_component_UiButton, {
|
|
810
|
+
variant: "ghost",
|
|
811
|
+
size: "icon-sm",
|
|
812
|
+
"aria-label": THEME_LABEL[unref(theme).preference.value],
|
|
813
|
+
onClick: ($event) => unref(theme).cycle()
|
|
814
|
+
}, {
|
|
815
|
+
default: withCtx(() => [createVNode(_component_ClientOnly, null, {
|
|
816
|
+
fallback: withCtx(() => [createVNode(unref(Sun), { class: "size-4" })]),
|
|
817
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(THEME_ICON[unref(theme).preference.value]), { class: "size-4" }))]),
|
|
818
|
+
_: 1
|
|
819
|
+
})]),
|
|
820
|
+
_: 1
|
|
821
|
+
}, 8, ["aria-label", "onClick"])];
|
|
822
|
+
}),
|
|
823
|
+
_: 1
|
|
824
|
+
}, _parent));
|
|
825
|
+
_push(`</div></div></header><main class="mx-auto w-full max-w-7xl flex-1 px-4 py-6 sm:px-6">`);
|
|
826
|
+
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
|
|
827
|
+
_push(`</main><footer class="text-muted-foreground mx-auto w-full max-w-7xl px-4 pb-8 text-xs sm:px-6">`);
|
|
828
|
+
_push(ssrRenderComponent(_component_UiSeparator, { class: "mb-4" }, null, _parent));
|
|
829
|
+
_push(`<p> Everything on this page was computed on this machine from <code class="font-mono">${ssrInterpolate(unref(meta)?.dbPath ?? "~/.nomnomtokens/data.db")}</code>. Nothing was sent anywhere. </p></footer></div>`);
|
|
830
|
+
_push(ssrRenderComponent(_component_CommandPalette, {
|
|
831
|
+
open: unref(paletteOpen),
|
|
832
|
+
onClose: ($event) => paletteOpen.value = false
|
|
833
|
+
}, null, _parent));
|
|
834
|
+
_push(`</div>`);
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
});
|
|
838
|
+
var _sfc_setup = default_vue_vue_type_script_setup_true_lang_default.setup;
|
|
839
|
+
default_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
840
|
+
const ssrContext = useSSRContext();
|
|
841
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/default.vue");
|
|
842
|
+
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
843
|
+
};
|
|
844
|
+
var default_default = default_vue_vue_type_script_setup_true_lang_default;
|
|
845
|
+
|
|
846
|
+
export { default_default as default };
|
|
847
|
+
//# sourceMappingURL=default-BokiYQNv.mjs.map
|