Files
harheimertc/.output/server/chunks/build/index-D8nn7-Uy.mjs
2025-10-21 16:00:53 +02:00

167 lines
8.3 KiB
JavaScript

import { u as useAuthStore, _ as __nuxt_component_0$1 } from './server.mjs';
import { mergeProps, withCtx, unref, createVNode, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer';
import { Newspaper, Calendar, Users, UserCog } from 'lucide-vue-next';
import { u as useHead } from './composables-CK-Mp9jS.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 'vue-router';
const _sfc_main = {
__name: "index",
__ssrInlineRender: true,
setup(__props) {
const authStore = useAuthStore();
useHead({
title: "CMS - Harheimer TC"
});
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0$1;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full py-16 bg-gray-50" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"> Content Management System </h1><div class="w-24 h-1 bg-primary-600 mb-8"></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/mitgliederbereich/news",
class: "bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center group-hover:bg-blue-600 transition-colors"${_scopeId}>`);
_push2(ssrRenderComponent(unref(Newspaper), {
size: 24,
class: "text-blue-600 group-hover:text-white"
}, null, _parent2, _scopeId));
_push2(`</div><h2 class="ml-4 text-xl font-semibold text-gray-900"${_scopeId}>Interne News</h2></div><p class="text-gray-600"${_scopeId}> News für Mitglieder erstellen und verwalten </p>`);
} else {
return [
createVNode("div", { class: "flex items-center mb-4" }, [
createVNode("div", { class: "w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center group-hover:bg-blue-600 transition-colors" }, [
createVNode(unref(Newspaper), {
size: 24,
class: "text-blue-600 group-hover:text-white"
})
]),
createVNode("h2", { class: "ml-4 text-xl font-semibold text-gray-900" }, "Interne News")
]),
createVNode("p", { class: "text-gray-600" }, " News für Mitglieder erstellen und verwalten ")
];
}
}),
_: 1
}, _parent));
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/cms/termine",
class: "bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center group-hover:bg-green-600 transition-colors"${_scopeId}>`);
_push2(ssrRenderComponent(unref(Calendar), {
size: 24,
class: "text-green-600 group-hover:text-white"
}, null, _parent2, _scopeId));
_push2(`</div><h2 class="ml-4 text-xl font-semibold text-gray-900"${_scopeId}>Termine</h2></div><p class="text-gray-600"${_scopeId}> Vereinstermine erstellen und verwalten </p>`);
} else {
return [
createVNode("div", { class: "flex items-center mb-4" }, [
createVNode("div", { class: "w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center group-hover:bg-green-600 transition-colors" }, [
createVNode(unref(Calendar), {
size: 24,
class: "text-green-600 group-hover:text-white"
})
]),
createVNode("h2", { class: "ml-4 text-xl font-semibold text-gray-900" }, "Termine")
]),
createVNode("p", { class: "text-gray-600" }, " Vereinstermine erstellen und verwalten ")
];
}
}),
_: 1
}, _parent));
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/mitgliederbereich/mitglieder",
class: "bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center group-hover:bg-purple-600 transition-colors"${_scopeId}>`);
_push2(ssrRenderComponent(unref(Users), {
size: 24,
class: "text-purple-600 group-hover:text-white"
}, null, _parent2, _scopeId));
_push2(`</div><h2 class="ml-4 text-xl font-semibold text-gray-900"${_scopeId}>Mitglieder</h2></div><p class="text-gray-600"${_scopeId}> Mitgliederliste bearbeiten </p>`);
} else {
return [
createVNode("div", { class: "flex items-center mb-4" }, [
createVNode("div", { class: "w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center group-hover:bg-purple-600 transition-colors" }, [
createVNode(unref(Users), {
size: 24,
class: "text-purple-600 group-hover:text-white"
})
]),
createVNode("h2", { class: "ml-4 text-xl font-semibold text-gray-900" }, "Mitglieder")
]),
createVNode("p", { class: "text-gray-600" }, " Mitgliederliste bearbeiten ")
];
}
}),
_: 1
}, _parent));
if (unref(authStore).role === "admin") {
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/cms/benutzer",
class: "bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center group-hover:bg-yellow-600 transition-colors"${_scopeId}>`);
_push2(ssrRenderComponent(unref(UserCog), {
size: 24,
class: "text-yellow-600 group-hover:text-white"
}, null, _parent2, _scopeId));
_push2(`</div><h2 class="ml-4 text-xl font-semibold text-gray-900"${_scopeId}>Benutzerverwaltung</h2></div><p class="text-gray-600"${_scopeId}> Benutzer freischalten und verwalten </p>`);
} else {
return [
createVNode("div", { class: "flex items-center mb-4" }, [
createVNode("div", { class: "w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center group-hover:bg-yellow-600 transition-colors" }, [
createVNode(unref(UserCog), {
size: 24,
class: "text-yellow-600 group-hover:text-white"
})
]),
createVNode("h2", { class: "ml-4 text-xl font-semibold text-gray-900" }, "Benutzerverwaltung")
]),
createVNode("p", { class: "text-gray-600" }, " Benutzer freischalten und verwalten ")
];
}
}),
_: 1
}, _parent));
} else {
_push(`<!---->`);
}
_push(`</div></div></div>`);
};
}
};
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/cms/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=index-D8nn7-Uy.mjs.map