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