Update dependencies and refactor routing: Upgrade Tiptap extensions to version 3.22.2 in package.json and package-lock.json. Enhance router configuration by introducing route names for better maintainability and adding new core routes for home, terms, and privacy policy. Adjust HTML asset references for improved loading efficiency.

This commit is contained in:
Torsten Schulz (local)
2026-04-08 09:34:51 +02:00
parent 597c8ceffe
commit 80eef53670
94 changed files with 711 additions and 283 deletions

View File

@@ -0,0 +1,2 @@
import{E as e,L as t,c as n,ct as r,d as i,i as a,ot as o,t as s,u as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{i as u}from"./router-Oi46QANG.js";var d={name:`AddImageDialog`,emits:[`confirm`],setup(e,{emit:n}){let r=t(!1),i=t([]),a=t(null),o=()=>{r.value=!0,l()},s=()=>{r.value=!1},c=()=>{a.value&&n(`confirm`,`${a.value.id}`),s()},l=async()=>{try{i.value=(await u.get(`/image`)).data}catch(e){console.error(`Fehler beim Laden der Bilder:`,e),i.value=[]}};return{isOpen:r,images:i,selectedImage:a,openAddImageDialog:o,closeAddImageDialog:s,confirmAddImageConfiguration:c,selectImage:e=>{console.log(e),a.value=e}}}},f={key:0,class:`dialog-overlay`},p={class:`dialog-content`},m={class:`images-container`},h=[`onClick`],g=[`src`],_=[`title`],v={key:1},y={class:`button-container`};function b(t,s,u,d,b,x){return l(),i(`div`,null,[d.isOpen?(l(),i(`div`,f,[n(`div`,p,[s[2]||=n(`h3`,null,`Bild auswählen`,-1),n(`div`,m,[(l(!0),i(a,null,e(d.images,e=>(l(),i(`div`,{key:e.id,class:o([`image-block`,{selected:e.id===d.selectedImage?.id}]),onClick:t=>d.selectImage(e)},[n(`img`,{src:`/images/uploads/`+e.filename},null,8,g),e.description?(l(),i(`span`,{key:0,title:e.description},r(e.title),9,_)):(l(),i(`span`,v,r(e.title),1))],10,h))),128))]),n(`div`,y,[n(`button`,{onClick:s[0]||=(...e)=>d.confirmAddImageConfiguration&&d.confirmAddImageConfiguration(...e)},`Bestätigen`),n(`button`,{onClick:s[1]||=(...e)=>d.closeAddImageDialog&&d.closeAddImageDialog(...e)},`Schließen`)])])])):c(``,!0)])}var x=s(d,[[`render`,b],[`__scopeId`,`data-v-32c70499`]]);export{x as t};
//# sourceMappingURL=AddImageDialog-B5WJz27Z.js.map

View File

@@ -0,0 +1 @@
.dialog-overlay[data-v-32c70499]{background:#f0f0f0e6;border:1px solid #404040;justify-content:center;align-items:center;width:90%;height:50em;display:flex;position:fixed;top:calc(50% - 25em);left:5%;overflow:auto;box-shadow:3px 3px 8px #909090}.dialog-content[data-v-32c70499]{border-radius:8px;width:100%;height:100%;padding:20px}.images-container[data-v-32c70499]{flex-wrap:wrap;gap:10px;display:flex}.images-container img[data-v-32c70499]{cursor:pointer;border:2px solid #0000}.images-container img[data-v-32c70499]:hover{border-color:#007bff}.image-block[data-v-32c70499]{margin:2.5px;display:inline-block}.image-block img[data-v-32c70499]{max-width:150px;max-height:150px}.selected[data-v-32c70499]{border:2px solid #000}.button-container[data-v-32c70499]{background-color:gray;border-top:1px solid #404040;margin:0 -20px -20px;padding:12px 20px}

View File

@@ -0,0 +1 @@
import{n as e}from"./index-wEZjZpSO.js";export{e as default};

View File

@@ -0,0 +1 @@
import{n as e}from"./index-BrDZxyJr.js";export{e as default};

View File

@@ -0,0 +1 @@
import{n as e}from"./index-GQBhR5hI.js";export{e as default};

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{E as t,M as n,O as r,c as i,ct as a,d as o,h as s,i as c,t as l,w as u}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as d,c as f}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{t as p}from"./vue-multiselect.esm-Cg9K2y4Y.js";var m={name:`ContactPersonForm`,components:{Multiselect:p},props:{contactPerson:{type:Object,default:()=>({name:``,phone:``,street:``,zipcode:``,city:``,email:``,expiryDate:null,positions:[]})},positions:{type:Array,required:!0}},data(){return{localContactPerson:{...this.contactPerson},selectedPositions:this.contactPerson.positions||[]}},watch:{contactPerson:{handler(e){this.localContactPerson={...e},this.selectedPositions=e.positions||[]},deep:!0,immediate:!0},selectedPositions(e){this.localContactPerson.positions=e}},methods:{async saveContactPerson(){try{let t=this.selectedPositions.map(e=>e.id),n={...this.localContactPerson,positionIds:t};this.localContactPerson.id?await e.put(`/contact-persons/${this.localContactPerson.id}`,n):await e.post(`/contact-persons`,n),this.$emit(`contactPersonSaved`)}catch(e){console.error(`Fehler beim Speichern der Kontaktperson:`,e)}},resetForm(){this.localContactPerson={name:``,phone:``,street:``,zipcode:``,city:``,email:``,expiryDate:null,positions:[]},this.selectedPositions=[]}}},h={class:`contact-person-form`};function g(e,t,a,c,l,p){let m=r(`multiselect`);return u(),o(`div`,h,[t[19]||=i(`h2`,null,`Kontaktperson Formular`,-1),i(`form`,{onSubmit:t[9]||=f((...e)=>p.saveContactPerson&&p.saveContactPerson(...e),[`prevent`])},[t[10]||=i(`label`,{for:`name`},`Name:`,-1),n(i(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":t[0]||=e=>l.localContactPerson.name=e,required:``},null,512),[[d,l.localContactPerson.name]]),t[11]||=i(`label`,{for:`phone`},`Telefon:`,-1),n(i(`input`,{type:`text`,id:`phone`,"onUpdate:modelValue":t[1]||=e=>l.localContactPerson.phone=e},null,512),[[d,l.localContactPerson.phone]]),t[12]||=i(`label`,{for:`street`},`Straße:`,-1),n(i(`input`,{type:`text`,id:`street`,"onUpdate:modelValue":t[2]||=e=>l.localContactPerson.street=e},null,512),[[d,l.localContactPerson.street]]),t[13]||=i(`label`,{for:`zipcode`},`PLZ:`,-1),n(i(`input`,{type:`text`,id:`zipcode`,"onUpdate:modelValue":t[3]||=e=>l.localContactPerson.zipcode=e},null,512),[[d,l.localContactPerson.zipcode]]),t[14]||=i(`label`,{for:`city`},`Ort:`,-1),n(i(`input`,{type:`text`,id:`city`,"onUpdate:modelValue":t[4]||=e=>l.localContactPerson.city=e},null,512),[[d,l.localContactPerson.city]]),t[15]||=i(`label`,{for:`email`},`Email:`,-1),n(i(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":t[5]||=e=>l.localContactPerson.email=e},null,512),[[d,l.localContactPerson.email]]),t[16]||=i(`label`,{for:`expiryDate`},`Ablaufdatum (optional):`,-1),n(i(`input`,{type:`date`,id:`expiryDate`,"onUpdate:modelValue":t[6]||=e=>l.localContactPerson.expiryDate=e},null,512),[[d,l.localContactPerson.expiryDate]]),t[17]||=i(`label`,{for:`positions`},`Positionen:`,-1),s(m,{modelValue:l.selectedPositions,"onUpdate:modelValue":t[7]||=e=>l.selectedPositions=e,options:a.positions,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,placeholder:`Wähle einige`,label:`caption`,"track-by":`id`,"preselect-first":!1},null,8,[`modelValue`,`options`]),t[18]||=i(`button`,{type:`submit`},`Speichern`,-1),i(`button`,{type:`button`,onClick:t[8]||=(...e)=>p.resetForm&&p.resetForm(...e)},`Neue Kontaktperson`)],32)])}var _={name:`ContactPersonManagement`,components:{ContactPersonForm:l(m,[[`render`,g],[`__scopeId`,`data-v-11c9f1c3`]])},data(){return{contactPersons:[],selectedContactPerson:{name:``,phone:``,street:``,zipcode:``,city:``,email:``,expiryDate:null,positions:[]},positions:[]}},created(){this.fetchContactPersons(),this.fetchPositions()},methods:{async fetchContactPersons(){try{this.contactPersons=(await e.get(`/contact-persons`)).data}catch(e){console.error(`Fehler beim Abrufen der Kontaktpersonen:`,e)}},async fetchPositions(){try{this.positions=(await e.get(`/positions`)).data}catch(e){console.error(`Fehler beim Abrufen der Positionen:`,e)}},selectContactPerson(e){this.selectedContactPerson=e}}},v=[`onClick`];function y(e,n,l,d,f,p){let m=r(`ContactPersonForm`);return u(),o(`div`,null,[n[0]||=i(`h1`,null,`Kontaktpersonen Verwaltung`,-1),s(m,{contactPerson:f.selectedContactPerson,positions:f.positions,onContactPersonSaved:p.fetchContactPersons},null,8,[`contactPerson`,`positions`,`onContactPersonSaved`]),i(`ul`,null,[(u(!0),o(c,null,t(f.contactPersons,e=>(u(),o(`li`,{key:e.id,onClick:t=>p.selectContactPerson(e)},a(e.name),9,v))),128))])])}var b=l(_,[[`render`,y],[`__scopeId`,`data-v-5365b0dc`]]);export{b as default};
//# sourceMappingURL=ContactPersonManagement-CDNj9_m_.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
import{s as e,t,u as n,x as r}from"./_plugin-vue_export-helper-CCRG-STz.js";var i={name:`DefaultComponent`};function a(t,i,a,o,s,c){return r(),n(`div`,null,[...i[0]||=[e(`h1`,null,`Seite existiert nicht`,-1),e(`p`,null,`Leider existiert die aufgerufene Seite nicht.`,-1)]])}var o=t(i,[[`render`,a],[`__scopeId`,`data-v-61f805f0`]]);export{o as default};
//# sourceMappingURL=DefaultComponent-BFnDpTHq.js.map

View File

@@ -0,0 +1,2 @@
import{c as e,d as t,t as n,w as r}from"./_plugin-vue_export-helper-Conii5fq.js";var i={name:`DefaultComponent`};function a(n,i,a,o,s,c){return r(),t(`div`,null,[...i[0]||=[e(`h1`,null,`Seite existiert nicht`,-1),e(`p`,null,`Leider existiert die aufgerufene Seite nicht.`,-1)]])}var o=n(i,[[`render`,a],[`__scopeId`,`data-v-61f805f0`]]);export{o as default};
//# sourceMappingURL=DefaultComponent-DOKlbqlp.js.map

View File

@@ -0,0 +1,2 @@
import{O as e,c as t,ct as n,d as r,h as i,t as a,w as o}from"./_plugin-vue_export-helper-Conii5fq.js";import{i as s,r as c}from"./vuex.esm-bundler-CDO_-3pz.js";import{i as l}from"./router-Oi46QANG.js";import{t as u}from"./RenderContentComponent-Cclw0JqW.js";var d={name:`ContentComponent`,components:{RenderContentComponent:u},props:{link:{type:String,required:!0}},data(){return{content:``,title:``}},computed:{...s([`menuData`]),...c([`getMenuData`])},watch:{link:{immediate:!0,handler(e){this.fetchContent(e),this.setTitle(e)}}},methods:{async fetchContent(e){try{this.content=(await l.get(`/page-content?link=${e}`)).data.content}catch(e){console.error(`Fehler beim Abrufen des Inhalts:`,e)}},setTitle(e){let t=(e,n)=>{for(let r of e){if(r.link===n)return r.pageTitle||r.name;if(r.submenu&&r.submenu.length>0){let e=t(r.submenu,n);if(e)return`${e}`}}return``};this.title=t(this.menuData,e)}}};function f(a,s,c,l,u,d){let f=e(`RenderContentComponent`);return o(),r(`div`,null,[t(`h1`,null,n(u.title),1),i(f,{content:u.content},null,8,[`content`])])}var p={name:`DefaultPage`,components:{ContentComponent:a(d,[[`render`,f]])},computed:{currentLink(){return this.$route.path}}},m={class:`some-page`};function h(t,n,a,s,c,l){let u=e(`ContentComponent`);return o(),r(`div`,m,[i(u,{link:l.currentLink},null,8,[`link`])])}var g=a(p,[[`render`,h]]);export{g as default};
//# sourceMappingURL=DefaultContent-BNGeGLb9.js.map

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,2 @@
import{Z as e,l as t,s as n,t as r,u as i,x as a}from"./_plugin-vue_export-helper-CCRG-STz.js";var o={name:`DialogComponent`,props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit(`update:modelValue`,!1),this.$emit(`close`)}}},s={key:0,class:`dialog-overlay`},c={class:`dialog`};function l(r,o,l,u,d,f){return l.modelValue?(a(),i(`div`,s,[n(`div`,c,[n(`h2`,null,e(l.title),1),n(`p`,null,e(l.message),1),n(`button`,{onClick:o[0]||=(...e)=>f.closeDialog&&f.closeDialog(...e)},`OK`)])])):t(``,!0)}var u=r(o,[[`render`,l],[`__scopeId`,`data-v-7743bdb5`]]);export{u as default};
//# sourceMappingURL=DialogComponent-BB67UImD.js.map

View File

@@ -0,0 +1,2 @@
import{c as e,ct as t,d as n,t as r,u as i,w as a}from"./_plugin-vue_export-helper-Conii5fq.js";var o={name:`DialogComponent`,props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit(`update:modelValue`,!1),this.$emit(`close`)}}},s={key:0,class:`dialog-overlay`},c={class:`dialog`};function l(r,o,l,u,d,f){return l.modelValue?(a(),n(`div`,s,[e(`div`,c,[e(`h2`,null,t(l.title),1),e(`p`,null,t(l.message),1),e(`button`,{onClick:o[0]||=(...e)=>f.closeDialog&&f.closeDialog(...e)},`OK`)])])):i(``,!0)}var u=r(o,[[`render`,l],[`__scopeId`,`data-v-7743bdb5`]]);export{u as default};
//# sourceMappingURL=DialogComponent-Xljax2a4.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{E as t,M as n,c as r,ct as i,d as a,i as o,t as s,u as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u,c as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";var f={data(){return{eventPlaces:[],newEventPlace:{name:``,street:``,zipcode:``,city:``,backgroundColor:`#ffffff`,website:``},editMode:!1,editId:null}},methods:{async fetchEventPlaces(){this.eventPlaces=(await e.get(`/event-places`)).data},async addEventPlace(){if(this.editMode)await e.put(`/event-places/${this.editId}`,this.newEventPlace);else{let t=await e.post(`/event-places`,this.newEventPlace);this.eventPlaces.push(t.data)}this.resetForm(),await this.fetchEventPlaces()},async updateEventPlace(t){await e.put(`/event-places/${t.id}`,t),this.fetchEventPlaces()},async deleteEventPlace(t){await e.delete(`/event-places/${t}`),this.fetchEventPlaces()},editEventPlace(e){this.newEventPlace={...e},this.editMode=!0,this.editId=e.id},resetForm(){this.newEventPlace={name:``,street:``,zipcode:``,city:``,backgroundColor:`#ffffff`,website:``},this.editMode=!1,this.editId=null}},created(){this.fetchEventPlaces()}},p={class:`event-places-management`},m=[`onClick`],h=[`onClick`];function g(e,s,f,g,_,v){return l(),a(`div`,p,[s[16]||=r(`h2`,null,`Veranstaltungsorte verwalten`,-1),r(`form`,{onSubmit:s[7]||=d((...e)=>v.addEventPlace&&v.addEventPlace(...e),[`prevent`])},[s[8]||=r(`label`,{for:`name`},`Name:`,-1),n(r(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":s[0]||=e=>_.newEventPlace.name=e,placeholder:`Name`,required:``},null,512),[[u,_.newEventPlace.name]]),s[9]||=r(`label`,{for:`street`},`Straße:`,-1),n(r(`input`,{type:`text`,id:`street`,"onUpdate:modelValue":s[1]||=e=>_.newEventPlace.street=e,placeholder:`Straße`,required:``},null,512),[[u,_.newEventPlace.street]]),s[10]||=r(`label`,{for:`zipcode`},`PLZ:`,-1),n(r(`input`,{type:`text`,id:`zipcode`,"onUpdate:modelValue":s[2]||=e=>_.newEventPlace.zipcode=e,placeholder:`PLZ`,required:``},null,512),[[u,_.newEventPlace.zipcode]]),s[11]||=r(`label`,{for:`city`},`Stadt:`,-1),n(r(`input`,{type:`text`,id:`city`,"onUpdate:modelValue":s[3]||=e=>_.newEventPlace.city=e,placeholder:`Stadt`,required:``},null,512),[[u,_.newEventPlace.city]]),s[12]||=r(`label`,{for:`city`},`Webseite:`,-1),n(r(`input`,{type:`text`,id:`website`,"onUpdate:modelValue":s[4]||=e=>_.newEventPlace.website=e,placeholder:`Webseite`,required:``},null,512),[[u,_.newEventPlace.website]]),s[13]||=r(`label`,{for:`backgroundColor`},`Hintergrundfarbe:`,-1),n(r(`input`,{type:`color`,id:`backgroundColor`,"onUpdate:modelValue":s[5]||=e=>_.newEventPlace.backgroundColor=e},null,512),[[u,_.newEventPlace.backgroundColor]]),s[14]||=r(`button`,{type:`submit`},`Speichern`,-1),_.editMode?(l(),a(`button`,{key:0,type:`button`,onClick:s[6]||=(...e)=>v.resetForm&&v.resetForm(...e)},`Neuen Veranstaltungsort erstellen`)):c(``,!0)],32),r(`table`,null,[s[15]||=r(`thead`,null,[r(`tr`,null,[r(`th`,null,`Name`),r(`th`,null,`Bearbeiten`),r(`th`,null,`Löschen`)])],-1),r(`tbody`,null,[(l(!0),a(o,null,t(_.eventPlaces,e=>(l(),a(`tr`,{key:e.id},[r(`td`,null,i(e.name),1),r(`td`,null,[r(`button`,{onClick:t=>v.editEventPlace(e)},`Bearbeiten`,8,m)]),r(`td`,null,[r(`button`,{onClick:t=>v.deleteEventPlace(e.id)},`Löschen`,8,h)])]))),128))])])])}var _=s(f,[[`render`,g],[`__scopeId`,`data-v-3dfc8a79`]]);export{_ as default};
//# sourceMappingURL=EventPlacesManagement-B5ZfENOq.js.map

View File

@@ -0,0 +1 @@
.event-places-management[data-v-3dfc8a79]{border:1px solid #ccc;border-radius:5px;max-width:600px;margin:auto;padding:20px}form[data-v-3dfc8a79]{flex-direction:column;margin-bottom:20px;display:flex}label[data-v-3dfc8a79]{margin-top:10px}input[data-v-3dfc8a79]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-3dfc8a79]{margin-top:10px;padding:10px}table[data-v-3dfc8a79]{border-collapse:collapse;width:100%;margin-top:20px}th[data-v-3dfc8a79],td[data-v-3dfc8a79]{text-align:left;border:1px solid #ccc;padding:10px}th[data-v-3dfc8a79]{background-color:#f4f4f4}

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{E as t,M as n,c as r,ct as i,d as a,i as o,t as s,u as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u,c as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";var f={data(){return{eventTypes:[],eventTypeData:{caption:``},editMode:!1,editId:null}},methods:{async fetchEventTypes(){try{this.eventTypes=(await e.get(`/event-types`)).data}catch(e){console.error(`Fehler beim Abrufen der Event-Typen:`,e)}},async saveEventType(){try{if(this.editMode)await e.put(`/event-types/${this.editId}`,this.eventTypeData);else{let t=await e.post(`/event-types`,this.eventTypeData);this.eventTypes.push(t.data)}this.resetForm(),await this.fetchEventTypes()}catch(e){console.error(`Fehler beim Speichern des Event-Typs:`,e)}},editEventType(e){this.eventTypeData={...e},this.editMode=!0,this.editId=e.id},async deleteEventType(t){try{await e.delete(`/event-types/${t}`),await this.fetchEventTypes()}catch(e){console.error(`Fehler beim Löschen des Event-Typs:`,e)}},resetForm(){this.eventTypeData={caption:``},this.editMode=!1,this.editId=null}},async created(){await this.fetchEventTypes()}},p={class:`event-types-management`},m={type:`submit`},h=[`onClick`],g=[`onClick`];function _(e,s,f,_,v,y){return l(),a(`div`,p,[s[4]||=r(`h2`,null,`Event-Typen Verwaltung`,-1),r(`form`,{onSubmit:s[2]||=d((...e)=>y.saveEventType&&y.saveEventType(...e),[`prevent`])},[s[3]||=r(`label`,{for:`newEventType`},`Event-Typ:`,-1),n(r(`input`,{type:`text`,id:`newEventType`,"onUpdate:modelValue":s[0]||=e=>v.eventTypeData.caption=e,placeholder:`Event-Typ`,required:``},null,512),[[u,v.eventTypeData.caption]]),r(`button`,m,i(v.editMode?`Aktualisieren`:`Hinzufügen`),1),v.editMode?(l(),a(`button`,{key:0,type:`button`,onClick:s[1]||=(...e)=>y.resetForm&&y.resetForm(...e)},`Abbrechen`)):c(``,!0)],32),r(`table`,null,[(l(!0),a(o,null,t(v.eventTypes,e=>(l(),a(`tr`,{key:e.id},[r(`td`,null,i(e.caption),1),r(`td`,null,[r(`button`,{onClick:t=>y.editEventType(e)},`Bearbeiten`,8,h)]),r(`td`,null,[r(`button`,{onClick:t=>y.deleteEventType(e.id)},`Löschen`,8,g)])]))),128))])])}var v=s(f,[[`render`,_],[`__scopeId`,`data-v-76d51395`]]);export{v as default};
//# sourceMappingURL=EventTypesManagement-CIyLBb6P.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{t as e}from"./index-GQBhR5hI.js";export{e as default};

View File

@@ -0,0 +1 @@
import{t as e}from"./index-wEZjZpSO.js";export{e as default};

View File

@@ -0,0 +1 @@
import{t as e}from"./index-BrDZxyJr.js";export{e as default};

View File

@@ -0,0 +1,2 @@
import{D as e,E as t,Z as n,l as r,m as i,p as a,s as o,t as s,u as c,w as l,x as u}from"./_plugin-vue_export-helper-CCRG-STz.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-D2hy5fF2.js";import{i as p}from"./router-fJ3nWd5S.js";var m={name:`ForgotPassword`,data(){return{email:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async submitForgotPassword(){try{let e=await p.post(`/auth/forgot-password`,{email:this.email});this.showDialog(`E-Mail gesendet`,e.data?.message||`Ein Link zum Zurücksetzen wurde an Ihre E-Mail-Adresse gesendet.`),this.email=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`forgot-password`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(s,p,m,v,y,b){let x=l(`router-link`);return u(),c(`div`,h,[p[7]||=o(`h2`,null,`Passwort vergessen`,-1),o(`form`,{onSubmit:p[1]||=d((...e)=>b.submitForgotPassword&&b.submitForgotPassword(...e),[`prevent`])},[p[3]||=o(`label`,{for:`email`},`Email-Adresse:`,-1),e(o(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[0]||=e=>y.email=e,required:``},null,512),[[f,y.email]]),p[4]||=o(`button`,{type:`submit`},`Link zum Zurücksetzen senden`,-1)],32),o(`p`,null,[i(x,{to:`/login`},{default:t(()=>[...p[5]||=[a(`Login`,-1)]]),_:1})]),o(`p`,null,[i(x,{to:`/register`},{default:t(()=>[...p[6]||=[a(`Registrieren`,-1)]]),_:1})]),y.dialogVisible?(u(),c(`div`,g,[o(`div`,_,[o(`h3`,null,n(y.dialogTitle),1),o(`p`,null,n(y.dialogMessage),1),o(`button`,{type:`button`,onClick:p[2]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):r(``,!0)])}var y=s(m,[[`render`,v],[`__scopeId`,`data-v-021070f7`]]);export{y as default};
//# sourceMappingURL=ForgotPasswordContent-CCXAE1vn.js.map

View File

@@ -0,0 +1,2 @@
import{M as e,O as t,c as n,ct as r,d as i,h as a,j as o,m as s,t as c,u as l,w as u}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as d,c as f}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as p}from"./router-Oi46QANG.js";var m={name:`ForgotPassword`,data(){return{email:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async submitForgotPassword(){try{let e=await p.post(`/auth/forgot-password`,{email:this.email});this.showDialog(`E-Mail gesendet`,e.data?.message||`Ein Link zum Zurücksetzen wurde an Ihre E-Mail-Adresse gesendet.`),this.email=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`forgot-password`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(c,p,m,v,y,b){let x=t(`router-link`);return u(),i(`div`,h,[p[7]||=n(`h2`,null,`Passwort vergessen`,-1),n(`form`,{onSubmit:p[1]||=f((...e)=>b.submitForgotPassword&&b.submitForgotPassword(...e),[`prevent`])},[p[3]||=n(`label`,{for:`email`},`Email-Adresse:`,-1),e(n(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[0]||=e=>y.email=e,required:``},null,512),[[d,y.email]]),p[4]||=n(`button`,{type:`submit`},`Link zum Zurücksetzen senden`,-1)],32),n(`p`,null,[a(x,{to:`/login`},{default:o(()=>[...p[5]||=[s(`Login`,-1)]]),_:1})]),n(`p`,null,[a(x,{to:`/register`},{default:o(()=>[...p[6]||=[s(`Registrieren`,-1)]]),_:1})]),y.dialogVisible?(u(),i(`div`,g,[n(`div`,_,[n(`h3`,null,r(y.dialogTitle),1),n(`p`,null,r(y.dialogMessage),1),n(`button`,{type:`button`,onClick:p[2]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):l(``,!0)])}var y=c(m,[[`render`,v],[`__scopeId`,`data-v-021070f7`]]);export{y as default};
//# sourceMappingURL=ForgotPasswordContent-Dp8XZoBY.js.map

View File

@@ -0,0 +1,2 @@
import{C as e,E as t,T as n,X as r,b as i,f as a,l as o,p as s,s as c,t as l,u}from"./_plugin-vue_export-helper-CfRVXrSo.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-DdqN-WFI.js";import{i as p}from"./router-BSepcPus.js";var m={name:`ForgotPassword`,data(){return{email:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async submitForgotPassword(){try{let e=await p.post(`/auth/forgot-password`,{email:this.email});this.showDialog(`E-Mail gesendet`,e.data?.message||`Ein Link zum Zurücksetzen wurde an Ihre E-Mail-Adresse gesendet.`),this.email=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`forgot-password`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(l,p,m,v,y,b){let x=e(`router-link`);return i(),u(`div`,h,[p[7]||=c(`h2`,null,`Passwort vergessen`,-1),c(`form`,{onSubmit:p[1]||=d((...e)=>b.submitForgotPassword&&b.submitForgotPassword(...e),[`prevent`])},[p[3]||=c(`label`,{for:`email`},`Email-Adresse:`,-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[0]||=e=>y.email=e,required:``},null,512),[[f,y.email]]),p[4]||=c(`button`,{type:`submit`},`Link zum Zurücksetzen senden`,-1)],32),c(`p`,null,[s(x,{to:`/login`},{default:n(()=>[...p[5]||=[a(`Login`,-1)]]),_:1})]),c(`p`,null,[s(x,{to:`/register`},{default:n(()=>[...p[6]||=[a(`Registrieren`,-1)]]),_:1})]),y.dialogVisible?(i(),u(`div`,g,[c(`div`,_,[c(`h3`,null,r(y.dialogTitle),1),c(`p`,null,r(y.dialogMessage),1),c(`button`,{type:`button`,onClick:p[2]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):o(``,!0)])}var y=l(m,[[`render`,v],[`__scopeId`,`data-v-021070f7`]]);export{y as default};
//# sourceMappingURL=ForgotPasswordContent-NwgaxFG6.js.map

View File

@@ -0,0 +1,2 @@
import{c as e,d as t,t as n,w as r}from"./_plugin-vue_export-helper-Conii5fq.js";import{i}from"./vuex.esm-bundler-CDO_-3pz.js";var a={name:`ImageContent`,data(){return{defaultImage:`/images/homepage1.png`,currentImage:`/images/homepage1.png`}},computed:{...i([`menuData`])},watch:{$route:{immediate:!0,handler(){this.updateImage()}}},methods:{updateImage(){let e=this.$route.path,t=this.menuData,n=this.findMenuItemByPath(t,e);n&&n.image?this.currentImage=`/images/${n.image}`:this.currentImage=this.defaultImage},findMenuItemByPath(e,t){for(let n of e){if(n.link===t)return n;if(n.submenu){let e=this.findMenuItemByPath(n.submenu,t);if(e)return e}}return null}}},o={class:`side-image`},s=[`src`];function c(n,i,a,c,l,u){return r(),t(`div`,o,[e(`img`,{src:l.currentImage,alt:``},null,8,s)])}var l=n(a,[[`render`,c],[`__scopeId`,`data-v-08127df6`]]);export{l as default};
//# sourceMappingURL=ImageContent-C7mJWORV.js.map

View File

@@ -0,0 +1,2 @@
import{s as e,t,u as n,x as r}from"./_plugin-vue_export-helper-CCRG-STz.js";import{i}from"./vuex.esm-bundler-Ci4zImA8.js";var a={name:`ImageContent`,data(){return{defaultImage:`/images/homepage1.png`,currentImage:`/images/homepage1.png`}},computed:{...i([`menuData`])},watch:{$route:{immediate:!0,handler(){this.updateImage()}}},methods:{updateImage(){let e=this.$route.path,t=this.menuData,n=this.findMenuItemByPath(t,e);n&&n.image?this.currentImage=`/images/${n.image}`:this.currentImage=this.defaultImage},findMenuItemByPath(e,t){for(let n of e){if(n.link===t)return n;if(n.submenu){let e=this.findMenuItemByPath(n.submenu,t);if(e)return e}}return null}}},o={class:`side-image`},s=[`src`];function c(t,i,a,c,l,u){return r(),n(`div`,o,[e(`img`,{src:l.currentImage,alt:``},null,8,s)])}var l=t(a,[[`render`,c],[`__scopeId`,`data-v-08127df6`]]);export{l as default};
//# sourceMappingURL=ImageContent-CPT-Hw_S.js.map

View File

@@ -0,0 +1,2 @@
import{E as e,M as t,c as n,ct as r,d as i,i as a,t as o,u as s,w as c}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as l,c as u,i as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as f}from"./router-Oi46QANG.js";import{r as p,t as m}from"./strings-ldR5sTJW.js";var h={name:`ImageUpload`,data(){return{title:``,description:``,image:null,selectedPage:``,pages:[],images:[]}},methods:{formatDate:m,formatTimeFromDate:p,onFileChange(e){this.image=e.target.files[0]},async uploadImage(){let e=new FormData;e.append(`title`,this.title),e.append(`description`,this.description),e.append(`image`,this.image),e.append(`page`,this.selectedPage);try{await f.post(`/image/`,e),this.fetchImages(),this.resetForm()}catch(e){console.error(`Fehler beim Hochladen des Bildes:`,e)}},async fetchImages(){try{this.images=(await f.get(`/image`)).data}catch(e){console.error(`Fehler beim Abrufen der Bilder:`,e)}},async fetchPages(){try{let e=await f.get(`/menu-data`),t=function(e,n=``){return e.flatMap(e=>{let r=[];return e.submenu&&e.submenu.length&&(r=t(e.submenu,n+e.name+` -> `)),[{value:e.link,caption:n+e.name},...r]})};this.pages=t(e.data)}catch(e){console.error(`Fehler beim Abrufen der Seiten:`,e)}},async updateImage(e){try{await f.put(`/image/${e.id}`,{title:e.title,description:e.description}),this.fetchImages()}catch(e){console.error(`Fehler beim Aktualisieren des Bildes:`,e)}},resetForm(){this.title=``,this.description=``,this.image=null,this.selectedPage=``,document.getElementById(`image`).value=null}},mounted(){this.fetchImages(),this.fetchPages()}},g=[`value`],_={key:0},v=[`src`,`alt`],y=[`onUpdate:modelValue`,`onChange`],b=[`onUpdate:modelValue`,`onChange`];function x(o,f,p,m,h,x){return c(),i(`div`,null,[f[12]||=n(`h1`,null,`Bild hochladen`,-1),n(`form`,{onSubmit:f[4]||=u((...e)=>x.uploadImage&&x.uploadImage(...e),[`prevent`])},[n(`div`,null,[f[5]||=n(`label`,{for:`title`},`Titel`,-1),t(n(`input`,{type:`text`,id:`title`,"onUpdate:modelValue":f[0]||=e=>h.title=e},null,512),[[l,h.title]])]),n(`div`,null,[f[6]||=n(`label`,{for:`description`},`Beschreibung`,-1),t(n(`textarea`,{id:`description`,"onUpdate:modelValue":f[1]||=e=>h.description=e},null,512),[[l,h.description]])]),n(`div`,null,[f[7]||=n(`label`,{for:`image`},`Bild`,-1),n(`input`,{type:`file`,id:`image`,onChange:f[2]||=(...e)=>x.onFileChange&&x.onFileChange(...e)},null,32)]),n(`div`,null,[f[9]||=n(`label`,{for:`page`},`Seite`,-1),t(n(`select`,{id:`page`,"onUpdate:modelValue":f[3]||=e=>h.selectedPage=e},[f[8]||=n(`option`,{value:``},`Keine Seite`,-1),(c(!0),i(a,null,e(h.pages,e=>(c(),i(`option`,{key:e.value,value:e.value},r(e.caption),9,g))),128))],512),[[d,h.selectedPage]])]),f[10]||=n(`button`,{type:`submit`},`Hochladen`,-1)],32),h.images.length?(c(),i(`div`,_,[f[11]||=n(`h2`,null,`Hochgeladene Bilder`,-1),(c(!0),i(a,null,e(h.images,e=>(c(),i(`div`,{key:e.id,class:`uploaded-image`},[n(`img`,{src:`/images/uploads/${e.filename}`,alt:e.title,width:`100`},null,8,v),t(n(`input`,{type:`text`,"onUpdate:modelValue":t=>e.title=t,onChange:t=>x.updateImage(e)},null,40,y),[[l,e.title]]),t(n(`textarea`,{"onUpdate:modelValue":t=>e.description=t,onChange:t=>x.updateImage(e)},null,40,b),[[l,e.description]]),n(`p`,null,r(x.formatDate(e.uploadDate))+` `+r(x.formatTimeFromDate(e.uploadDate)),1)]))),128))])):s(``,!0)])}var S=o(h,[[`render`,x],[`__scopeId`,`data-v-37883b2e`]]);export{S as default};
//# sourceMappingURL=ImageUpload-CEm0koNB.js.map

View File

@@ -0,0 +1 @@
form div[data-v-37883b2e]{margin-bottom:10px}.uploaded-image[data-v-37883b2e]{border:1px solid #e0e0e0;margin:0 0 .5em .5em;padding:10px;display:inline-block}.uploaded-image input[data-v-37883b2e],.uploaded-image textarea[data-v-37883b2e]{width:100%;margin:5px 0}

View File

@@ -0,0 +1,2 @@
import{C as e,E as t,L as n,O as r,c as i,ct as a,d as o,h as s,i as c,j as l,m as u,t as d,w as f}from"./_plugin-vue_export-helper-Conii5fq.js";import{i as p}from"./router-Oi46QANG.js";var m={name:`DefaultComponent`,setup(){let t=n([]),r=async()=>{try{let e=(await p.get(`/menu-data`)).data.find(e=>e.name===`Admin`);e&&(t.value=e.submenu)}catch(e){console.error(`Fehler beim Abrufen der Menü-Daten:`,e)}};return e(()=>{r()}),{adminSubmenu:t}}};function h(e,n,d,p,m,h){let g=r(`router-link`);return f(),o(`div`,null,[n[0]||=i(`h1`,null,`Seitenpflege`,-1),n[1]||=i(`p`,null,`Herzlich Willkommen. Auf diesen Seiten können Sie die Inhalte der Webseiten pflegen.`,-1),i(`ul`,null,[(f(!0),o(c,null,t(p.adminSubmenu,e=>(f(),o(`li`,{key:e.id},[s(g,{to:e.link},{default:l(()=>[u(a(e.name),1)]),_:2},1032,[`to`])]))),128))])])}var g=d(m,[[`render`,h],[`__scopeId`,`data-v-3f6c9349`]]);export{g as default};
//# sourceMappingURL=IndexContent-Cn44wcdc.js.map

View File

@@ -0,0 +1 @@
div[data-v-3f6c9349]{padding:20px}ul[data-v-3f6c9349]{margin:0;padding:0;list-style:none}li[data-v-3f6c9349]{margin:0;padding:0}

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{E as t,M as n,c as r,ct as i,d as a,i as o,t as s,u as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u,c as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";var f={name:`InstitutionManagement`,data(){return{institutions:[],contactPersons:[],institutionData:{name:``,street:``,zipcode:``,city:``,phone:``,fax:``,email:``},selectedInstitution:null,showForm:!1,editMode:!1,editId:null}},created(){this.fetchInstitutions(),this.fetchContactPersons()},methods:{async fetchInstitutions(){try{this.institutions=(await e.get(`/institutions`)).data}catch(e){console.error(`Fehler beim Abrufen der Institutionen:`,e)}},async fetchContactPersons(){try{this.contactPersons=(await e.get(`/contact-persons`)).data}catch(e){console.error(`Fehler beim Abrufen der Kontaktpersonen:`,e)}},async saveInstitution(){try{if(this.editMode)await e.put(`/institutions/${this.editId}`,this.institutionData);else{let t=await e.post(`/institutions`,this.institutionData);this.institutions.push(t.data)}this.resetForm(),await this.fetchInstitutions()}catch(e){console.error(`Fehler beim Speichern der Institution:`,e)}},editInstitution(e){this.institutionData={...e},this.editMode=!0,this.editId=e.id,this.showForm=!0},async deleteInstitution(t){try{await e.delete(`/institutions/${t}`),this.fetchInstitutions()}catch(e){console.error(`Fehler beim Löschen der Institution:`,e)}},resetForm(){this.institutionData={name:``,street:``,zipcode:``,city:``,phone:``,fax:``,email:``},this.editMode=!1,this.editId=null,this.showForm=!1},showCreateForm(){this.resetForm(),this.showForm=!0}}},p={class:`institution-management`},m=[`onClick`],h=[`onClick`];function g(e,s,f,g,_,v){return l(),a(`div`,p,[s[18]||=r(`h2`,null,`Institutionenverwaltung`,-1),r(`form`,{onSubmit:s[8]||=d((...e)=>v.saveInstitution&&v.saveInstitution(...e),[`prevent`])},[s[9]||=r(`label`,{for:`name`},`Name:`,-1),n(r(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":s[0]||=e=>_.institutionData.name=e,required:``},null,512),[[u,_.institutionData.name]]),s[10]||=r(`label`,{for:`street`},`Straße:`,-1),n(r(`input`,{type:`text`,id:`street`,"onUpdate:modelValue":s[1]||=e=>_.institutionData.street=e},null,512),[[u,_.institutionData.street]]),s[11]||=r(`label`,{for:`zipcode`},`PLZ:`,-1),n(r(`input`,{type:`text`,id:`zipcode`,"onUpdate:modelValue":s[2]||=e=>_.institutionData.zipcode=e},null,512),[[u,_.institutionData.zipcode]]),s[12]||=r(`label`,{for:`city`},`Stadt:`,-1),n(r(`input`,{type:`text`,id:`city`,"onUpdate:modelValue":s[3]||=e=>_.institutionData.city=e},null,512),[[u,_.institutionData.city]]),s[13]||=r(`label`,{for:`phone`},`Telefon:`,-1),n(r(`input`,{type:`text`,id:`phone`,"onUpdate:modelValue":s[4]||=e=>_.institutionData.phone=e},null,512),[[u,_.institutionData.phone]]),s[14]||=r(`label`,{for:`fax`},`Fax:`,-1),n(r(`input`,{type:`text`,id:`fax`,"onUpdate:modelValue":s[5]||=e=>_.institutionData.fax=e},null,512),[[u,_.institutionData.fax]]),s[15]||=r(`label`,{for:`email`},`Email:`,-1),n(r(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":s[6]||=e=>_.institutionData.email=e},null,512),[[u,_.institutionData.email]]),s[16]||=r(`button`,{type:`submit`},`Speichern`,-1),_.editMode?(l(),a(`button`,{key:0,type:`button`,onClick:s[7]||=(...e)=>v.resetForm&&v.resetForm(...e)},`Neue Institution erstellen`)):c(``,!0)],32),r(`table`,null,[s[17]||=r(`thead`,null,[r(`tr`,null,[r(`th`,null,`Name`),r(`th`,null,`Bearbeiten`),r(`th`,null,`Löschen`)])],-1),r(`tbody`,null,[(l(!0),a(o,null,t(_.institutions,e=>(l(),a(`tr`,{key:e.id},[r(`td`,null,i(e.name),1),r(`td`,null,[r(`button`,{onClick:t=>v.editInstitution(e)},`Bearbeiten`,8,m)]),r(`td`,null,[r(`button`,{onClick:t=>v.deleteInstitution(e.id)},`Löschen`,8,h)])]))),128))])])])}var _=s(f,[[`render`,g],[`__scopeId`,`data-v-ca4b9ed0`]]);export{_ as default};
//# sourceMappingURL=InstitutionManagement-CVRND2x-.js.map

View File

@@ -0,0 +1 @@
.institution-management[data-v-ca4b9ed0]{border:1px solid #ccc;border-radius:5px;max-width:600px;margin:auto;padding:20px}form[data-v-ca4b9ed0]{flex-direction:column;margin-bottom:20px;display:flex}label[data-v-ca4b9ed0]{margin-top:10px}input[data-v-ca4b9ed0]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-ca4b9ed0]{margin-top:10px;padding:10px}table[data-v-ca4b9ed0]{border-collapse:collapse;width:100%;margin-top:20px}th[data-v-ca4b9ed0],td[data-v-ca4b9ed0]{text-align:left;border:1px solid #ccc;padding:10px}th[data-v-ca4b9ed0]{background-color:#f4f4f4}

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{M as t,O as n,c as r,d as i,h as a,j as o,m as s,t as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u,c as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{n as f}from"./vuex.esm-bundler-CDO_-3pz.js";import p from"./DialogComponent-Xljax2a4.js";var m={name:`LoginComponent`,components:{DialogComponent:p},data(){return{email:``,password:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{...f([`login`]),async runLogin(){try{let t=await e.post(`/auth/login`,{email:this.email,password:this.password}),n=t.data.token,r=t.data;localStorage.setItem(`token`,n),this.login(r.user),e.defaults.headers.common.Authorization=`Bearer ${n}`,this.$router.push(`/admin/index`)}catch(e){e.response?this.showDialog(`Fehler`,e.response.data.message):this.showDialog(`Ein Fehler ist aufgetreten`,e.message)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`login`};function g(e,c,f,p,m,g){let _=n(`router-link`),v=n(`DialogComponent`);return l(),i(`div`,h,[c[9]||=r(`h2`,null,`Login`,-1),r(`form`,{onSubmit:c[2]||=d((...e)=>g.runLogin&&g.runLogin(...e),[`prevent`])},[c[4]||=r(`label`,{for:`email`},`Email-Adresse:`,-1),t(r(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":c[0]||=e=>m.email=e,required:``},null,512),[[u,m.email]]),c[5]||=r(`label`,{for:`password`},`Passwort:`,-1),t(r(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":c[1]||=e=>m.password=e,required:``},null,512),[[u,m.password]]),c[6]||=r(`button`,{type:`submit`},`Login`,-1)],32),r(`p`,null,[a(_,{to:`/register`},{default:o(()=>[...c[7]||=[s(`Registrieren`,-1)]]),_:1})]),r(`p`,null,[a(_,{to:`/forgot-password`},{default:o(()=>[...c[8]||=[s(`Passwort vergessen?`,-1)]]),_:1})]),a(v,{title:m.dialogTitle,message:m.dialogMessage,modelValue:m.dialogVisible,"onUpdate:modelValue":c[3]||=e=>m.dialogVisible=e,onClose:g.closeDialog},null,8,[`title`,`message`,`modelValue`,`onClose`])])}var _=c(m,[[`render`,g],[`__scopeId`,`data-v-5eeff340`]]);export{_ as default};
//# sourceMappingURL=LoginContent-BuB5FgEi.js.map

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{D as t,E as n,m as r,p as i,s as a,t as o,u as s,w as c,x as l}from"./_plugin-vue_export-helper-CCRG-STz.js";import{a as u,r as d}from"./runtime-dom.esm-bundler-D2hy5fF2.js";import{n as f}from"./vuex.esm-bundler-Ci4zImA8.js";import p from"./DialogComponent-BB67UImD.js";var m={name:`LoginComponent`,components:{DialogComponent:p},data(){return{email:``,password:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{...f([`login`]),async runLogin(){try{let t=await e.post(`/auth/login`,{email:this.email,password:this.password}),n=t.data.token,r=t.data;localStorage.setItem(`token`,n),this.login(r.user),e.defaults.headers.common.Authorization=`Bearer ${n}`,this.$router.push(`/admin/index`)}catch(e){e.response?this.showDialog(`Fehler`,e.response.data.message):this.showDialog(`Ein Fehler ist aufgetreten`,e.message)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`login`};function g(e,o,f,p,m,g){let _=c(`router-link`),v=c(`DialogComponent`);return l(),s(`div`,h,[o[9]||=a(`h2`,null,`Login`,-1),a(`form`,{onSubmit:o[2]||=u((...e)=>g.runLogin&&g.runLogin(...e),[`prevent`])},[o[4]||=a(`label`,{for:`email`},`Email-Adresse:`,-1),t(a(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[0]||=e=>m.email=e,required:``},null,512),[[d,m.email]]),o[5]||=a(`label`,{for:`password`},`Passwort:`,-1),t(a(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":o[1]||=e=>m.password=e,required:``},null,512),[[d,m.password]]),o[6]||=a(`button`,{type:`submit`},`Login`,-1)],32),a(`p`,null,[r(_,{to:`/register`},{default:n(()=>[...o[7]||=[i(`Registrieren`,-1)]]),_:1})]),a(`p`,null,[r(_,{to:`/forgot-password`},{default:n(()=>[...o[8]||=[i(`Passwort vergessen?`,-1)]]),_:1})]),r(v,{title:m.dialogTitle,message:m.dialogMessage,modelValue:m.dialogVisible,"onUpdate:modelValue":o[3]||=e=>m.dialogVisible=e,onClose:g.closeDialog},null,8,[`title`,`message`,`modelValue`,`onClose`])])}var _=o(m,[[`render`,g],[`__scopeId`,`data-v-5eeff340`]]);export{_ as default};
//# sourceMappingURL=LoginContent-Cf5QdG23.js.map

View File

@@ -0,0 +1 @@
.menu-management[data-v-0b351711]{width:100%;margin:auto}.button-container[data-v-0b351711]{gap:10px;margin-bottom:20px;display:inline-flex}.tree-view[data-v-0b351711]{margin-top:20px}.tree-view ul[data-v-0b351711]{padding:0;list-style-type:none}.tree-view li[data-v-0b351711]{margin-bottom:5px;padding-left:20px}.tree-view .menu-item[data-v-0b351711]{justify-content:space-between;align-items:center;width:100%;display:inline-flex}.tree-view span[data-v-0b351711]{cursor:pointer;color:#000}.tree-view button[data-v-0b351711]{border:none;border-radius:5px;height:1.6em;margin:1px;padding:0 .5em}.tree-view span[data-v-0b351711]:hover{text-decoration:underline}.edit-form[data-v-0b351711]{margin-top:20px}.edit-form label[data-v-0b351711]{margin-bottom:5px;font-weight:700;display:block}.edit-form input[data-v-0b351711]:not([type=checkbox]){margin-bottom:10px;display:block}.edit-form .checkbox-container[data-v-0b351711]{flex-direction:column;margin-right:10px;display:flex}.edit-form .order-id[data-v-0b351711]{width:50px}.edit-form button[data-v-0b351711]{margin-top:5px}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{r as e}from"./index-BrDZxyJr.js";export{e as default};

View File

@@ -0,0 +1 @@
import{r as e}from"./index-wEZjZpSO.js";export{e as default};

View File

@@ -0,0 +1 @@
import{r as e}from"./index-GQBhR5hI.js";export{e as default};

View File

@@ -0,0 +1 @@
.previewinfo[data-v-e0906dd8]{color:#d00000;background-color:#000;padding:2px 10px;font-weight:700;position:absolute;top:93px;left:0}

View File

@@ -0,0 +1,2 @@
import{A as e,O as t,c as n,ct as r,d as i,h as a,s as o,t as s,w as c}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as l}from"./vuex.esm-bundler-CDO_-3pz.js";import{t as u}from"./RenderContentComponent-Cclw0JqW.js";var d={name:`PagePreview`,components:{RenderContentComponent:u},setup(){let t=l(),n=o(()=>t.state.pageContent),r=o(()=>t.state.selectedPage),i=o(()=>t.state.menuData),a=o(()=>t.state.pageTitle),s=e=>{let n=(e,t)=>{for(let r of e){if(r.link===t)return r.pageTitle||r.name;if(r.submenu&&r.submenu.length>0){let e=n(r.submenu,t);if(e)return e}}return``};t.dispatch(`setPageTitle`,n(i.value,e))};return e(()=>{s(r.value)}),{content:n,title:a}}};function f(e,o,s,l,u,d){let f=t(`RenderContentComponent`);return c(),i(`div`,null,[o[0]||=n(`div`,{class:`previewinfo`},`Dies ist eine Vorschau.`,-1),n(`h1`,null,r(l.title),1),a(f,{content:l.content},null,8,[`content`])])}var p=s(d,[[`render`,f],[`__scopeId`,`data-v-e0906dd8`]]);export{p as default};
//# sourceMappingURL=PagePreviewComponent-ZeBPJ3Wr.js.map

View File

@@ -0,0 +1,2 @@
import{t as e}from"./axios-DHQprbt3.js";import{E as t,M as n,c as r,ct as i,d as a,i as o,t as s,u as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u,c as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";var f={data(){return{positions:[],newPosition:{caption:``},editMode:!1,editId:null}},methods:{async fetchPositions(){this.positions=(await e.get(`/positions`)).data},async addPosition(){if(this.editMode)await e.put(`/positions/${this.editId}`,this.newPosition);else{let t=await e.post(`/positions`,this.newPosition);this.positions.push(t.data)}this.resetForm(),await this.fetchPositions()},async updatePosition(t){await e.put(`/positions/${t.id}`,t),this.fetchPositions()},async deletePosition(t){await e.delete(`/positions/${t}`),this.fetchPositions()},editPosition(e){this.newPosition={...e},this.editMode=!0,this.editId=e.id},resetForm(){this.newPosition={caption:``},this.editMode=!1,this.editId=null}},created(){this.fetchPositions()}},p={class:`position-management`},m=[`onClick`],h=[`onClick`];function g(e,s,f,g,_,v){return l(),a(`div`,p,[s[6]||=r(`h2`,null,`Verwalten der Rollen`,-1),r(`form`,{onSubmit:s[2]||=d((...e)=>v.addPosition&&v.addPosition(...e),[`prevent`])},[s[3]||=r(`label`,{for:`caption`},`Rollenbezeichnung:`,-1),n(r(`input`,{type:`text`,id:`caption`,"onUpdate:modelValue":s[0]||=e=>_.newPosition.caption=e,placeholder:`Rollenbezeichnung`,required:``},null,512),[[u,_.newPosition.caption]]),s[4]||=r(`button`,{type:`submit`},`Speichern`,-1),_.editMode?(l(),a(`button`,{key:0,type:`button`,onClick:s[1]||=(...e)=>v.resetForm&&v.resetForm(...e)},`Neue Rolle erstellen`)):c(``,!0)],32),r(`table`,null,[s[5]||=r(`thead`,null,[r(`tr`,null,[r(`th`,null,`Rollenbezeichnung`),r(`th`,null,`Bearbeiten`),r(`th`,null,`Löschen`)])],-1),r(`tbody`,null,[(l(!0),a(o,null,t(_.positions,e=>(l(),a(`tr`,{key:e.id},[r(`td`,null,i(e.caption),1),r(`td`,null,[r(`button`,{onClick:t=>v.editPosition(e)},`Bearbeiten`,8,m)]),r(`td`,null,[r(`button`,{onClick:t=>v.deletePosition(e.id)},`Löschen`,8,h)])]))),128))])])])}var _=s(f,[[`render`,g],[`__scopeId`,`data-v-8ae8d402`]]);export{_ as default};
//# sourceMappingURL=PositionManagement-Bhcjg9-q.js.map

View File

@@ -0,0 +1 @@
.position-management[data-v-8ae8d402]{border:1px solid #ccc;border-radius:5px;max-width:600px;margin:auto;padding:20px}form[data-v-8ae8d402]{flex-direction:column;margin-bottom:20px;display:flex}label[data-v-8ae8d402]{margin-top:10px}input[data-v-8ae8d402]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-8ae8d402]{margin-top:10px;padding:10px}table[data-v-8ae8d402]{border-collapse:collapse;width:100%;margin-top:20px}th[data-v-8ae8d402],td[data-v-8ae8d402]{text-align:left;border:1px solid #ccc;padding:10px}th[data-v-8ae8d402]{background-color:#f4f4f4}

View File

@@ -0,0 +1 @@
.privacy-policy[data-v-5759bc7f]{max-width:800px;margin:auto;padding:20px}h1[data-v-5759bc7f],h2[data-v-5759bc7f],h3[data-v-5759bc7f],h4[data-v-5759bc7f],h5[data-v-5759bc7f]{color:#333;margin-top:20px}p[data-v-5759bc7f]{line-height:1.6}ul[data-v-5759bc7f]{margin:10px 0;padding-left:20px}ul li[data-v-5759bc7f]{list-style-type:disc}a[data-v-5759bc7f]{color:#007bff;text-decoration:none}a[data-v-5759bc7f]:hover{text-decoration:underline}

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,2 @@
import{C as e,E as t,T as n,X as r,b as i,f as a,l as o,p as s,s as c,t as l,u}from"./_plugin-vue_export-helper-CfRVXrSo.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-DdqN-WFI.js";import{i as p}from"./router-BSepcPus.js";var m={name:`RegisterComponent`,components:{},data(){return{name:``,email:``,password:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async register(){try{let e=await p.post(`/auth/register`,{name:this.name,email:this.email,password:this.password});this.showDialog(`Registrierung erfolgreich`,e.data?.message||`Ihr Konto wurde erfolgreich erstellt.`),this.name=``,this.email=``,this.password=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`register`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(l,p,m,v,y,b){let x=e(`router-link`);return i(),u(`div`,h,[p[11]||=c(`h2`,null,`Registrieren`,-1),c(`form`,{onSubmit:p[3]||=d((...e)=>b.register&&b.register(...e),[`prevent`])},[p[5]||=c(`label`,{for:`name`},`Name:`,-1),t(c(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":p[0]||=e=>y.name=e,required:``},null,512),[[f,y.name]]),p[6]||=c(`label`,{for:`email`},`Email-Adresse:`,-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[1]||=e=>y.email=e,required:``},null,512),[[f,y.email]]),p[7]||=c(`label`,{for:`password`},`Passwort:`,-1),t(c(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[2]||=e=>y.password=e,required:``},null,512),[[f,y.password]]),p[8]||=c(`button`,{type:`submit`},`Registrieren`,-1)],32),c(`p`,null,[s(x,{to:`/login`},{default:n(()=>[...p[9]||=[a(`Login`,-1)]]),_:1})]),c(`p`,null,[s(x,{to:`/forgot-password`},{default:n(()=>[...p[10]||=[a(`Passwort vergessen?`,-1)]]),_:1})]),y.dialogVisible?(i(),u(`div`,g,[c(`div`,_,[c(`h3`,null,r(y.dialogTitle),1),c(`p`,null,r(y.dialogMessage),1),c(`button`,{type:`button`,onClick:p[4]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):o(``,!0)])}var y=l(m,[[`render`,v],[`__scopeId`,`data-v-70d90412`]]);export{y as default};
//# sourceMappingURL=RegisterContent-B0Zdr_yl.js.map

View File

@@ -0,0 +1,2 @@
import{M as e,O as t,c as n,ct as r,d as i,h as a,j as o,m as s,t as c,u as l,w as u}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as d,c as f}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as p}from"./router-Oi46QANG.js";var m={name:`RegisterComponent`,components:{},data(){return{name:``,email:``,password:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async register(){try{let e=await p.post(`/auth/register`,{name:this.name,email:this.email,password:this.password});this.showDialog(`Registrierung erfolgreich`,e.data?.message||`Ihr Konto wurde erfolgreich erstellt.`),this.name=``,this.email=``,this.password=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`register`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(c,p,m,v,y,b){let x=t(`router-link`);return u(),i(`div`,h,[p[11]||=n(`h2`,null,`Registrieren`,-1),n(`form`,{onSubmit:p[3]||=f((...e)=>b.register&&b.register(...e),[`prevent`])},[p[5]||=n(`label`,{for:`name`},`Name:`,-1),e(n(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":p[0]||=e=>y.name=e,required:``},null,512),[[d,y.name]]),p[6]||=n(`label`,{for:`email`},`Email-Adresse:`,-1),e(n(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[1]||=e=>y.email=e,required:``},null,512),[[d,y.email]]),p[7]||=n(`label`,{for:`password`},`Passwort:`,-1),e(n(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[2]||=e=>y.password=e,required:``},null,512),[[d,y.password]]),p[8]||=n(`button`,{type:`submit`},`Registrieren`,-1)],32),n(`p`,null,[a(x,{to:`/login`},{default:o(()=>[...p[9]||=[s(`Login`,-1)]]),_:1})]),n(`p`,null,[a(x,{to:`/forgot-password`},{default:o(()=>[...p[10]||=[s(`Passwort vergessen?`,-1)]]),_:1})]),y.dialogVisible?(u(),i(`div`,g,[n(`div`,_,[n(`h3`,null,r(y.dialogTitle),1),n(`p`,null,r(y.dialogMessage),1),n(`button`,{type:`button`,onClick:p[4]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):l(``,!0)])}var y=c(m,[[`render`,v],[`__scopeId`,`data-v-70d90412`]]);export{y as default};
//# sourceMappingURL=RegisterContent-BVn7fMWW.js.map

View File

@@ -0,0 +1,2 @@
import{D as e,E as t,Z as n,l as r,m as i,p as a,s as o,t as s,u as c,w as l,x as u}from"./_plugin-vue_export-helper-CCRG-STz.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-D2hy5fF2.js";import{i as p}from"./router-fJ3nWd5S.js";var m={name:`RegisterComponent`,components:{},data(){return{name:``,email:``,password:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},methods:{async register(){try{let e=await p.post(`/auth/register`,{name:this.name,email:this.email,password:this.password});this.showDialog(`Registrierung erfolgreich`,e.data?.message||`Ihr Konto wurde erfolgreich erstellt.`),this.name=``,this.email=``,this.password=``}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`register`},g={key:0,class:`dialog`},_={class:`dialog-content`};function v(s,p,m,v,y,b){let x=l(`router-link`);return u(),c(`div`,h,[p[11]||=o(`h2`,null,`Registrieren`,-1),o(`form`,{onSubmit:p[3]||=d((...e)=>b.register&&b.register(...e),[`prevent`])},[p[5]||=o(`label`,{for:`name`},`Name:`,-1),e(o(`input`,{type:`text`,id:`name`,"onUpdate:modelValue":p[0]||=e=>y.name=e,required:``},null,512),[[f,y.name]]),p[6]||=o(`label`,{for:`email`},`Email-Adresse:`,-1),e(o(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":p[1]||=e=>y.email=e,required:``},null,512),[[f,y.email]]),p[7]||=o(`label`,{for:`password`},`Passwort:`,-1),e(o(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[2]||=e=>y.password=e,required:``},null,512),[[f,y.password]]),p[8]||=o(`button`,{type:`submit`},`Registrieren`,-1)],32),o(`p`,null,[i(x,{to:`/login`},{default:t(()=>[...p[9]||=[a(`Login`,-1)]]),_:1})]),o(`p`,null,[i(x,{to:`/forgot-password`},{default:t(()=>[...p[10]||=[a(`Passwort vergessen?`,-1)]]),_:1})]),y.dialogVisible?(u(),c(`div`,g,[o(`div`,_,[o(`h3`,null,n(y.dialogTitle),1),o(`p`,null,n(y.dialogMessage),1),o(`button`,{type:`button`,onClick:p[4]||=(...e)=>b.closeDialog&&b.closeDialog(...e)},`Schließen`)])])):r(``,!0)])}var y=s(m,[[`render`,v],[`__scopeId`,`data-v-70d90412`]]);export{y as default};
//# sourceMappingURL=RegisterContent-DMtCOSqN.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.worship-card[data-v-1fe1f289]{gap:var(--space-4);grid-template-columns:180px 1fr;align-items:start;display:grid}@media (width<=640px){.worship-card[data-v-1fe1f289]{gap:var(--space-3);grid-template-columns:1fr}}.worship-card__left[data-v-1fe1f289]{padding:var(--space-3);color:var(--color-text);background:var(--color-bg-subtle);border:1px solid #00000014;border-radius:6px}.worship-card__date[data-v-1fe1f289]{font-weight:600}.worship-card__day[data-v-1fe1f289],.worship-card__place[data-v-1fe1f289]{margin-top:var(--space-1);color:#000000bf}.worship-card__right[data-v-1fe1f289]{min-width:0}.highlight-time[data-v-1fe1f289]{text-decoration:underline}.neighborhood-invitation[data-v-1fe1f289]{font-weight:600}a[data-v-1fe1f289]{color:var(--color-brand-primary-hover)}.internal-information[data-v-1fe1f289]{color:#a01935;font-style:italic}.stack-tight[data-v-1fe1f289]{gap:var(--space-2)}.image[data-v-f81373cb]{max-width:400px;max-height:300px}.mg-title[data-v-d13976fb]{margin-top:0}.expiry-date[data-v-124908c6]{color:var(--color-text-muted);font-size:.9em;font-style:italic}.stack-tight[data-v-124908c6]{gap:var(--space-2)}.float-list[data-v-124908c6]{gap:var(--space-3);display:grid}.float-item[data-v-124908c6]{margin:0}span[data-v-bfbab2d9]{cursor:pointer;color:#00f;text-decoration:underline}

View File

@@ -0,0 +1,2 @@
import{D as e,E as t,Z as n,l as r,m as i,p as a,s as o,t as s,u as c,w as l,x as u}from"./_plugin-vue_export-helper-CCRG-STz.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-D2hy5fF2.js";import{i as p}from"./router-fJ3nWd5S.js";var m={name:`ResetPasswordComponent`,data(){return{password:``,confirmPassword:``,token:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},computed:{isFormValid(){return this.password.length>=6&&this.password===this.confirmPassword&&this.token}},mounted(){this.token=new URLSearchParams(window.location.search).get(`token`),this.token||this.showDialog(`Fehler`,`Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.`)},methods:{async submitResetPassword(){if(this.password!==this.confirmPassword){this.showDialog(`Fehler`,`Die Passwörter stimmen nicht überein.`);return}try{let e=await p.post(`/auth/reset-password`,{token:this.token,password:this.password});this.showDialog(`Erfolg`,e.data?.message||`Passwort erfolgreich zurückgesetzt. Sie können sich jetzt anmelden.`),this.password=``,this.confirmPassword=``,setTimeout(()=>{this.$router.push(`/auth/login`)},3e3)}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`reset-password`},g=[`disabled`],_={key:0,class:`dialog`},v={class:`dialog-content`};function y(s,p,m,y,b,x){let S=l(`router-link`);return u(),c(`div`,h,[p[7]||=o(`h2`,null,`Neues Passwort setzen`,-1),o(`form`,{onSubmit:p[2]||=d((...e)=>x.submitResetPassword&&x.submitResetPassword(...e),[`prevent`])},[p[4]||=o(`label`,{for:`password`},`Neues Passwort:`,-1),e(o(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[0]||=e=>b.password=e,required:``,minlength:`6`},null,512),[[f,b.password]]),p[5]||=o(`label`,{for:`confirmPassword`},`Passwort bestätigen:`,-1),e(o(`input`,{type:`password`,id:`confirmPassword`,"onUpdate:modelValue":p[1]||=e=>b.confirmPassword=e,required:``,minlength:`6`},null,512),[[f,b.confirmPassword]]),o(`button`,{type:`submit`,disabled:!x.isFormValid},`Passwort zurücksetzen`,8,g)],32),o(`p`,null,[i(S,{to:`/login`},{default:t(()=>[...p[6]||=[a(`Zurück zum Login`,-1)]]),_:1})]),b.dialogVisible?(u(),c(`div`,_,[o(`div`,v,[o(`h3`,null,n(b.dialogTitle),1),o(`p`,null,n(b.dialogMessage),1),o(`button`,{type:`button`,onClick:p[3]||=(...e)=>x.closeDialog&&x.closeDialog(...e)},`Schließen`)])])):r(``,!0)])}var b=s(m,[[`render`,y],[`__scopeId`,`data-v-3a4e9538`]]);export{b as default};
//# sourceMappingURL=ResetPasswordContent-C_qVDFqg.js.map

View File

@@ -0,0 +1,2 @@
import{M as e,O as t,c as n,ct as r,d as i,h as a,j as o,m as s,t as c,u as l,w as u}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as d,c as f}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as p}from"./router-Oi46QANG.js";var m={name:`ResetPasswordComponent`,data(){return{password:``,confirmPassword:``,token:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},computed:{isFormValid(){return this.password.length>=6&&this.password===this.confirmPassword&&this.token}},mounted(){this.token=new URLSearchParams(window.location.search).get(`token`),this.token||this.showDialog(`Fehler`,`Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.`)},methods:{async submitResetPassword(){if(this.password!==this.confirmPassword){this.showDialog(`Fehler`,`Die Passwörter stimmen nicht überein.`);return}try{let e=await p.post(`/auth/reset-password`,{token:this.token,password:this.password});this.showDialog(`Erfolg`,e.data?.message||`Passwort erfolgreich zurückgesetzt. Sie können sich jetzt anmelden.`),this.password=``,this.confirmPassword=``,setTimeout(()=>{this.$router.push(`/auth/login`)},3e3)}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`reset-password`},g=[`disabled`],_={key:0,class:`dialog`},v={class:`dialog-content`};function y(c,p,m,y,b,x){let S=t(`router-link`);return u(),i(`div`,h,[p[7]||=n(`h2`,null,`Neues Passwort setzen`,-1),n(`form`,{onSubmit:p[2]||=f((...e)=>x.submitResetPassword&&x.submitResetPassword(...e),[`prevent`])},[p[4]||=n(`label`,{for:`password`},`Neues Passwort:`,-1),e(n(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[0]||=e=>b.password=e,required:``,minlength:`6`},null,512),[[d,b.password]]),p[5]||=n(`label`,{for:`confirmPassword`},`Passwort bestätigen:`,-1),e(n(`input`,{type:`password`,id:`confirmPassword`,"onUpdate:modelValue":p[1]||=e=>b.confirmPassword=e,required:``,minlength:`6`},null,512),[[d,b.confirmPassword]]),n(`button`,{type:`submit`,disabled:!x.isFormValid},`Passwort zurücksetzen`,8,g)],32),n(`p`,null,[a(S,{to:`/login`},{default:o(()=>[...p[6]||=[s(`Zurück zum Login`,-1)]]),_:1})]),b.dialogVisible?(u(),i(`div`,_,[n(`div`,v,[n(`h3`,null,r(b.dialogTitle),1),n(`p`,null,r(b.dialogMessage),1),n(`button`,{type:`button`,onClick:p[3]||=(...e)=>x.closeDialog&&x.closeDialog(...e)},`Schließen`)])])):l(``,!0)])}var b=c(m,[[`render`,y],[`__scopeId`,`data-v-3a4e9538`]]);export{b as default};
//# sourceMappingURL=ResetPasswordContent-Cxer-PjJ.js.map

View File

@@ -0,0 +1,2 @@
import{C as e,E as t,T as n,X as r,b as i,f as a,l as o,p as s,s as c,t as l,u}from"./_plugin-vue_export-helper-CfRVXrSo.js";import{a as d,r as f}from"./runtime-dom.esm-bundler-DdqN-WFI.js";import{i as p}from"./router-BSepcPus.js";var m={name:`ResetPasswordComponent`,data(){return{password:``,confirmPassword:``,token:``,dialogTitle:``,dialogMessage:``,dialogVisible:!1}},computed:{isFormValid(){return this.password.length>=6&&this.password===this.confirmPassword&&this.token}},mounted(){this.token=new URLSearchParams(window.location.search).get(`token`),this.token||this.showDialog(`Fehler`,`Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.`)},methods:{async submitResetPassword(){if(this.password!==this.confirmPassword){this.showDialog(`Fehler`,`Die Passwörter stimmen nicht überein.`);return}try{let e=await p.post(`/auth/reset-password`,{token:this.token,password:this.password});this.showDialog(`Erfolg`,e.data?.message||`Passwort erfolgreich zurückgesetzt. Sie können sich jetzt anmelden.`),this.password=``,this.confirmPassword=``,setTimeout(()=>{this.$router.push(`/auth/login`)},3e3)}catch(e){let t=e?.response?.data?.message||e?.message||`Ein unbekannter Fehler ist aufgetreten`;this.showDialog(`Fehler`,t)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},h={class:`reset-password`},g=[`disabled`],_={key:0,class:`dialog`},v={class:`dialog-content`};function y(l,p,m,y,b,x){let S=e(`router-link`);return i(),u(`div`,h,[p[7]||=c(`h2`,null,`Neues Passwort setzen`,-1),c(`form`,{onSubmit:p[2]||=d((...e)=>x.submitResetPassword&&x.submitResetPassword(...e),[`prevent`])},[p[4]||=c(`label`,{for:`password`},`Neues Passwort:`,-1),t(c(`input`,{type:`password`,id:`password`,"onUpdate:modelValue":p[0]||=e=>b.password=e,required:``,minlength:`6`},null,512),[[f,b.password]]),p[5]||=c(`label`,{for:`confirmPassword`},`Passwort bestätigen:`,-1),t(c(`input`,{type:`password`,id:`confirmPassword`,"onUpdate:modelValue":p[1]||=e=>b.confirmPassword=e,required:``,minlength:`6`},null,512),[[f,b.confirmPassword]]),c(`button`,{type:`submit`,disabled:!x.isFormValid},`Passwort zurücksetzen`,8,g)],32),c(`p`,null,[s(S,{to:`/login`},{default:n(()=>[...p[6]||=[a(`Zurück zum Login`,-1)]]),_:1})]),b.dialogVisible?(i(),u(`div`,_,[c(`div`,v,[c(`h3`,null,r(b.dialogTitle),1),c(`p`,null,r(b.dialogMessage),1),c(`button`,{type:`button`,onClick:p[3]||=(...e)=>x.closeDialog&&x.closeDialog(...e)},`Schließen`)])])):o(``,!0)])}var b=l(m,[[`render`,y],[`__scopeId`,`data-v-3a4e9538`]]);export{b as default};
//# sourceMappingURL=ResetPasswordContent-dS-0Sn_n.js.map

View File

@@ -0,0 +1,2 @@
import{c as e,ct as t,d as n,t as r,w as i}from"./_plugin-vue_export-helper-Conii5fq.js";import{r as a}from"./vuex.esm-bundler-CDO_-3pz.js";var o={name:`ServiceUnavailableComponent`,computed:{...a([`menuLoadError`]),message(){return this.menuLoadError||`Die Website ist vorübergehend nicht vollständig erreichbar.`}}},s={class:`service-unavailable`};function c(r,a,o,c,l,u){return i(),n(`div`,s,[a[0]||=e(`h1`,null,`Vorübergehend nicht erreichbar`,-1),e(`p`,null,t(u.message),1),a[1]||=e(`p`,{class:`hint`},` Es liegt vermutlich ein technisches Problem vor (z.\xA0B. die Datenbank). Bitte laden Sie die Seite in einigen Minuten erneut. `,-1)])}var l=r(o,[[`render`,c],[`__scopeId`,`data-v-73264a8d`]]);export{l as default};
//# sourceMappingURL=ServiceUnavailableComponent-8ZFfJRMP.js.map

View File

@@ -0,0 +1,2 @@
import{Z as e,s as t,t as n,u as r,x as i}from"./_plugin-vue_export-helper-CCRG-STz.js";import{r as a}from"./vuex.esm-bundler-Ci4zImA8.js";var o={name:`ServiceUnavailableComponent`,computed:{...a([`menuLoadError`]),message(){return this.menuLoadError||`Die Website ist vorübergehend nicht vollständig erreichbar.`}}},s={class:`service-unavailable`};function c(n,a,o,c,l,u){return i(),r(`div`,s,[a[0]||=t(`h1`,null,`Vorübergehend nicht erreichbar`,-1),t(`p`,null,e(u.message),1),a[1]||=t(`p`,{class:`hint`},` Es liegt vermutlich ein technisches Problem vor (z.\xA0B. die Datenbank). Bitte laden Sie die Seite in einigen Minuten erneut. `,-1)])}var l=n(o,[[`render`,c],[`__scopeId`,`data-v-73264a8d`]]);export{l as default};
//# sourceMappingURL=ServiceUnavailableComponent-DqbVYlgq.js.map

View File

@@ -0,0 +1 @@
.impressum[data-v-5935f2f2]{max-width:800px;margin:auto;padding:20px}h1[data-v-5935f2f2],h2[data-v-5935f2f2],h3[data-v-5935f2f2],h4[data-v-5935f2f2]{color:#333;margin-top:20px}p[data-v-5935f2f2]{line-height:1.6}a[data-v-5935f2f2]{color:#007bff;text-decoration:none}a[data-v-5935f2f2]:hover{text-decoration:underline}

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 @@
.upload-files[data-v-8ac38dc3]{width:100%;margin:auto}.upload-files div[data-v-8ac38dc3]{margin-bottom:10px}.file-list[data-v-8ac38dc3]{margin-top:20px;padding:0;list-style-type:none}.file-list li[data-v-8ac38dc3]{border-bottom:1px solid #ddd;padding:10px 0}.file-info[data-v-8ac38dc3]{cursor:pointer;justify-content:space-between;display:flex}.file-title[data-v-8ac38dc3]{font-weight:700}.file-name[data-v-8ac38dc3]{color:#555}.file-date[data-v-8ac38dc3]{color:#888}

View File

@@ -0,0 +1,2 @@
import{C as e,E as t,L as n,M as r,c as i,ct as a,d as o,i as s,t as c,w as l}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as u}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as d}from"./router-Oi46QANG.js";var f={name:`UploadFilesComponent`,setup(){let t=n(null),r=n(``),i=n([]);return e(async()=>{try{i.value=(await d.get(`/files`)).data}catch(e){console.error(`Fehler beim Abrufen der Dateien:`,e)}}),{fileToUpload:t,fileTitle:r,uploadedFiles:i,handleFileUpload:e=>{t.value=e.target.files[0]},uploadFiles:async()=>{if(!t.value||!r.value){alert(`Bitte wählen Sie eine Datei aus und geben Sie einen Titel ein.`);return}let e=new FormData;e.append(`file`,t.value),e.append(`title`,r.value);try{let n=(await d.post(`/files`,e,{headers:{"Content-Type":`multipart/form-data`}})).data;i.value.push({id:n.id,title:n.title,originalName:n.originalName,createdAt:n.createdAt,hash:n.hash}),t.value=null,r.value=``}catch(e){console.error(`Fehler beim Hochladen der Datei:`,e)}},downloadFile:async e=>{let t=e.originalName.substring(e.originalName.lastIndexOf(`.`)),n=await d.get(`/files/download/${e.hash}`,{responseType:`blob`}),r=new Blob([n.data],{type:n.data.type}),i=document.createElement(`a`);i.href=window.URL.createObjectURL(r),i.download=`${e.title}${t}`,i.click(),window.URL.revokeObjectURL(i.href)},formatDate:e=>new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`long`,day:`numeric`})}}},p={class:`upload-files`},m={class:`file-list`},h={class:`file-info`},g=[`onClick`],_=[`onClick`],v={class:`file-date`};function y(e,n,c,d,f,y){return l(),o(`div`,p,[n[5]||=i(`h2`,null,`Dateien hochladen`,-1),i(`div`,null,[n[3]||=i(`label`,{for:`file-upload`},`Datei auswählen:`,-1),i(`input`,{id:`file-upload`,type:`file`,onChange:n[0]||=(...e)=>d.handleFileUpload&&d.handleFileUpload(...e)},null,32)]),i(`div`,null,[n[4]||=i(`label`,{for:`file-title`},`Titel eingeben:`,-1),r(i(`input`,{id:`file-title`,type:`text`,"onUpdate:modelValue":n[1]||=e=>d.fileTitle=e},null,512),[[u,d.fileTitle]])]),i(`button`,{onClick:n[2]||=(...e)=>d.uploadFiles&&d.uploadFiles(...e)},`Hochladen`),i(`ul`,m,[(l(!0),o(s,null,t(d.uploadedFiles,e=>(l(),o(`li`,{key:e.id},[i(`div`,h,[i(`span`,{class:`file-title`,onClick:t=>d.downloadFile(e)},a(e.title),9,g),i(`span`,{class:`file-name`,onClick:t=>d.downloadFile(e)},a(e.originalName),9,_),i(`span`,v,a(d.formatDate(e.createdAt)),1)])]))),128))])])}var b=c(f,[[`render`,y],[`__scopeId`,`data-v-8ac38dc3`]]);export{b as default};
//# sourceMappingURL=UploadFileManagement-Dg4Khs4s.js.map

View File

@@ -0,0 +1 @@
.user-administration[data-v-b4cc64c6]{padding:20px}.user-administration h1[data-v-b4cc64c6],.user-administration h2[data-v-b4cc64c6]{margin-bottom:20px}.user-administration form[data-v-b4cc64c6]{flex-direction:column;margin-bottom:20px;display:flex}.user-administration label[data-v-b4cc64c6]{margin-top:10px}.user-administration input[type=text][data-v-b4cc64c6],.user-administration input[type=email][data-v-b4cc64c6],.user-administration input[type=password][data-v-b4cc64c6]{padding:5px;font-size:16px}.user-administration ul[data-v-b4cc64c6]{padding:0;list-style-type:none}.user-administration li[data-v-b4cc64c6]{cursor:pointer;border-bottom:1px solid #ddd;padding:10px}.user-administration li[data-v-b4cc64c6]:hover{background-color:#f0f0f0}

View File

@@ -0,0 +1,2 @@
import{E as e,M as t,c as n,ct as r,d as i,i as a,t as o,u as s,w as c}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as l,c as u,r as d}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{i as f}from"./router-Oi46QANG.js";var p={name:`UserAdministration`,data(){return{users:[],currentUser:{name:``,email:``,password:``,active:!1},isCreating:!0}},computed:{formTitle(){return this.isCreating?`Benutzer erstellen`:`Benutzer bearbeiten`}},methods:{async fetchUsers(){try{this.users=(await f.get(`/users`)).data}catch(e){console.error(`Fehler beim Abrufen der Benutzer:`,e)}},async saveUser(){this.isCreating?await this.createUser():await this.updateUser(),this.resetForm(),this.fetchUsers()},async createUser(){try{await f.post(`/users`,this.currentUser)}catch(e){console.error(`Fehler beim Erstellen des Benutzers:`,e)}},async updateUser(){try{await f.put(`/users/${this.currentUser.id}`,this.currentUser)}catch(e){console.error(`Fehler beim Aktualisieren des Benutzers:`,e)}},editUser(e){this.currentUser={...e,password:``},this.isCreating=!1},resetForm(){this.currentUser={name:``,email:``,password:``,active:!1},this.isCreating=!0}},mounted(){this.fetchUsers()}},m={class:`user-administration`},h=[`required`],g={type:`submit`},_={key:1},v=[`onClick`];function y(o,f,p,y,b,x){return c(),i(`div`,m,[f[11]||=n(`h1`,null,`Benutzerverwaltung`,-1),n(`h2`,null,r(x.formTitle),1),n(`form`,{onSubmit:f[4]||=u((...e)=>x.saveUser&&x.saveUser(...e),[`prevent`])},[f[7]||=n(`label`,{for:`name`},`Name:`,-1),t(n(`input`,{id:`name`,"onUpdate:modelValue":f[0]||=e=>b.currentUser.name=e,required:``},null,512),[[l,b.currentUser.name]]),f[8]||=n(`label`,{for:`email`},`Email:`,-1),t(n(`input`,{id:`email`,"onUpdate:modelValue":f[1]||=e=>b.currentUser.email=e,type:`email`,required:``},null,512),[[l,b.currentUser.email]]),f[9]||=n(`label`,{for:`password`},`Passwort:`,-1),t(n(`input`,{id:`password`,"onUpdate:modelValue":f[2]||=e=>b.currentUser.password=e,type:`password`,required:b.isCreating},null,8,h),[[l,b.currentUser.password]]),n(`div`,null,[f[6]||=n(`label`,{for:`active`},`Aktiv:`,-1),t(n(`input`,{id:`active`,"onUpdate:modelValue":f[3]||=e=>b.currentUser.active=e,type:`checkbox`},null,512),[[d,b.currentUser.active]])]),n(`button`,g,r(b.isCreating?`Erstellen`:`Aktualisieren`),1)],32),b.isCreating?s(``,!0):(c(),i(`button`,{key:0,onClick:f[5]||=(...e)=>x.resetForm&&x.resetForm(...e)},`Zurück zu Benutzer erstellen`)),b.users.length?(c(),i(`div`,_,[f[10]||=n(`h2`,null,`Vorhandene Benutzer`,-1),n(`ul`,null,[(c(!0),i(a,null,e(b.users,e=>(c(),i(`li`,{key:e.id,onClick:t=>x.editUser(e)},r(e.name)+` (`+r(e.email)+`) `,9,v))),128))])])):s(``,!0)])}var b=o(p,[[`render`,y],[`__scopeId`,`data-v-b4cc64c6`]]);export{b as default};
//# sourceMappingURL=UserAdministration-DDKpXIoG.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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,2 @@
function e(e){let[t,n]=e.split(`:`);return`${t}:${n}`}function t(e){return new Date(e).toLocaleDateString(`de-DE`,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function n(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}export{e as n,n as r,t};
//# sourceMappingURL=strings-ldR5sTJW.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long