import { _ as __nuxt_component_0 } from './nuxt-link-1NBbHb-h.mjs'; import { defineComponent, ref, computed, mergeProps, withCtx, createVNode, toDisplayString, unref, openBlock, createBlock, createTextVNode, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrRenderStyle, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer'; import { b as useRouter, c as useAuthStore, a as useI18n } from './server.mjs'; import { p as publicAssetsURL } from '../nitro/nitro.mjs'; import { useRoute } from 'vue-router'; import { u as useRegionStore } from './region-0mvXqaMM.mjs'; import 'pinia'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'unhead/plugins'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "LanguageSwitcher", __ssrInlineRender: true, setup(__props) { const { locale, locales } = useI18n(); const dropdownOpen = ref(false); const dropdownRef = ref(null); const availableLocales = computed(() => locales.value); const currentLocale = computed(() => locale.value); const flagMap = { hu: "\u{1F1ED}\u{1F1FA}", en: "\u{1F1EC}\u{1F1E7}" }; const labelMap = { hu: "Magyar", en: "English" }; function flagFor(code) { return flagMap[code] || "\u{1F310}"; } function labelFor(code) { return labelMap[code] || code.toUpperCase(); } return (_ctx, _push, _parent, _attrs) => { _push(``); if (dropdownOpen.value) { _push(`
`); ssrRenderList(availableLocales.value, (loc) => { _push(``); }); _push(`
`); } else { _push(``); } _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/LanguageSwitcher.vue"); return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; }; const _imports_0 = publicAssetsURL("/logo.svg"); const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "default", __ssrInlineRender: true, setup(__props) { const route = useRoute(); useRouter(); const authStore = useAuthStore(); useRegionStore(); const sidebarOpen = ref(false); const sidebarCollapsed = ref(false); const dropdownOpen = ref(false); ref(null); const expandedGroups = ref(/* @__PURE__ */ new Set(["K\xF6zpont"])); const userEmail = computed(() => authStore.userEmail || "Ismeretlen Felhaszn\xE1l\xF3"); const userInitials = computed(() => { const email = authStore.userEmail; if (!email) return "??"; return email.split("@")[0].split(".").map((s) => s[0]).join("").toUpperCase().slice(0, 2); }); const menuGroups = [ { title: "K\xF6zpont", items: [ { path: "/", label: "Dashboard", icon: '' } ] }, { title: "Szolg\xE1ltat\xF3k", items: [ { label: "Szolg\xE1ltat\xF3k", icon: '', children: [ { path: "/providers", label: "\xD6sszes szolg\xE1ltat\xF3", icon: '' }, { path: "/providers/pending", label: "J\xF3v\xE1hagy\xE1sra v\xE1r\xF3", icon: '' } ] } ] }, { title: "Felhaszn\xE1l\xF3k & Partnerek", items: [ { label: "Gar\xE1zsok", icon: '', children: [ { path: "/garages", label: "Gar\xE1zsok list\xE1ja", icon: '' } ] }, { label: "Felhaszn\xE1l\xF3k", icon: '', children: [ { path: "/users", label: "Felhaszn\xE1l\xF3k list\xE1ja", icon: '' }, { path: "/persons", label: "Szem\xE9lyek", icon: '' } ] } ] }, { title: "P\xE9nz\xFCgyek", items: [ { path: "/packages", label: "Csomagok", icon: '' } ] }, { title: "Gamification", items: [ { label: "J\xE1t\xE9kmenet Be\xE1ll\xEDt\xE1sok", icon: '', children: [ { path: "/gamification/point-rules", label: "Pontszab\xE1lyok", icon: '' }, { path: "/gamification/levels", label: "Szintek", icon: '' }, { path: "/gamification/badges", label: "Kit\xFCntet\xE9sek", icon: '' } ] }, { label: "Esem\xE9nyek & Szezonok", icon: '', children: [ { path: "/gamification/seasons", label: "Szezonok", icon: '' }, { path: "/gamification/competitions", label: "Versenyek", icon: '' } ] }, { label: "Felhaszn\xE1l\xF3i Adatok", icon: '', children: [ { path: "/gamification/users", label: "Statisztik\xE1k", icon: '' }, { path: "/gamification/leaderboard", label: "Ranglista", icon: '' }, { path: "/gamification/ledger", label: "Pontnapl\xF3", icon: '' } ] }, { path: "/gamification", label: "Gamification HQ", icon: '' }, { path: "/gamification/config", label: "Rendszer Konfig", icon: '' }, { path: "/gamification/parameters", label: "Rendszerparam\xE9terek", icon: '' } ] }, { title: "Rendszer", items: [ { path: "/permissions", label: "Jogosults\xE1gok", icon: '' }, { label: "Rendszernapl\xF3k", icon: '', children: [ { path: "/", /* P0 HOTFIX: placeholder until /logs page is built */ label: "Rendszernapl\xF3k", icon: '' } ] } ] } ]; const pageTitle = computed(() => { if (route.path === "/") return "Dashboard"; if (route.path.startsWith("/permissions")) return "Jogosults\xE1g Kezel\xE9s"; if (route.path.startsWith("/garages")) return "Gar\xE1zsok"; if (route.path.startsWith("/persons")) return "Szem\xE9lyek"; if (route.path.startsWith("/users")) return "Felhaszn\xE1l\xF3k"; if (route.path.startsWith("/logs")) return "Rendszernapl\xF3k"; if (route.path.startsWith("/packages")) return "Csomagok"; if (route.path.startsWith("/providers")) { if (route.path === "/providers/pending") return "J\xF3v\xE1hagy\xE1sra v\xE1r\xF3 szolg\xE1ltat\xF3k"; if (route.path.startsWith("/providers/")) return "Szolg\xE1ltat\xF3 r\xE9szletek"; return "Szolg\xE1ltat\xF3k"; } if (route.path.startsWith("/gamification")) { if (route.path === "/gamification") return "Gamification HQ"; if (route.path === "/gamification/point-rules") return "Pontszab\xE1lyok"; if (route.path === "/gamification/levels") return "Szintek"; if (route.path === "/gamification/badges") return "Kit\xFCntet\xE9sek"; if (route.path === "/gamification/seasons") return "Szezonok"; if (route.path === "/gamification/competitions") return "Versenyek"; if (route.path === "/gamification/users") return "Gamification Felhaszn\xE1l\xF3k"; if (route.path.startsWith("/gamification/users/")) return "Felhaszn\xE1l\xF3 Gamification"; if (route.path === "/gamification/leaderboard") return "Ranglista"; if (route.path === "/gamification/config") return "Rendszer Konfig"; if (route.path === "/gamification/parameters") return "Rendszerparam\xE9terek"; if (route.path === "/gamification/ledger") return "Pontnapl\xF3"; return "Gamification"; } return "Admin Panel"; }); function isActive(path) { if (path === "/") return route.path === "/"; return route.path.startsWith(path); } function isGroupActive(item) { if (!item.children) return false; return item.children.some((child) => isActive(child.path)); } return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; const _component_LanguageSwitcher = _sfc_main$1; _push(``); if (sidebarOpen.value) { _push(`
`); } else { _push(``); } _push(`

${ssrInterpolate(pageTitle.value)}

`); _push(ssrRenderComponent(_component_LanguageSwitcher, null, null, _parent)); _push(`
`); if (dropdownOpen.value) { _push(`

${ssrInterpolate(userEmail.value)}

${ssrInterpolate(unref(authStore).userRole === "SUPERADMIN" ? "Super Administrator" : unref(authStore).userRole || "Administrator")}

`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/profile", class: "flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition", onClick: ($event) => dropdownOpen.value = false }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(` Profile Settings `); } else { return [ (openBlock(), createBlock("svg", { class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [ createVNode("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" }) ])), createTextVNode(" Profile Settings ") ]; } }), _: 1 }, _parent)); _push(`
`); } else { _push(``); } _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-BU4PyScw.mjs.map