import { _ as __nuxt_component_0 } from './server.mjs'; import { ref, computed, mergeProps, withCtx, createTextVNode, unref, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderClass } from 'vue/server-renderer'; import { AlertCircle, Check, X } from 'lucide-vue-next'; import { u as useHead } from './composables-BzCA61rX.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 'vue-router'; const _sfc_main = { __name: "benutzer", __ssrInlineRender: true, setup(__props) { const allUsers = ref([]); const currentUserId = ref(null); const successMessage = ref(""); const errorMessage = ref(""); const pendingUsers = computed(() => { return allUsers.value.filter((u) => u.active === false).map((u) => ({ ...u, selectedRole: u.role || "mitglied" })); }); const activeUsers = computed(() => { return allUsers.value.filter((u) => u.active === true); }); const formatDate = (dateString) => { return new Date(dateString).toLocaleString("de-DE", { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" }); }; useHead({ title: "Benutzerverwaltung - CMS - Harheimer TC" }); return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; _push(`

Benutzerverwaltung

`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/cms", class: "px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-800 rounded-lg transition-colors" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(` \u2190 Zur\xFCck zum CMS `); } else { return [ createTextVNode(" \u2190 Zur\xFCck zum CMS ") ]; } }), _: 1 }, _parent)); _push(`
`); if (pendingUsers.value.length > 0) { _push(`

`); _push(ssrRenderComponent(unref(AlertCircle), { size: 24, class: "inline text-yellow-600 mr-2" }, null, _parent)); _push(` Wartende Registrierungen (${ssrInterpolate(pendingUsers.value.length)})

`); ssrRenderList(pendingUsers.value, (user) => { _push(`

${ssrInterpolate(user.name)}

${ssrInterpolate(user.email)}

`); if (user.phone) { _push(`

${ssrInterpolate(user.phone)}

`); } else { _push(``); } _push(`

Registriert am: ${ssrInterpolate(formatDate(user.created))}

`); }); _push(`
`); } else { _push(``); } _push(`

Aktive Benutzer (${ssrInterpolate(activeUsers.value.length)})

`); ssrRenderList(activeUsers.value, (user) => { _push(``); }); _push(`
Name E-Mail Telefon Rolle Letzter Login Aktionen
${ssrInterpolate(user.name)}
${ssrInterpolate(user.email)}
${ssrInterpolate(user.phone || "-")}
${ssrInterpolate(user.lastLogin ? formatDate(user.lastLogin) : "Nie")}
`); if (user.id !== currentUserId.value) { _push(``); } else { _push(`Eigenes Konto`); } _push(`
`); if (successMessage.value) { _push(`

`); _push(ssrRenderComponent(unref(Check), { size: 18, class: "mr-2" }, null, _parent)); _push(` ${ssrInterpolate(successMessage.value)}

`); } else { _push(``); } if (errorMessage.value) { _push(`

`); _push(ssrRenderComponent(unref(AlertCircle), { size: 18, class: "mr-2" }, null, _parent)); _push(` ${ssrInterpolate(errorMessage.value)}

`); } else { _push(``); } _push(`
`); }; } }; const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/cms/benutzer.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; export { _sfc_main as default }; //# sourceMappingURL=benutzer-D4aaeGzm.mjs.map