Add CMS dropdown in Intern submenu with termine editor

This commit is contained in:
Torsten Schulz (local)
2025-10-21 16:00:53 +02:00
parent 1cbfbaf754
commit 4af0b2a448
36 changed files with 948 additions and 325 deletions

View File

@@ -1,5 +1,5 @@
{
"date": "2025-10-21T13:54:21.835Z",
"date": "2025-10-21T13:58:04.795Z",
"preset": "node-server",
"framework": {
"name": "nuxt",

View File

@@ -0,0 +1,6 @@
import{e as a}from"#entry";/**
* @license lucide-vue-next v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const o=a("SquarePenIcon",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z",key:"1lpok0"}]]);export{o as S};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +0,0 @@
import{e as l,r as a,h as d,c as m,a as t,t as x,b as s,u as n,w as g,_ as p,o as u}from"#entry";import{u as f}from"./C_U-NUAd.js";import{C as y}from"./YJHbYJtA.js";import{N as b}from"./DAACT36i.js";import{F as c}from"./BteKZQ9T.js";import{U as h}from"./DkeYb0_S.js";/**
* @license lucide-vue-next v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const w=l("ImageIcon",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),v={class:"min-h-full py-16 bg-gray-50"},_={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},k={class:"bg-white rounded-xl shadow-lg p-8 mb-8"},z={class:"text-2xl font-display font-bold text-gray-900 mb-4"},C={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},I={class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},N={class:"flex items-center mb-4"},S={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"},B={class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},j={class:"flex items-center mb-4"},L={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"},M={class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},T={class:"flex items-center mb-4"},F={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"},H={class:"flex items-center mb-4"},R={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"},U={class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},V={class:"flex items-center mb-4"},W={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"},K={__name:"index",setup(D){const o=a(null);return d(async()=>{try{const r=await $fetch("/api/auth/status");r.isLoggedIn&&(o.value=r.user)}catch(r){console.error("Fehler beim Laden der Benutzerdaten:",r)}}),f({title:"CMS - Harheimer TC"}),(r,e)=>{const i=p;return u(),m("div",v,[t("div",_,[e[16]||(e[16]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Content Management System ",-1)),e[17]||(e[17]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",k,[t("h2",z," Willkommen im CMS, "+x(o.value?.name)+"! ",1),e[0]||(e[0]=t("p",{class:"text-gray-600"}," Hier können Sie Inhalte der Website verwalten. ",-1))]),t("div",C,[t("div",I,[t("div",N,[t("div",S,[s(n(y),{size:24,class:"text-primary-600"})]),e[1]||(e[1]=t("h3",{class:"text-lg font-semibold text-gray-900"},"Termine verwalten",-1))]),e[2]||(e[2]=t("p",{class:"text-gray-600 text-sm mb-4"}," Termine hinzufügen, bearbeiten und löschen ",-1)),e[3]||(e[3]=t("button",{class:"text-sm text-primary-600 hover:text-primary-700 font-medium"}," Öffnen → ",-1))]),t("div",B,[t("div",j,[t("div",L,[s(n(b),{size:24,class:"text-primary-600"})]),e[4]||(e[4]=t("h3",{class:"text-lg font-semibold text-gray-900"},"Interne News",-1))]),e[5]||(e[5]=t("p",{class:"text-gray-600 text-sm mb-4"}," News für Mitglieder erstellen und verwalten ",-1)),e[6]||(e[6]=t("button",{class:"text-sm text-primary-600 hover:text-primary-700 font-medium"}," Öffnen → ",-1))]),t("div",M,[t("div",T,[t("div",F,[s(n(c),{size:24,class:"text-primary-600"})]),e[7]||(e[7]=t("h3",{class:"text-lg font-semibold text-gray-900"},"Spielpläne",-1))]),e[8]||(e[8]=t("p",{class:"text-gray-600 text-sm mb-4"}," Spielpläne hochladen und verwalten ",-1)),e[9]||(e[9]=t("button",{class:"text-sm text-primary-600 hover:text-primary-700 font-medium"}," Öffnen → ",-1))]),s(i,{to:"/cms/benutzer",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-shadow block"},{default:g(()=>[t("div",H,[t("div",R,[s(n(h),{size:24,class:"text-primary-600"})]),e[10]||(e[10]=t("h3",{class:"text-lg font-semibold text-gray-900"},"Benutzerverwaltung",-1))]),e[11]||(e[11]=t("p",{class:"text-gray-600 text-sm mb-4"}," Registrierungen freischalten und Rollen verwalten ",-1)),e[12]||(e[12]=t("span",{class:"text-sm text-primary-600 hover:text-primary-700 font-medium"}," Öffnen → ",-1))]),_:1}),t("div",U,[t("div",V,[t("div",W,[s(n(w),{size:24,class:"text-primary-600"})]),e[13]||(e[13]=t("h3",{class:"text-lg font-semibold text-gray-900"},"Galerie",-1))]),e[14]||(e[14]=t("p",{class:"text-gray-600 text-sm mb-4"}," Bilder hochladen und verwalten ",-1)),e[15]||(e[15]=t("button",{class:"text-sm text-primary-600 hover:text-primary-700 font-medium"}," Öffnen → ",-1))])])])])}}};export{K as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
import{e as a,k as d,c as g,a as t,b as s,p as m,i as u,w as l,u as r,_ as x,o as i}from"#entry";import{u as p}from"./C_U-NUAd.js";import{N as c}from"./DAACT36i.js";import{C as h}from"./YJHbYJtA.js";import{U as b}from"./DkeYb0_S.js";/**
* @license lucide-vue-next v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const y=a("UserCogIcon",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]),f={class:"min-h-full py-16 bg-gray-50"},w={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},v={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},_={class:"flex items-center mb-4"},k={class:"w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center group-hover:bg-blue-600 transition-colors"},j={class:"flex items-center mb-4"},C={class:"w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center group-hover:bg-green-600 transition-colors"},z={class:"flex items-center mb-4"},N={class:"w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center group-hover:bg-purple-600 transition-colors"},B={class:"flex items-center mb-4"},M={class:"w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center group-hover:bg-yellow-600 transition-colors"},T={__name:"index",setup(S){const n=d();return p({title:"CMS - Harheimer TC"}),(U,e)=>{const o=x;return i(),g("div",f,[t("div",w,[e[8]||(e[8]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Content Management System ",-1)),e[9]||(e[9]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",v,[s(o,{to:"/mitgliederbereich/news",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",_,[t("div",k,[s(r(c),{size:24,class:"text-blue-600 group-hover:text-white"})]),e[0]||(e[0]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Interne News",-1))]),e[1]||(e[1]=t("p",{class:"text-gray-600"}," News für Mitglieder erstellen und verwalten ",-1))]),_:1}),s(o,{to:"/cms/termine",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",j,[t("div",C,[s(r(h),{size:24,class:"text-green-600 group-hover:text-white"})]),e[2]||(e[2]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Termine",-1))]),e[3]||(e[3]=t("p",{class:"text-gray-600"}," Vereinstermine erstellen und verwalten ",-1))]),_:1}),s(o,{to:"/mitgliederbereich/mitglieder",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",z,[t("div",N,[s(r(b),{size:24,class:"text-purple-600 group-hover:text-white"})]),e[4]||(e[4]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mitglieder",-1))]),e[5]||(e[5]=t("p",{class:"text-gray-600"}," Mitgliederliste bearbeiten ",-1))]),_:1}),r(n).role==="admin"?(i(),m(o,{key:0,to:"/cms/benutzer",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",B,[t("div",M,[s(r(y),{size:24,class:"text-yellow-600 group-hover:text-white"})]),e[6]||(e[6]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Benutzerverwaltung",-1))]),e[7]||(e[7]=t("p",{class:"text-gray-600"}," Benutzer freischalten und verwalten ",-1))]),_:1})):u("",!0)])])])}}};export{T as default};

File diff suppressed because one or more lines are too long

View File

@@ -3,9 +3,4 @@ import{e}from"#entry";/**
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const t=e("SquarePenIcon",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z",key:"1lpok0"}]]);/**
* @license lucide-vue-next v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const c=e("Trash2Icon",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);export{t as S,c as T};
*/const c=e("Trash2Icon",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);export{c as T};

View File

@@ -0,0 +1,6 @@
import{e}from"#entry";/**
* @license lucide-vue-next v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const a=e("PlusIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);export{a as P};

View File

@@ -1 +1 @@
{"id":"3a0403e7-f742-4a46-8731-aef781f88d6b","timestamp":1761054854878}
{"id":"e3471523-9d80-4085-b77f-94b960db296e","timestamp":1761055077384}

View File

@@ -1 +0,0 @@
{"id":"3a0403e7-f742-4a46-8731-aef781f88d6b","timestamp":1761054854878,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

View File

@@ -0,0 +1 @@
{"id":"e3471523-9d80-4085-b77f-94b960db296e","timestamp":1761055077384,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,100 @@
import { promises } from 'fs';
import path from 'path';
import { randomUUID } from 'crypto';
const getDataPath = (filename) => {
const cwd = process.cwd();
if (cwd.endsWith(".output")) {
return path.join(cwd, "../public/data", filename);
}
return path.join(cwd, "public/data", filename);
};
const TERMINE_FILE = getDataPath("termine.csv");
async function readTermine() {
try {
const data = await promises.readFile(TERMINE_FILE, "utf-8");
const lines = data.split("\n").filter((line) => line.trim() !== "");
if (lines.length < 2) return [];
const termine = [];
for (let i = 1; i < lines.length; i++) {
const values = [];
let current = "";
let inQuotes = false;
for (let j = 0; j < lines[i].length; j++) {
const char = lines[i][j];
if (char === '"') {
inQuotes = !inQuotes;
} else if (char === "," && !inQuotes) {
values.push(current.trim());
current = "";
} else {
current += char;
}
}
values.push(current.trim());
if (values.length >= 4) {
termine.push({
id: randomUUID(),
// Generate ID on-the-fly for editing
datum: values[0],
titel: values[1],
beschreibung: values[2],
kategorie: values[3]
});
}
}
return termine;
} catch (error) {
if (error.code === "ENOENT") {
return [];
}
console.error("Fehler beim Lesen der Termine:", error);
return [];
}
}
async function writeTermine(termine) {
try {
let csv = '"datum","titel","beschreibung","kategorie"\n';
for (const termin of termine) {
const datum = termin.datum || "";
const titel = termin.titel || "";
const beschreibung = termin.beschreibung || "";
const kategorie = termin.kategorie || "";
const escapedDatum = datum.replace(/"/g, '""');
const escapedTitel = titel.replace(/"/g, '""');
const escapedBeschreibung = beschreibung.replace(/"/g, '""');
const escapedKategorie = kategorie.replace(/"/g, '""');
csv += `"${escapedDatum}","${escapedTitel}","${escapedBeschreibung}","${escapedKategorie}"
`;
}
await promises.writeFile(TERMINE_FILE, csv, "utf-8");
return true;
} catch (error) {
console.error("Fehler beim Schreiben der Termine:", error);
return false;
}
}
async function saveTermin(terminData) {
const termine = await readTermine();
const newTermin = {
datum: terminData.datum,
titel: terminData.titel,
beschreibung: terminData.beschreibung || "",
kategorie: terminData.kategorie || "Sonstiges"
};
termine.push(newTermin);
termine.sort((a, b) => new Date(a.datum) - new Date(b.datum));
await writeTermine(termine);
return true;
}
async function deleteTermin(terminData) {
let termine = await readTermine();
termine = termine.filter(
(t) => !(t.datum === terminData.datum && t.titel === terminData.titel && t.beschreibung === terminData.beschreibung && t.kategorie === terminData.kategorie)
);
await writeTermine(termine);
return true;
}
export { deleteTermin as d, readTermine as r, saveTermin as s };
//# sourceMappingURL=termine.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"termine.mjs","sources":["../../../../server/utils/termine.js"],"sourcesContent":null,"names":["fs"],"mappings":"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"}

View File

@@ -1,4 +1,15 @@
const client_manifest = {
"_6EY4_GXp.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "6EY4_GXp.js",
"name": "square-pen",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
]
},
"_B4mSF5Ac.js": {
"resourceType": "script",
"module": true,
@@ -54,17 +65,6 @@ const client_manifest = {
"node_modules/nuxt/dist/app/entry.js"
]
},
"_CGpRzXRB.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "CGpRzXRB.js",
"name": "trash-2",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
]
},
"_CUq_0rkE.js": {
"resourceType": "script",
"module": true,
@@ -194,6 +194,17 @@ const client_manifest = {
"file": "DlAUqK2U.js",
"name": "_plugin-vue_export-helper"
},
"_FF_cyd6S.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "FF_cyd6S.js",
"name": "trash-2",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
]
},
"_KxVBmS-6.js": {
"resourceType": "script",
"module": true,
@@ -205,6 +216,17 @@ const client_manifest = {
"node_modules/nuxt/dist/app/entry.js"
]
},
"_R6Iy1jPP.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "R6Iy1jPP.js",
"name": "plus",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
]
},
"_XZ6RV9KH.js": {
"resourceType": "script",
"module": true,
@@ -318,7 +340,7 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "D43Z0o-f.js",
"file": "BCCaC8ND.js",
"name": "entry",
"src": "node_modules/nuxt/dist/app/entry.js",
"isEntry": true,
@@ -328,14 +350,14 @@ const client_manifest = {
"node_modules/nuxt/dist/app/components/error-500.vue"
],
"css": [
"entry.BbGskshJ.css"
"entry.BiMUV0e6.css"
],
"assets": [
"Harheimer TC.CKfYAfp1.svg"
]
},
"entry.BbGskshJ.css": {
"file": "entry.BbGskshJ.css",
"entry.BiMUV0e6.css": {
"file": "entry.BiMUV0e6.css",
"resourceType": "style",
"prefetch": true,
"preload": true
@@ -381,19 +403,36 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "Bdk8d7qx.js",
"file": "DO_5fT64.js",
"name": "index",
"src": "pages/cms/index.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_C_U-NUAd.js",
"_YJHbYJtA.js",
"_DAACT36i.js",
"_BteKZQ9T.js",
"_YJHbYJtA.js",
"_DkeYb0_S.js"
]
},
"pages/cms/termine.vue": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "C_WhudVk.js",
"name": "termine",
"src": "pages/cms/termine.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_C_U-NUAd.js",
"_R6Iy1jPP.js",
"_CUq_0rkE.js",
"_FF_cyd6S.js",
"_C8kQt0fa.js"
]
},
"pages/galerie.vue": {
"resourceType": "script",
"module": true,
@@ -610,7 +649,7 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "nrzLFm_7.js",
"file": "DHyEjCGa.js",
"name": "mitglieder",
"src": "pages/mitgliederbereich/mitglieder.vue",
"isDynamicEntry": true,
@@ -619,7 +658,8 @@ const client_manifest = {
"_C_U-NUAd.js",
"_oN0_bS6A.js",
"_CUq_0rkE.js",
"_CGpRzXRB.js",
"_6EY4_GXp.js",
"_FF_cyd6S.js",
"_BC4PNGtJ.js",
"_DdHhmCne.js",
"_C5SyyWEb.js",
@@ -632,17 +672,19 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "Dx1KRsmK.js",
"file": "B6D6IUyr.js",
"name": "news",
"src": "pages/mitgliederbereich/news.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_C_U-NUAd.js",
"_R6Iy1jPP.js",
"_CUq_0rkE.js",
"_KxVBmS-6.js",
"_YJHbYJtA.js",
"_CGpRzXRB.js",
"_6EY4_GXp.js",
"_FF_cyd6S.js",
"_DAACT36i.js",
"_C8kQt0fa.js"
]

View File

@@ -1,96 +0,0 @@
import { _ as __nuxt_component_0$1 } from './server.mjs';
import { ref, mergeProps, unref, withCtx, createVNode, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
import { Calendar, Newspaper, FileText, Users, Image } 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 user = ref(null);
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="bg-white rounded-xl shadow-lg p-8 mb-8"><h2 class="text-2xl font-display font-bold text-gray-900 mb-4"> Willkommen im CMS, ${ssrInterpolate(user.value?.name)}! </h2><p class="text-gray-600"> Hier können Sie Inhalte der Website verwalten. </p></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6"><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
_push(ssrRenderComponent(unref(Calendar), {
size: 24,
class: "text-primary-600"
}, null, _parent));
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Termine verwalten</h3></div><p class="text-gray-600 text-sm mb-4"> Termine hinzufügen, bearbeiten und löschen </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> Öffnen → </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
_push(ssrRenderComponent(unref(Newspaper), {
size: 24,
class: "text-primary-600"
}, null, _parent));
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Interne News</h3></div><p class="text-gray-600 text-sm mb-4"> News für Mitglieder erstellen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> Öffnen → </button></div><div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
_push(ssrRenderComponent(unref(FileText), {
size: 24,
class: "text-primary-600"
}, null, _parent));
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Spielpläne</h3></div><p class="text-gray-600 text-sm mb-4"> Spielpläne hochladen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> Öffnen → </button></div>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/cms/benutzer",
class: "bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-shadow block"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flex items-center mb-4"${_scopeId}><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4"${_scopeId}>`);
_push2(ssrRenderComponent(unref(Users), {
size: 24,
class: "text-primary-600"
}, null, _parent2, _scopeId));
_push2(`</div><h3 class="text-lg font-semibold text-gray-900"${_scopeId}>Benutzerverwaltung</h3></div><p class="text-gray-600 text-sm mb-4"${_scopeId}> Registrierungen freischalten und Rollen verwalten </p><span class="text-sm text-primary-600 hover:text-primary-700 font-medium"${_scopeId}> Öffnen → </span>`);
} else {
return [
createVNode("div", { class: "flex items-center mb-4" }, [
createVNode("div", { class: "w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4" }, [
createVNode(unref(Users), {
size: 24,
class: "text-primary-600"
})
]),
createVNode("h3", { class: "text-lg font-semibold text-gray-900" }, "Benutzerverwaltung")
]),
createVNode("p", { class: "text-gray-600 text-sm mb-4" }, " Registrierungen freischalten und Rollen verwalten "),
createVNode("span", { class: "text-sm text-primary-600 hover:text-primary-700 font-medium" }, " Öffnen → ")
];
}
}),
_: 1
}, _parent));
_push(`<div class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"><div class="flex items-center mb-4"><div class="w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mr-4">`);
_push(ssrRenderComponent(unref(Image), {
size: 24,
class: "text-primary-600"
}, null, _parent));
_push(`</div><h3 class="text-lg font-semibold text-gray-900">Galerie</h3></div><p class="text-gray-600 text-sm mb-4"> Bilder hochladen und verwalten </p><button class="text-sm text-primary-600 hover:text-primary-700 font-medium"> Öffnen → </button></div></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-CDfPDFNK.mjs.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"index-CDfPDFNK.mjs","sources":["../../../../pages/cms/index.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrInterpolate","_push","_parent","_createVNode","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyGA,IAAA,MAAM,IAAA,GAAO,IAAI,IAAI,CAAA;AAiBrB,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;;mBA3HMA,cAAAA,CAAAC,UAAAA,CAAA,EAAA,KAAA,EAAM,6BAAA,EAA6B,EAAA,MAAA,CAAA,CAAA,CAAA,uVAAA,EASVC,cAAAA,CAAA,IAAA,CAAA,KAAA,EAAM,IAAI,CAAA,CAAA,iVAAA,CAAA,CAAA;;QAYjB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAef,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAejB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;QAa/B,EAAA,EAAG,eAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAgBW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAVG,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAF5BC,cAAAA,WAAAA,CAKM,KAAA,EAAA,EALD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,6EAA2E,EAAA;AAAA,kBACpFA,WAAAA,CAA6CC,KAAAA,CAAA,KAAA,CAAA,EAAA;AAAA,oBAArC,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAE1BD,gBAAAA,WAAAA,CAAuE,IAAA,EAAA,EAAnE,KAAA,EAAM,qCAAA,IAAsC,oBAAkB;AAAA,eAAA,CAAA;AAEpEA,cAAAA,WAAAA,CAEI,GAAA,EAAA,EAFD,KAAA,EAAM,4BAAA,IAA6B,qDAEtC,CAAA;AAAA,cACAA,YAEO,MAAA,EAAA,EAFD,KAAA,EAAM,6DAAA,IAA8D,YAE1E;AAAA,aAAA;;;;;;;QAMY,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,166 @@
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

View File

@@ -0,0 +1 @@
{"version":3,"file":"index-D8nn7-Uy.mjs","sources":["../../../../pages/cms/index.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_createVNode","_unref"],"mappings":"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"}

View File

@@ -397,6 +397,12 @@ const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defin
function toArray(value) {
return Array.isArray(value) ? value : [value];
}
const __nuxt_page_meta$6 = {
layout: "default"
};
const __nuxt_page_meta$5 = {
layout: "default"
};
const __nuxt_page_meta$4 = {
layout: "default"
};
@@ -421,7 +427,7 @@ const _routes = [
{
name: "login",
path: "/login",
meta: __nuxt_page_meta$4 || {},
meta: __nuxt_page_meta$6 || {},
component: () => import('./login-BdWGyHdA.mjs')
},
{
@@ -457,8 +463,8 @@ const _routes = [
{
name: "cms",
path: "/cms",
meta: { "middleware": "auth" },
component: () => import('./index-CDfPDFNK.mjs')
meta: { ...__nuxt_page_meta$5 || {}, ...{ "middleware": "auth" } },
component: () => import('./index-D8nn7-Uy.mjs')
},
{
name: "impressum",
@@ -480,6 +486,12 @@ const _routes = [
path: "/geschichte",
component: () => import('./geschichte-DSCikZtf.mjs')
},
{
name: "cms-termine",
path: "/cms/termine",
meta: { ...__nuxt_page_meta$4 || {}, ...{ "middleware": "auth" } },
component: () => import('./termine-TZyY9Wk0.mjs')
},
{
name: "cms-benutzer",
path: "/cms/benutzer",

View File

@@ -1 +1 @@
{"version":3,"file":"server.mjs","sources":["../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Ffetch.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fglobal-polyfills.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fnuxt.config.mjs","../../../../node_modules/nuxt/dist/app/nuxt.js","../../../../node_modules/nuxt/dist/app/components/injections.js","../../../../node_modules/nuxt/dist/app/utils.js","../../../../node_modules/nuxt/dist/app/composables/router.js","../../../../node_modules/nuxt/dist/app/composables/error.js","../../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../../node_modules/nuxt/dist/app/composables/payload.js","../../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froutes.mjs","../../../../node_modules/nuxt/dist/app/components/utils.js","../../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Frouter.options.mjs","../../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../../stores/auth.js","../../../../middleware/auth.global.js","../../../../node_modules/nuxt/dist/app/middleware/manifest-route-rule.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fmiddleware.mjs","../../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../../node_modules/nuxt/dist/app/components/client-only.js","../../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.plugin.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fplugins.server.mjs","../../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../../assets/images/logos/Harheimer TC.svg","../../../../components/Navigation.vue","../../../../components/Footer.vue","../../../../app.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":null,"names":["$fetch","plugin","provide","plugins","createH3Error","createRadixRouter","login1RYyYL8mxx17qR_nmdKvywxx7lKOLXMFu8pTLfvTLYwMeta","newsPHTXuxdDl4fgPHQQbukE_XsTEemyPOWVSYs64f8qjC4Meta","indexqVbusfljIJ04j42RIA_KP4bSP7XytQIXdqcVfR3kPUAMeta","profilyVBy_UvZ8KvchY44_0SJbB0NHOad6MC_S9C8wfDdUWEMeta","mitglieder9TWncRC_sSS_zPWzxBDlRiNjjFojXSJny_uernMe_tAMeta","__executeAsync","createRouter","entry","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useRoute","_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_imports_0","_createVNode","_ssrRenderClass","_unref","_ssrRenderList","_ssrInterpolate","_createTextVNode","_toDisplayString","useRouter","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,36,37,38]}
{"version":3,"file":"server.mjs","sources":["../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Ffetch.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fglobal-polyfills.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fnuxt.config.mjs","../../../../node_modules/nuxt/dist/app/nuxt.js","../../../../node_modules/nuxt/dist/app/components/injections.js","../../../../node_modules/nuxt/dist/app/utils.js","../../../../node_modules/nuxt/dist/app/composables/router.js","../../../../node_modules/nuxt/dist/app/composables/error.js","../../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../../node_modules/nuxt/dist/app/composables/payload.js","../../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froutes.mjs","../../../../node_modules/nuxt/dist/app/components/utils.js","../../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Frouter.options.mjs","../../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../../stores/auth.js","../../../../middleware/auth.global.js","../../../../node_modules/nuxt/dist/app/middleware/manifest-route-rule.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fmiddleware.mjs","../../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../../node_modules/nuxt/dist/app/components/client-only.js","../../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.plugin.mjs","../../../../virtual:nuxt:%2Fmnt%2Fshare%2Ftorsten%2FPrograms%2Fharheimertc%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fplugins.server.mjs","../../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../../assets/images/logos/Harheimer TC.svg","../../../../components/Navigation.vue","../../../../components/Footer.vue","../../../../app.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":null,"names":["$fetch","plugin","provide","plugins","createH3Error","createRadixRouter","login1RYyYL8mxx17qR_nmdKvywxx7lKOLXMFu8pTLfvTLYwMeta","indexBAhz9QmEiLA6QGDd6cSKraFX9E0RhZLvBUZorkJgAVkMeta","termineaIqWCm431cOVikspmAA3_6UhrHiffuFLM_t95ydtEd4Meta","newsPHTXuxdDl4fgPHQQbukE_XsTEemyPOWVSYs64f8qjC4Meta","indexqVbusfljIJ04j42RIA_KP4bSP7XytQIXdqcVfR3kPUAMeta","profilyVBy_UvZ8KvchY44_0SJbB0NHOad6MC_S9C8wfDdUWEMeta","mitglieder9TWncRC_sSS_zPWzxBDlRiNjjFojXSJny_uernMe_tAMeta","__executeAsync","createRouter","entry","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useRoute","_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_imports_0","_createVNode","_ssrRenderClass","_unref","_ssrRenderList","_ssrInterpolate","_createTextVNode","_toDisplayString","useRouter","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,36,37,38]}

View File

@@ -2,12 +2,12 @@ const interopDefault = r => r.default || r || [];
const styles = {
"node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=b728498f&lang.css": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault),
"components/Hero.vue": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault),
"components/PublicNews.vue": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault),
"components/Hero.vue?vue&type=style&index=0&scoped=779d39d7&lang.css": () => import('./Hero-styles.03iOjY05.mjs').then(interopDefault),
"components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault)
"components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=b728498f&lang.css": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault)
};
export { styles as default };

View File

@@ -0,0 +1,123 @@
import { ref, mergeProps, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer';
import { Plus, Loader2, Trash2, AlertCircle } from 'lucide-vue-next';
import { u as useAuthStore } from './server.mjs';
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: "termine",
__ssrInlineRender: true,
setup(__props) {
useAuthStore();
const isLoading = ref(true);
const isSaving = ref(false);
const termine = ref([]);
const showModal = ref(false);
const errorMessage = ref("");
const formData = ref({
datum: "",
titel: "",
beschreibung: "",
kategorie: "Sonstiges"
});
const formatDate = (dateString) => {
if (!dateString) return "";
const date = new Date(dateString);
return date.toLocaleDateString("de-DE", {
year: "numeric",
month: "2-digit",
day: "2-digit"
});
};
useHead({
title: "Termine verwalten - Harheimer TC"
});
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-full py-16 bg-gray-50" }, _attrs))}><div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center mb-6"><div><h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"> Termine verwalten </h1><div class="w-24 h-1 bg-primary-600 mb-4"></div></div><button class="flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors">`);
_push(ssrRenderComponent(unref(Plus), {
size: 20,
class: "mr-2"
}, null, _parent));
_push(` Termin hinzufügen </button></div>`);
if (isLoading.value) {
_push(`<div class="flex items-center justify-center py-12">`);
_push(ssrRenderComponent(unref(Loader2), {
size: 40,
class: "animate-spin text-primary-600"
}, null, _parent));
_push(`</div>`);
} else {
_push(`<div class="bg-white rounded-xl shadow-lg overflow-hidden"><div class="overflow-x-auto"><table class="min-w-full divide-y divide-gray-200"><thead class="bg-gray-50"><tr><th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Datum</th><th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Titel</th><th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Beschreibung</th><th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Kategorie</th><th class="px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">Aktionen</th></tr></thead><tbody class="bg-white divide-y divide-gray-200"><!--[-->`);
ssrRenderList(termine.value, (termin) => {
_push(`<tr class="hover:bg-gray-50"><td class="px-4 py-3 whitespace-nowrap text-sm text-gray-900">${ssrInterpolate(formatDate(termin.datum))}</td><td class="px-4 py-3 text-sm font-medium text-gray-900">${ssrInterpolate(termin.titel)}</td><td class="px-4 py-3 text-sm text-gray-600">${ssrInterpolate(termin.beschreibung || "-")}</td><td class="px-4 py-3 whitespace-nowrap"><span class="${ssrRenderClass([{
"bg-blue-100 text-blue-800": termin.kategorie === "Training",
"bg-green-100 text-green-800": termin.kategorie === "Punktspiel",
"bg-purple-100 text-purple-800": termin.kategorie === "Turnier",
"bg-yellow-100 text-yellow-800": termin.kategorie === "Veranstaltung",
"bg-gray-100 text-gray-800": termin.kategorie === "Sonstiges"
}, "px-2 py-1 text-xs font-medium rounded-full"])}">${ssrInterpolate(termin.kategorie)}</span></td><td class="px-4 py-3 whitespace-nowrap text-right text-sm font-medium"><button class="text-red-600 hover:text-red-900" title="Löschen">`);
_push(ssrRenderComponent(unref(Trash2), { size: 18 }, null, _parent));
_push(`</button></td></tr>`);
});
_push(`<!--]--></tbody></table></div>`);
if (termine.value.length === 0) {
_push(`<div class="text-center py-12 text-gray-500"> Keine Termine vorhanden. </div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
}
if (showModal.value) {
_push(`<div class="fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4"><div class="bg-white rounded-xl shadow-2xl max-w-2xl w-full p-8"><h2 class="text-2xl font-display font-bold text-gray-900 mb-6"> Termin hinzufügen </h2><form class="space-y-4"><div class="grid grid-cols-2 gap-4"><div><label class="block text-sm font-medium text-gray-700 mb-2">Datum *</label><input${ssrRenderAttr("value", formData.value.datum)} type="date" required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}></div><div><label class="block text-sm font-medium text-gray-700 mb-2">Kategorie *</label><select required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}><option value="Training"${ssrIncludeBooleanAttr(Array.isArray(formData.value.kategorie) ? ssrLooseContain(formData.value.kategorie, "Training") : ssrLooseEqual(formData.value.kategorie, "Training")) ? " selected" : ""}>Training</option><option value="Punktspiel"${ssrIncludeBooleanAttr(Array.isArray(formData.value.kategorie) ? ssrLooseContain(formData.value.kategorie, "Punktspiel") : ssrLooseEqual(formData.value.kategorie, "Punktspiel")) ? " selected" : ""}>Punktspiel</option><option value="Turnier"${ssrIncludeBooleanAttr(Array.isArray(formData.value.kategorie) ? ssrLooseContain(formData.value.kategorie, "Turnier") : ssrLooseEqual(formData.value.kategorie, "Turnier")) ? " selected" : ""}>Turnier</option><option value="Veranstaltung"${ssrIncludeBooleanAttr(Array.isArray(formData.value.kategorie) ? ssrLooseContain(formData.value.kategorie, "Veranstaltung") : ssrLooseEqual(formData.value.kategorie, "Veranstaltung")) ? " selected" : ""}>Veranstaltung</option><option value="Sonstiges"${ssrIncludeBooleanAttr(Array.isArray(formData.value.kategorie) ? ssrLooseContain(formData.value.kategorie, "Sonstiges") : ssrLooseEqual(formData.value.kategorie, "Sonstiges")) ? " selected" : ""}>Sonstiges</option></select></div></div><div><label class="block text-sm font-medium text-gray-700 mb-2">Titel *</label><input${ssrRenderAttr("value", formData.value.titel)} type="text" required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}></div><div><label class="block text-sm font-medium text-gray-700 mb-2">Beschreibung</label><textarea rows="3" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}>${ssrInterpolate(formData.value.beschreibung)}</textarea></div>`);
if (errorMessage.value) {
_push(`<div class="flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm">`);
_push(ssrRenderComponent(unref(AlertCircle), {
size: 20,
class: "mr-2"
}, null, _parent));
_push(` ${ssrInterpolate(errorMessage.value)}</div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="flex justify-end space-x-4 pt-4"><button type="button" class="px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}> Abbrechen </button><button type="submit" class="px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center"${ssrIncludeBooleanAttr(isSaving.value) ? " disabled" : ""}>`);
if (isSaving.value) {
_push(ssrRenderComponent(unref(Loader2), {
size: 20,
class: "animate-spin mr-2"
}, null, _parent));
} else {
_push(`<!---->`);
}
_push(`<span>${ssrInterpolate(isSaving.value ? "Speichert..." : "Speichern")}</span></button></div></form></div></div>`);
} else {
_push(`<!---->`);
}
_push(`</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/termine.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=termine-TZyY9Wk0.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"termine-TZyY9Wk0.mjs","sources":["../../../../pages/cms/termine.vue"],"sourcesContent":null,"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderList","_ssrInterpolate","_ssrRenderComponent","_unref","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiLkB,IAAA,YAAA,EAAY;AAE9B,IAAA,MAAM,SAAA,GAAY,IAAI,IAAI,CAAA;AAC1B,IAAA,MAAM,QAAA,GAAW,IAAI,KAAK,CAAA;AAC1B,IAAA,MAAM,OAAA,GAAU,GAAA,CAAI,EAAE,CAAA;AACtB,IAAA,MAAM,SAAA,GAAY,IAAI,KAAK,CAAA;AAC3B,IAAA,MAAM,YAAA,GAAe,IAAI,EAAE,CAAA;AAE3B,IAAA,MAAM,WAAW,GAAA,CAAI;AAAA,MACnB,KAAA,EAAO,EAAA;AAAA,MACP,KAAA,EAAO,EAAA;AAAA,MACP,YAAA,EAAc,EAAA;AAAA,MACd,SAAA,EAAW;AAAA,KACZ,CAAA;AAwED,IAAA,MAAM,UAAA,GAAa,CAAC,UAAA,KAAe;AACjC,MAAA,IAAI,CAAC,YAAY,OAAO,EAAA;AACxB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,mBAAmB,OAAA,EAAS;AAAA,QACtC,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,SAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN,CAAA;AAAA,IACH,CAAA;AAWA,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACR,CAAA;;AA1RM,MAAA,KAAA,CAAA,CAAA,IAAA,EAAAA,eAAAC,UAAAA,CAAA,EAAA,OAAM,6BAAA,EAAA,EAA6B,MAAA,CAAA,CAAA,CAAA,6YAAA,CAAA,CAAA;;QAazB,IAAA,EAAM,EAAA;AAAA,QAAI,KAAA,EAAM;AAAA,OAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;AAMhB,MAAA,IAAA,SAAA,CAAA,KAAA,EAAS;;;UACR,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;AAiBCC,QAAAA,aAAAA,CAAA,OAAA,CAAA,QAAV,MAAA,KAAM;6HAEV,UAAA,CAAW,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,6DAAA,EAGvBC,cAAAA,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA,iDAAA,EAGZA,cAAAA,CAAA,MAAA,CAAO,YAAA,IAAY,GAAA,CAAA,CAAA,0DAAA,EAAA,cAAA,CAAA,CAAA;AAIyC,YAAA,2BAAA,EAAA,OAAO,SAAA,KAAS,UAAA;AAAA,YAAsE,6BAAA,EAAA,OAAO,SAAA,KAAS,YAAA;AAAA,YAA0E,+BAAA,EAAA,OAAO,SAAA,KAAS,SAAA;AAAA,YAAuE,+BAAA,EAAA,OAAO,SAAA,KAAS,eAAA;AAAA,YAAyE,2BAAA,EAAA,OAAO,SAAA,KAAS;AAAA,WAAA,EAAA,4CAAA,CAAA,CAAA,CAAA,EAAA,EAS1aA,cAAAA,CAAA,OAAO,SAAS,CAAA,CAAA,mJAAA,CAAA,CAAA;AASV,UAAA,KAAA,CAAAC,kBAAAA,CAAAC,KAAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,EAAA,EAAE,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;AAQlB,QAAA,IAAA,OAAA,CAAA,KAAA,CAAQ,MAAA,KAAM,CAAA,EAAA;;;;;;;AAOnB,MAAA,IAAA,SAAA,CAAA,KAAA,EAAS;AAcIC,QAAAA,KAAAA,CAAAA,CAAAA,2XAAAA,EAAAA,aAAAA,CAAA,OAAA,EAAA,QAAA,CAAA,KAAA,CAAS,KAAK,iKAIZ,QAAA,CAAA,KAAQ,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,6NAAA,EAAA,qBAAA,CAUR,QAAA,CAAA,KAAQ,CAAA,GAAA,cAAA,EAAA,CAAA,yBAAA,EAHVC,qBAAAA,CAAA,KAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAS,CAAA,GAAlBC,gBAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,UAAA,IAAlBC,aAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,UAAA,CAAA,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,4CAAA,EAAlBF,qBAAAA,CAAA,KAAA,CAAA,OAAA,CAAA,QAAA,CAAA,MAAS,SAAS,CAAA,GAAlBC,eAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,YAAA,CAAA,GAAlBC,cAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,YAAA,CAAA,CAAA,GAAA,WAAA,GAAA,EAAA,CAAA,2CAAA,EAAlBF,sBAAA,KAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAS,CAAA,GAAlBC,eAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,WAAS,SAAA,CAAA,GAAlBC,aAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,SAAA,CAAA,IAAA,WAAA,GAAA,EAAA,CAAA,8CAAA,EAAlBF,qBAAAA,CAAA,KAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAS,IAAlBC,eAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,eAAA,CAAA,GAAlBC,aAAAA,CAAA,QAAA,CAAA,MAAS,SAAA,EAAS,eAAA,CAAA,CAAA,GAAA,cAAA,EAAA,CAAA,gDAAA,EAAlBF,qBAAAA,CAAA,KAAA,CAAA,OAAA,CAAA,SAAA,KAAA,CAAS,SAAS,CAAA,GAAlBC,eAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,WAAA,IAAlBC,aAAAA,CAAA,QAAA,CAAA,KAAA,CAAS,SAAA,EAAS,WAAA,CAAA,CAAA,GAAA,WAAA,GAAA,mIAiBpBH,aAAAA,CAAA,OAAA,EAAA,QAAA,CAAA,KAAA,CAAS,KAAK,CAAA,CAAA,uIAAA,EAAA,qBAAA,CAIZ,QAAA,CAAA,KAAQ,IAAA,WAAA,GAAA,EAAA,CAAA,gOAAA,EAAA,qBAAA,CAUR,QAAA,CAAA,KAAQ,IAAA,WAAA,GAAA,EAAA,CAAA,CAAA,EAHVH,cAAAA,CAAA,QAAA,CAAA,MAAS,YAAY,CAAA,CAAA,iBAAA,CAAA,CAAA;AAOvB,QAAA,IAAA,YAAA,CAAA,KAAA,EAAY;;;YACP,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;mCAC3B,YAAA,CAAA,KAAY,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,QAAA,CAAA,MAAA;;;AAQF,QAAA,KAAA,CAAA,CAAA,uKAAA,EAAA,qBAAA,CAAA,QAAA,CAAA,KAAQ,CAAA,GAAA,WAAA,GAAA,mMAOR,QAAA,CAAA,KAAQ,IAAA,WAAA,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAEJ,QAAA,IAAA,QAAA,CAAA,KAAA,EAAQ;;YAAG,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;AACjC,QAAA,KAAA,CAAA,CAAA,MAAA,EAAA,cAAA,CAAA,QAAA,CAAA,KAAA,GAAQ,cAAA,GAAA,WAAA,CAAA,CAAA,yCAAA,CAAA,CAAA;AAAA,MAAA,CAAA,MAAA;;;;;;;;;;;;;;;;"}

View File

@@ -4293,7 +4293,7 @@ function _expandFromEnv(value) {
const _inlineRuntimeConfig = {
"app": {
"baseURL": "/",
"buildId": "3a0403e7-f742-4a46-8731-aef781f88d6b",
"buildId": "e3471523-9d80-4085-b77f-94b960db296e",
"buildAssetsDir": "/_nuxt/",
"cdnURL": ""
},
@@ -4738,558 +4738,579 @@ const plugins = [
];
const assets = {
"/data/mannschaften.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"858-l94GKn8Q0I5RQnhrM0ZPJsYUmcw\"",
"mtime": "2025-10-21T13:54:19.362Z",
"size": 2136,
"path": "../public/data/mannschaften.csv"
},
"/data/spielsysteme.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"9bc-4npLrNHYClsD0TKV5vSifxitfV0\"",
"mtime": "2025-10-21T13:54:19.362Z",
"size": 2492,
"path": "../public/data/spielsysteme.csv"
},
"/data/termine.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"2e8-sZtaHF6QRmOQHinTWOLAYRgo6xk\"",
"mtime": "2025-10-21T13:54:19.362Z",
"size": 744,
"path": "../public/data/termine.csv"
},
"/data/vereinsmeisterschaften.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"989-X8AB+Zegy2xUbjDtbQcXhuuyBDQ\"",
"mtime": "2025-10-21T13:54:19.362Z",
"size": 2441,
"path": "../public/data/vereinsmeisterschaften.csv"
},
"/documents/Tischtennisregeln light.pdf": {
"type": "application/pdf",
"etag": "\"5177b-y/88q2+Y3RRechJMqWhse21KRdQ\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 333691,
"path": "../public/documents/Tischtennisregeln light.pdf"
},
"/documents/satzung.pdf": {
"type": "application/pdf",
"etag": "\"5c7cf-L0A3nT8D24T9sD57FFbij3QRpzw\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 378831,
"path": "../public/documents/satzung.pdf"
},
"/data/mannschaften.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"858-l94GKn8Q0I5RQnhrM0ZPJsYUmcw\"",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 2136,
"path": "../public/data/mannschaften.csv"
},
"/data/spielsysteme.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"9bc-4npLrNHYClsD0TKV5vSifxitfV0\"",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 2492,
"path": "../public/data/spielsysteme.csv"
},
"/data/termine.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"2e8-sZtaHF6QRmOQHinTWOLAYRgo6xk\"",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 744,
"path": "../public/data/termine.csv"
},
"/data/vereinsmeisterschaften.csv": {
"type": "text/csv; charset=utf-8",
"etag": "\"989-X8AB+Zegy2xUbjDtbQcXhuuyBDQ\"",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 2441,
"path": "../public/data/vereinsmeisterschaften.csv"
},
"/images/club_about_us.png": {
"type": "image/png",
"etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 2109014,
"path": "../public/images/club_about_us.png"
},
"/_nuxt/6EY4_GXp.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"19e-CzjelZROfgCPWyXIjP0DPtd+UHQ\"",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 414,
"path": "../public/_nuxt/6EY4_GXp.js"
},
"/_nuxt/B23trXK4.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1168-Ulrp7wDqGkKdNtiJFHTxmUmXldI\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 4456,
"path": "../public/_nuxt/B23trXK4.js"
},
"/_nuxt/B3KXwwdt.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"81f-a2SnM+umqZ4dmwPE80AuhD/ofeY\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 2079,
"path": "../public/_nuxt/B3KXwwdt.js"
},
"/_nuxt/B4mSF5Ac.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"185-hHs3mU4qOcQAkGQaPrUYGaG0yao\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 389,
"path": "../public/_nuxt/B4mSF5Ac.js"
},
"/_nuxt/B6D6IUyr.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1caa-f0LHEJnh8vjws3WqSSLU08uswXA\"",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 7338,
"path": "../public/_nuxt/B6D6IUyr.js"
},
"/_nuxt/B6TEfPSg.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"faa-eKvxmyzZhwTvzR8CVB/YoBNhWPw\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 4010,
"path": "../public/_nuxt/B6TEfPSg.js"
},
"/_nuxt/B94vUBDm.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"23f5-XOrzblQBbbg+gHCtcftlnEMApxI\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 9205,
"path": "../public/_nuxt/B94vUBDm.js"
},
"/_nuxt/BASo1Rw1.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1a9f-AETC+kRrTxOyu6uck7TEQ709m7k\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 6815,
"path": "../public/_nuxt/BASo1Rw1.js"
},
"/_nuxt/BC4PNGtJ.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"175-33lu59Ps/+kwbPv/hVeUdrq4wmI\"",
"mtime": "2025-10-21T13:54:19.357Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 373,
"path": "../public/_nuxt/BC4PNGtJ.js"
},
"/_nuxt/BCCaC8ND.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"32da7-O2gZw6n37r3FFdNIKoNszDHmCAU\"",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 208295,
"path": "../public/_nuxt/BCCaC8ND.js"
},
"/_nuxt/BGsE9M8w.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1dc5-wDAFBA19AfN1chv6Fou4TR+Ocyk\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 7621,
"path": "../public/_nuxt/BGsE9M8w.js"
},
"/_nuxt/BRhWghMt.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"16e9-77KyMLdoERbk/9I/4xig919AOCQ\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 5865,
"path": "../public/_nuxt/BRhWghMt.js"
},
"/_nuxt/BU5mk92E.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"2029-KCj/1gSBJVISCuMvs9MA7PoIdnY\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 8233,
"path": "../public/_nuxt/BU5mk92E.js"
},
"/_nuxt/BZLaJF8o.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"685-ABktMZGm1wLg51VMeeUc8FwDm3U\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 1669,
"path": "../public/_nuxt/BZLaJF8o.js"
},
"/_nuxt/Bdk8d7qx.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"11e7-YYqkAkZMNacy1r/CaMWBfPJ94OU\"",
"mtime": "2025-10-21T13:54:19.358Z",
"size": 4583,
"path": "../public/_nuxt/Bdk8d7qx.js"
},
"/_nuxt/BjiYAScN.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"13f6-Hw3IRFNgh5L2rLxP61MG/cT8NzA\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 5110,
"path": "../public/_nuxt/BjiYAScN.js"
},
"/_nuxt/Bn7G3VMx.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"16eb-6SRn6aWwajUUKphf99cu+aqdGpU\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 5867,
"path": "../public/_nuxt/Bn7G3VMx.js"
},
"/_nuxt/BteKZQ9T.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1ea-kmrGdt5SPmt15EiBI7kR9gXMQM0\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 490,
"path": "../public/_nuxt/BteKZQ9T.js"
},
"/_nuxt/BxR6w-Hd.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"5f0-Wm3M/7i81O9ViLRC6jPn0eQp24g\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 1520,
"path": "../public/_nuxt/BxR6w-Hd.js"
},
"/_nuxt/C-bqeYjt.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"3513-AcHmeXV6b+tvCtqgBG6EnnxPL8w\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 13587,
"path": "../public/_nuxt/C-bqeYjt.js"
},
"/_nuxt/C1eD6HzQ.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"abb-rmFamqyRm9KsgptRPeFJlFZ7AdI\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 2747,
"path": "../public/_nuxt/C1eD6HzQ.js"
},
"/_nuxt/C5SyyWEb.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"2a5-06iX+CL3i0ysaqW9nu7Eg2YzDhQ\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 677,
"path": "../public/_nuxt/C5SyyWEb.js"
},
"/_nuxt/C5WkR1xp.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"b10-7bTi/rXEsVv7CfCAujimlOWU3q0\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 2832,
"path": "../public/_nuxt/C5WkR1xp.js"
},
"/_nuxt/C8kQt0fa.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"197-7X99z1xphxry8OnMwU7Ofs/uE0Q\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 407,
"path": "../public/_nuxt/C8kQt0fa.js"
},
"/_nuxt/C9SglkVL.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"ee2-953PjDhBAep38tbBTU3/pMqFyww\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 3810,
"path": "../public/_nuxt/C9SglkVL.js"
},
"/_nuxt/C9UhLsiJ.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1744-UhJxrXDy4uAkLfPpSs6j/m/gx64\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 5956,
"path": "../public/_nuxt/C9UhLsiJ.js"
},
"/_nuxt/CGpRzXRB.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"37d-FnxQohNMb8l0n0XcPv+1bmf1WCE\"",
"mtime": "2025-10-21T13:54:19.358Z",
"size": 893,
"path": "../public/_nuxt/CGpRzXRB.js"
},
"/_nuxt/CI8YYLGa.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"d8b-SdM/XDodrfUIexPUk7MhxL0ud70\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 3467,
"path": "../public/_nuxt/CI8YYLGa.js"
},
"/_nuxt/COK-PGSA.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1556-zTPwefaXANTxfUv6X27Ctd3j468\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 5462,
"path": "../public/_nuxt/COK-PGSA.js"
},
"/_nuxt/CT6VfTlB.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"10bb-m3q/ne67feCvdLmlKowXgEW18XE\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 4283,
"path": "../public/_nuxt/CT6VfTlB.js"
},
"/_nuxt/CTuRK0lH.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"177f-9AHJLxzT1QXHm05RkMKEx5CuaVU\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 6015,
"path": "../public/_nuxt/CTuRK0lH.js"
},
"/_nuxt/CUq_0rkE.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"12d-JV4KW1fgT85/V3Ap13X4q2h9U3g\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 301,
"path": "../public/_nuxt/CUq_0rkE.js"
},
"/_nuxt/CW9krljs.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"dbf-R7lqTpP/JoeELqrwiRklrTVdlP0\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.240Z",
"size": 3519,
"path": "../public/_nuxt/CW9krljs.js"
},
"/_nuxt/CWEkTB1z.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"198-ej4DRqc3/5nSwWU3c6wbOD3Ib9w\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 408,
"path": "../public/_nuxt/CWEkTB1z.js"
},
"/_nuxt/C_U-NUAd.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"13f-zgvIssSMnG3JGf/eGC7PlZzbsiY\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 319,
"path": "../public/_nuxt/C_U-NUAd.js"
},
"/_nuxt/C_WhudVk.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1bf1-XdN7fXc2gdc10e+UjwTP0N6qVlM\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 7153,
"path": "../public/_nuxt/C_WhudVk.js"
},
"/_nuxt/CkzaQq3X.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"17d-+xKrHjeww4bpFFkkjUNLD/ebn5A\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 381,
"path": "../public/_nuxt/CkzaQq3X.js"
},
"/_nuxt/CrCcIvVp.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"274-9U7hEMtgHqdnQopnKeJsBKqKyKw\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 628,
"path": "../public/_nuxt/CrCcIvVp.js"
},
"/_nuxt/CvtlfSR0.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1860-M3/zR8vfhVWmJ6erGqFzdHXQXuE\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 6240,
"path": "../public/_nuxt/CvtlfSR0.js"
},
"/_nuxt/Cx4UcKGu.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"19d-5AMD0EnFEjOkM3qKDpC/NZZzwDI\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 413,
"path": "../public/_nuxt/Cx4UcKGu.js"
},
"/_nuxt/Czdc6-TI.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"165-EMJ/yP2qajGIw0CL3y+L/hvMM/8\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 357,
"path": "../public/_nuxt/Czdc6-TI.js"
},
"/_nuxt/D11oUMHK.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1d9a-l6JEyKxxIcbq3Kkksqm5qE2ZWj4\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 7578,
"path": "../public/_nuxt/D11oUMHK.js"
},
"/_nuxt/D43Z0o-f.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"32c8e-LLbrtE0SvQkEnQ4ry/ZcUybqPmQ\"",
"mtime": "2025-10-21T13:54:19.358Z",
"size": 208014,
"path": "../public/_nuxt/D43Z0o-f.js"
},
"/_nuxt/D99LnZYi.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1bdb-/r79rlmI33Ifam5FH18djsiUTQ8\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 7131,
"path": "../public/_nuxt/D99LnZYi.js"
},
"/_nuxt/DAACT36i.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1f9-dVOk5jAwb0VlMLJevIcT+s2NTgM\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 505,
"path": "../public/_nuxt/DAACT36i.js"
},
"/_nuxt/DHQur1V-.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1827-DA/YFWxSxxRm0zvcpiuZvwwfzNE\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 6183,
"path": "../public/_nuxt/DHQur1V-.js"
},
"/_nuxt/DHyEjCGa.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"32fe-VSxurpuilGQ4TRWdhAA33cNuch8\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 13054,
"path": "../public/_nuxt/DHyEjCGa.js"
},
"/_nuxt/DO_5fT64.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"ee9-WtDRTNEDfy6I0NU2Tqtbk59RKXQ\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 3817,
"path": "../public/_nuxt/DO_5fT64.js"
},
"/_nuxt/DaSgy0Cl.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"11f-soKnh1qfNJj5nvt+IcgQXYvg/z4\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 287,
"path": "../public/_nuxt/DaSgy0Cl.js"
},
"/_nuxt/DdHhmCne.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"22d-uKYfhsDcUsz2NrXOJmxptUGZdyE\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 557,
"path": "../public/_nuxt/DdHhmCne.js"
},
"/_nuxt/DjcJk1g8.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"201d-oQ9NMDE0anKxIZA105IRItTlM2w\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 8221,
"path": "../public/_nuxt/DjcJk1g8.js"
},
"/_nuxt/DkeYb0_S.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1ce-xiaAbRvqQ+zffTXF3Gc7rq14R0U\"",
"mtime": "2025-10-21T13:54:19.358Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 462,
"path": "../public/_nuxt/DkeYb0_S.js"
},
"/_nuxt/DlAUqK2U.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 91,
"path": "../public/_nuxt/DlAUqK2U.js"
},
"/_nuxt/DvrqIJw1.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"dfc-YqdcBHK+H9m+Gjgl+qCwmlBEIX0\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 3580,
"path": "../public/_nuxt/DvrqIJw1.js"
},
"/_nuxt/Dx1KRsmK.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1d86-kU610bWwsXBL249yP4W8lasEh3c\"",
"mtime": "2025-10-21T13:54:19.359Z",
"size": 7558,
"path": "../public/_nuxt/Dx1KRsmK.js"
},
"/_nuxt/DxIIJuzj.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"bf0-Q7VHINZ8z6pKO1o0BhgbcvRgIr0\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 3056,
"path": "../public/_nuxt/DxIIJuzj.js"
},
"/_nuxt/FF_cyd6S.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"203-rairGPfunSg/yCk4txod3zRSZus\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 515,
"path": "../public/_nuxt/FF_cyd6S.js"
},
"/_nuxt/Harheimer TC.CKfYAfp1.svg": {
"type": "image/svg+xml",
"etag": "\"1d2535-Tx2lTuuFn2hBqGZOnDan3/OdRU0\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 1910069,
"path": "../public/_nuxt/Harheimer TC.CKfYAfp1.svg"
},
"/_nuxt/KxVBmS-6.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"190-F0LVEAqwB2LwyGzW0v9yzLx0v/0\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 400,
"path": "../public/_nuxt/KxVBmS-6.js"
},
"/_nuxt/LPF2GIYR.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"557-80ya3yG6VaGTcTbyJrpOfIs1ttU\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 1367,
"path": "../public/_nuxt/LPF2GIYR.js"
},
"/_nuxt/R6Iy1jPP.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"137-QCUizOitouzMVC2drCYFTAZmqPU\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 311,
"path": "../public/_nuxt/R6Iy1jPP.js"
},
"/_nuxt/XZ6RV9KH.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"175-xr1poEaGS4yjOp907AsRAr6XHLI\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 373,
"path": "../public/_nuxt/XZ6RV9KH.js"
},
"/_nuxt/YJHbYJtA.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"19f-nQw578pUen9o8yYaMA8Bwag6xho\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 415,
"path": "../public/_nuxt/YJHbYJtA.js"
},
"/_nuxt/entry.BbGskshJ.css": {
"/_nuxt/entry.BiMUV0e6.css": {
"type": "text/css; charset=utf-8",
"etag": "\"b49b-DhLpGn2VN/6EPp9+uW1fcsLCSBk\"",
"mtime": "2025-10-21T13:54:19.359Z",
"size": 46235,
"path": "../public/_nuxt/entry.BbGskshJ.css"
"etag": "\"b6b5-4tROyfyiyXwQn9zULcEaO31UovY\"",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 46773,
"path": "../public/_nuxt/entry.BiMUV0e6.css"
},
"/_nuxt/error-404.CbXQcqJW.css": {
"type": "text/css; charset=utf-8",
"etag": "\"97e-Ty5bTTSEudJkO/DsGUoIf37xYxc\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.241Z",
"size": 2430,
"path": "../public/_nuxt/error-404.CbXQcqJW.css"
},
"/_nuxt/error-500.L485xXhD.css": {
"type": "text/css; charset=utf-8",
"etag": "\"773-jNt1QdCa+iqaSZb1mv/IQWC5p6w\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 1907,
"path": "../public/_nuxt/error-500.L485xXhD.css"
},
"/_nuxt/index.ByttcLyP.css": {
"type": "text/css; charset=utf-8",
"etag": "\"1db-P3imbnjv59PWVm0HNpwpfdEtAK4\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 475,
"path": "../public/_nuxt/index.ByttcLyP.css"
},
"/_nuxt/jVj3QaoK.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"196-xWXv220Sy3kJeouwzrQ/gnXllWQ\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 406,
"path": "../public/_nuxt/jVj3QaoK.js"
},
"/_nuxt/nrzLFm_7.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"32e3-ybdqGbfFawjPOvyY2mCJu5CTjkg\"",
"mtime": "2025-10-21T13:54:19.359Z",
"size": 13027,
"path": "../public/_nuxt/nrzLFm_7.js"
},
"/_nuxt/oN0_bS6A.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1d3-DKhiaT2RUlSXk55jBttctUuTQQI\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 467,
"path": "../public/_nuxt/oN0_bS6A.js"
},
"/_nuxt/rgKTeSYE.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"e71-IzPUyj76F9mR9c9DaEV7x6UlmP0\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 3697,
"path": "../public/_nuxt/rgKTeSYE.js"
},
"/_nuxt/sVyj_WZX.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"4d4-T+i1jfWN+C61xV/Shhjh8+auLuI\"",
"mtime": "2025-10-21T13:54:19.359Z",
"mtime": "2025-10-21T13:58:02.242Z",
"size": 1236,
"path": "../public/_nuxt/sVyj_WZX.js"
},
"/spielplaene/1. Mannschaft 20252026.pdf": {
"type": "application/pdf",
"etag": "\"64c6-+477M+gD/spwpWR9NO/tMJ/inCc\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 25798,
"path": "../public/spielplaene/1. Mannschaft 20252026.pdf"
},
"/spielplaene/2. Mannschaft 20252026.pdf": {
"type": "application/pdf",
"etag": "\"5bfa-DRJMHLV15iss67lEISoGqSYmZjE\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 23546,
"path": "../public/spielplaene/2. Mannschaft 20252026.pdf"
},
"/spielplaene/3. Mannschaft 20252026.pdf": {
"type": "application/pdf",
"etag": "\"7447-w933CPQdXhkWJ2AZOVdY0UgJnPo\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 29767,
"path": "../public/spielplaene/3. Mannschaft 20252026.pdf"
},
"/spielplaene/4. Mannschaft 20252026.pdf": {
"type": "application/pdf",
"etag": "\"6a9b-4TPGn1yQlFUMRj7oB43SN//Np9o\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 27291,
"path": "../public/spielplaene/4. Mannschaft 20252026.pdf"
},
"/spielplaene/5. Mannschaft 20252026.pdf": {
"type": "application/pdf",
"etag": "\"6523-5VUfCMaoiNhcwHhptHHTVJ3lSwQ\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 25891,
"path": "../public/spielplaene/5. Mannschaft 20252026.pdf"
},
"/spielplaene/Jugend 11 20252026.pdf": {
"type": "application/pdf",
"etag": "\"52e9-3Rrk9UKUxPh80pBJ0w9oLVbe5dA\"",
"mtime": "2025-10-21T13:54:19.362Z",
"mtime": "2025-10-21T13:58:02.244Z",
"size": 21225,
"path": "../public/spielplaene/Jugend 11 20252026.pdf"
},
"/images/club_about_us.png": {
"type": "image/png",
"etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"",
"mtime": "2025-10-21T13:54:19.362Z",
"size": 2109014,
"path": "../public/images/club_about_us.png"
},
"/_nuxt/builds/latest.json": {
"type": "application/json",
"etag": "\"47-kVYTDCXn2ek6VAK9NgAHFay0zCg\"",
"mtime": "2025-10-21T13:54:19.351Z",
"etag": "\"47-Rnb+XnukC8xfpVYsxmow9CX3LQE\"",
"mtime": "2025-10-21T13:58:02.232Z",
"size": 71,
"path": "../public/_nuxt/builds/latest.json"
},
"/_nuxt/builds/meta/3a0403e7-f742-4a46-8731-aef781f88d6b.json": {
"/_nuxt/builds/meta/e3471523-9d80-4085-b77f-94b960db296e.json": {
"type": "application/json",
"etag": "\"8b-E/F64hsLBiBq9KU6aTwdVPD8Ynk\"",
"mtime": "2025-10-21T13:54:19.348Z",
"etag": "\"8b-qCPKv1FgFzEut5wINUHTcSatsW0\"",
"mtime": "2025-10-21T13:58:02.228Z",
"size": 139,
"path": "../public/_nuxt/builds/meta/3a0403e7-f742-4a46-8731-aef781f88d6b.json"
"path": "../public/_nuxt/builds/meta/e3471523-9d80-4085-b77f-94b960db296e.json"
}
};
@@ -5524,6 +5545,9 @@ const _lazy_tD4u2W = () => import('../routes/api/news.post.mjs');
const _lazy_FqQY6L = () => import('../routes/api/profile.get.mjs');
const _lazy_m5wCSG = () => import('../routes/api/profile.put.mjs');
const _lazy_JX4TVI = () => import('../routes/api/spielplaene.get.mjs');
const _lazy_OghAE7 = () => import('../routes/api/termine-manage.delete.mjs');
const _lazy_Lts235 = () => import('../routes/api/termine-manage.get.mjs');
const _lazy_t_Wlie = () => import('../routes/api/termine-manage.post.mjs');
const _lazy_43Ciep = () => import('../routes/renderer.mjs').then(function (n) { return n.r; });
const handlers = [
@@ -5550,6 +5574,9 @@ const handlers = [
{ route: '/api/profile', handler: _lazy_FqQY6L, lazy: true, middleware: false, method: "get" },
{ route: '/api/profile', handler: _lazy_m5wCSG, lazy: true, middleware: false, method: "put" },
{ route: '/api/spielplaene', handler: _lazy_JX4TVI, lazy: true, middleware: false, method: "get" },
{ route: '/api/termine-manage', handler: _lazy_OghAE7, lazy: true, middleware: false, method: "delete" },
{ route: '/api/termine-manage', handler: _lazy_Lts235, lazy: true, middleware: false, method: "get" },
{ route: '/api/termine-manage', handler: _lazy_t_Wlie, lazy: true, middleware: false, method: "post" },
{ route: '/__nuxt_error', handler: _lazy_43Ciep, lazy: true, middleware: false, method: undefined },
{ route: '/__nuxt_island/**', handler: _SxA8c9, lazy: false, middleware: false, method: undefined },
{ route: '/**', handler: _lazy_43Ciep, lazy: true, middleware: false, method: undefined }

View File

@@ -0,0 +1,66 @@
import { d as defineEventHandler, g as getCookie, c as createError, b as getQuery } from '../../nitro/nitro.mjs';
import { b as verifyToken, e as getUserById } from '../../_/auth.mjs';
import { d as deleteTermin } from '../../_/termine.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 'bcryptjs';
import 'jsonwebtoken';
import 'fs';
import 'path';
import 'crypto';
const termineManage_delete = defineEventHandler(async (event) => {
try {
const token = getCookie(event, "auth_token");
if (!token) {
throw createError({
statusCode: 401,
message: "Nicht authentifiziert."
});
}
const decoded = verifyToken(token);
if (!decoded) {
throw createError({
statusCode: 401,
message: "Ung\xFCltiges Token."
});
}
const user = await getUserById(decoded.id);
if (!user || user.role !== "admin" && user.role !== "vorstand") {
throw createError({
statusCode: 403,
message: "Keine Berechtigung zum L\xF6schen von Terminen."
});
}
const query = getQuery(event);
const { datum, titel, beschreibung, kategorie } = query;
if (!datum || !titel) {
throw createError({
statusCode: 400,
message: "Datum und Titel sind erforderlich."
});
}
await deleteTermin({
datum,
titel,
beschreibung: beschreibung || "",
kategorie: kategorie || "Sonstiges"
});
return {
success: true,
message: "Termin erfolgreich gel\xF6scht."
};
} catch (error) {
console.error("Fehler beim L\xF6schen des Termins:", error);
throw error;
}
});
export { termineManage_delete as default };
//# sourceMappingURL=termine-manage.delete.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"termine-manage.delete.mjs","sources":["../../../../../server/api/termine-manage.delete.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,6BAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,CAAA,KAAA,EAAA,YAAA,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,OAAA,GAAA,YAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,IAAA,GAAA,MAAA,WAAA,CAAA,OAAA,CAAA,EAAA,CAAA;AAGA,IAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,SAAA,OAAA,IAAA,IAAA,CAAA,SAAA,UAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,WAAA,GAAA,KAAA;AAEA,IAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,YAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA,YAAA,IAAA,EAAA;AAAA,MACA,WAAA,SAAA,IAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,uCAAA,KAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}

View File

@@ -0,0 +1,53 @@
import { d as defineEventHandler, g as getCookie, c as createError } from '../../nitro/nitro.mjs';
import { b as verifyToken, e as getUserById } from '../../_/auth.mjs';
import { r as readTermine } from '../../_/termine.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 'bcryptjs';
import 'jsonwebtoken';
import 'fs';
import 'path';
import 'crypto';
const termineManage_get = defineEventHandler(async (event) => {
try {
const token = getCookie(event, "auth_token");
if (!token) {
throw createError({
statusCode: 401,
message: "Nicht authentifiziert."
});
}
const decoded = verifyToken(token);
if (!decoded) {
throw createError({
statusCode: 401,
message: "Ung\xFCltiges Token."
});
}
const user = await getUserById(decoded.id);
if (!user || user.role !== "admin" && user.role !== "vorstand") {
throw createError({
statusCode: 403,
message: "Keine Berechtigung zum Verwalten von Terminen."
});
}
const termine = await readTermine();
return {
success: true,
termine
};
} catch (error) {
console.error("Fehler beim Abrufen der Termine:", error);
throw error;
}
});
export { termineManage_get as default };
//# sourceMappingURL=termine-manage.get.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"termine-manage.get.mjs","sources":["../../../../../server/api/termine-manage.get.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,0BAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,CAAA,KAAA,EAAA,YAAA,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,OAAA,GAAA,YAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,IAAA,GAAA,MAAA,WAAA,CAAA,OAAA,CAAA,EAAA,CAAA;AAGA,IAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,SAAA,OAAA,IAAA,IAAA,CAAA,SAAA,UAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,OAAA,GAAA,MAAA,WAAA,EAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,oCAAA,KAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}

View File

@@ -0,0 +1,66 @@
import { d as defineEventHandler, g as getCookie, c as createError, r as readBody } from '../../nitro/nitro.mjs';
import { b as verifyToken, e as getUserById } from '../../_/auth.mjs';
import { s as saveTermin } from '../../_/termine.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 'bcryptjs';
import 'jsonwebtoken';
import 'fs';
import 'path';
import 'crypto';
const termineManage_post = defineEventHandler(async (event) => {
try {
const token = getCookie(event, "auth_token");
if (!token) {
throw createError({
statusCode: 401,
message: "Nicht authentifiziert."
});
}
const decoded = verifyToken(token);
if (!decoded) {
throw createError({
statusCode: 401,
message: "Ung\xFCltiges Token."
});
}
const user = await getUserById(decoded.id);
if (!user || user.role !== "admin" && user.role !== "vorstand") {
throw createError({
statusCode: 403,
message: "Keine Berechtigung zum Erstellen von Terminen."
});
}
const body = await readBody(event);
const { datum, titel, beschreibung, kategorie } = body;
if (!datum || !titel) {
throw createError({
statusCode: 400,
message: "Datum und Titel sind erforderlich."
});
}
await saveTermin({
datum,
titel,
beschreibung: beschreibung || "",
kategorie: kategorie || "Sonstiges"
});
return {
success: true,
message: "Termin erfolgreich gespeichert."
};
} catch (error) {
console.error("Fehler beim Speichern des Termins:", error);
throw error;
}
});
export { termineManage_post as default };
//# sourceMappingURL=termine-manage.post.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"termine-manage.post.mjs","sources":["../../../../../server/api/termine-manage.post.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,2BAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,CAAA,KAAA,EAAA,YAAA,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,OAAA,GAAA,YAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,IAAA,GAAA,MAAA,WAAA,CAAA,OAAA,CAAA,EAAA,CAAA;AAGA,IAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,SAAA,OAAA,IAAA,IAAA,CAAA,SAAA,UAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,WAAA,GAAA,IAAA;AAEA,IAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,UAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA,YAAA,IAAA,EAAA;AAAA,MACA,WAAA,SAAA,IAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,sCAAA,KAAA,CAAA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}

View File

@@ -272,7 +272,7 @@ async function renderInlineStyles(usedModules) {
const renderSSRHeadOptions = {"omitLineBreaks":true};
const entryFileName = "D43Z0o-f.js";
const entryFileName = "BCCaC8ND.js";
globalThis.__buildAssetsURL = buildAssetsURL;
globalThis.__publicAssetsURL = publicAssetsURL;