import { _ as __nuxt_component_0 } from './nuxt-link-BsKoUOa0.mjs';
import { defineComponent, computed, mergeProps, unref, withCtx, openBlock, createBlock, createVNode, createTextVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderStyle, ssrInterpolate, ssrRenderList, ssrRenderComponent, ssrRenderAttr, ssrRenderSlot, ssrRenderClass } from 'vue/server-renderer';
import { u as useToast } from './useToast-CS21XT61.mjs';
import { u as useLoading } from './useLoading-D4zrSa2m.mjs';
import { a as useAuthStore, b as useRouter, c as useRoute$1, M as MENU_GROUPS, _ as _export_sfc } from './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/utils';
import 'pinia';
import 'perfect-debounce';
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
__name: "AppToast",
__ssrInlineRender: true,
setup(__props) {
const { toasts } = useToast();
function alertClass(type) {
switch (type) {
case "success":
return "alert-success";
case "error":
return "alert-error";
case "warning":
return "alert-warning";
case "info":
default:
return "alert-info";
}
}
return (_ctx, _push, _parent, _attrs) => {
_push(`
`);
ssrRenderList(unref(toasts), (t) => {
_push(`
${ssrInterpolate(t.msg)}
`);
});
_push(`
`);
};
}
});
const _sfc_setup$2 = _sfc_main$2.setup;
_sfc_main$2.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/AppToast.vue");
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const __nuxt_component_1 = Object.assign(_sfc_main$2, { __name: "AppToast" });
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
__name: "AppLoading",
__ssrInlineRender: true,
setup(__props) {
const { loading } = useLoading();
return (_ctx, _push, _parent, _attrs) => {
if (unref(loading)) {
_push(``);
} else {
_push(``);
}
};
}
});
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/AppLoading.vue");
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const __nuxt_component_2 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$1, [["__scopeId", "data-v-c1ace0c2"]]), { __name: "AppLoading" });
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "default",
__ssrInlineRender: true,
setup(__props) {
const auth = useAuthStore();
useRouter();
const route = useRoute$1();
const identityLabel = computed(() => {
const map = { 1: "超级管理员", 2: "管理员", 3: "代理", 4: "运营" };
return map[auth.identity] ?? "";
});
const identityLabelShort = computed(() => {
const map = { 1: "超管", 2: "管理员", 3: "代理", 4: "运营" };
return map[auth.identity] ?? "";
});
const avatarChar = computed(() => (auth.account || "A").charAt(0).toUpperCase());
const menuGroups = MENU_GROUPS;
function hasVisibleItems(group) {
return group.items.some((item) => auth.hasAccess(item.id));
}
const pageTitle = computed(() => {
if (route.meta?.title) return route.meta.title;
for (const g of menuGroups) {
const item = g.items.find((m) => route.path.startsWith(m.to));
if (item) return item.label;
}
return "Console";
});
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0;
const _component_AppToast = __nuxt_component_1;
const _component_AppLoading = __nuxt_component_2;
_push(``);
_push(ssrRenderComponent(_component_AppToast, null, null, _parent));
_push(ssrRenderComponent(_component_AppLoading, null, null, _parent));
_push(``);
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
_push(`
`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/default.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=default-MHUXyMZu.mjs.map