2 lines
6.7 KiB
JavaScript
2 lines
6.7 KiB
JavaScript
import{C as e,E as t,I as n,L as r,O as i,S as a,c as o,ct as s,d as c,h as l,i as u,j as d,l as f,m as p,s as m,t as h,u as g,w as _}from"./_plugin-vue_export-helper-Conii5fq.js";import{c as v,n as y,s as b,t as x}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{a as S,n as C,r as w}from"./vuex.esm-bundler-CDO_-3pz.js";import{i as ee,n as T,r as E,t as D}from"./router-D9obg5ro.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var O={name:`NavbarComponent`,setup(){let t=S(),i=r(!1),o=n({}),s=r(window.innerWidth),c=m(()=>(t.state.menuData||[]).map(e=>{let n=Array.isArray(e.submenu)?e.submenu.filter(e=>e.showInMenu&&(!e.requiresAuth||t.getters.isLoggedIn)):e.submenu;return{...e,submenu:n}}).filter(e=>!(!e.showInMenu||e.requiresAuth&&!t.getters.isLoggedIn))),l=()=>{i.value=!i.value},u=e=>{s.value<=768&&(o[e]=!o[e])},d=()=>{i.value=!1,Object.keys(o).forEach(e=>{o[e]=!1})},f=()=>{s.value=window.innerWidth,s.value>768&&(i.value=!1,Object.keys(o).forEach(e=>{o[e]=!1}))};return e(()=>{window.addEventListener(`resize`,f)}),a(()=>{window.removeEventListener(`resize`,f)}),{isMenuOpen:i,isSubmenuOpen:o,windowWidth:s,menu:c,toggleMenu:l,toggleSubmenu:u,closeMenu:d}}},k={class:`navbar`},A=[`aria-expanded`],j={key:0,id:`main-menu`},M=[`onClick`,`onKeydown`,`aria-expanded`],N={key:0,class:`dropdown-content`};function P(e,n,r,a,m,h){let y=i(`router-link`);return _(),c(`nav`,k,[o(`button`,{class:`menu-toggle`,type:`button`,onClick:n[0]||=(...e)=>a.toggleMenu&&a.toggleMenu(...e),"aria-expanded":String(a.isMenuOpen),"aria-controls":`main-menu`},[...n[1]||=[o(`span`,{class:`menu-toggle__icon`,"aria-hidden":`true`},`≡`,-1),o(`span`,null,`Menü`,-1)]],8,A),a.isMenuOpen||a.windowWidth>768?(_(),c(`ul`,j,[n[2]||=o(`li`,{class:`ekhnlogo`},[o(`img`,{src:`/images/facettenkreuz.png`,class:`facettenkreuz`,alt:`EKHN`})],-1),(_(!0),c(u,null,t(a.menu,e=>(_(),c(`li`,{key:e.name},[e.link?(_(),f(y,{key:0,to:e.link,onClick:a.closeMenu,class:`nav-link`},{default:d(()=>[p(s(e.name),1)]),_:2},1032,[`to`,`onClick`])):g(``,!0),e.link?g(``,!0):(_(),c(`span`,{key:1,class:`nav-link pointer`,role:`button`,tabindex:`0`,onClick:t=>a.toggleSubmenu(e.name),onKeydown:[b(v(t=>a.toggleSubmenu(e.name),[`prevent`]),[`enter`]),b(v(t=>a.toggleSubmenu(e.name),[`prevent`]),[`space`])],"aria-expanded":String(!!a.isSubmenuOpen[e.name])},s(e.name),41,M)),l(x,{name:`fade`},{default:d(()=>[e.submenu&&e.submenu.length&&(a.isSubmenuOpen[e.name]||a.windowWidth>768)?(_(),c(`div`,N,[(_(!0),c(u,null,t(e.submenu,e=>(_(),f(y,{key:e.name,to:e.link,onClick:a.closeMenu},{default:d(()=>[p(s(e.name),1)]),_:2},1032,[`to`,`onClick`]))),128))])):g(``,!0)]),_:2},1024)]))),128))])):g(``,!0)])}var F=h(O,[[`render`,P],[`__scopeId`,`data-v-7fe2dd29`]]);function I(e,t){for(let n of e){if(n?.link===t)return n.pageTitle||n.name||``;if(n?.submenu?.length){let e=I(n.submenu,t);if(e)return e}}return``}var L={name:`BreadcrumbsComponent`,setup(){let e=ee(),t=S();return{crumbs:m(()=>{let n=e.path||`/`,r=[{label:`Startseite`,to:`/`}];if(n===`/`)return[];let i=I(t.state.menuData||[],n);return r.push({label:i||`Seite`,to:n}),r})}}},R={key:0,class:`breadcrumbs`,"aria-label":`Brotkrumen`},z={key:1,"aria-current":`page`};function B(e,n,r,a,l,m){let h=i(`router-link`);return a.crumbs.length?(_(),c(`nav`,R,[o(`ol`,null,[(_(!0),c(u,null,t(a.crumbs,(e,t)=>(_(),c(`li`,{key:e.to+`-`+t},[t<a.crumbs.length-1?(_(),f(h,{key:0,to:e.to},{default:d(()=>[p(s(e.label),1)]),_:2},1032,[`to`])):(_(),c(`span`,z,s(e.label),1))]))),128))])])):g(``,!0)}var te={name:`HeaderComponent`,components:{NavbarComponent:F,BreadcrumbsComponent:h(L,[[`render`,B],[`__scopeId`,`data-v-a3b4cf74`]])},methods:{...C([`loadMenuData`]),async reloadMenu(){await this.loadMenuData(),window.location.reload()}}},V={class:`header-title`};function H(e,t,n,r,a,s){let u=i(`NavbarComponent`),d=i(`BreadcrumbsComponent`);return _(),c(`header`,null,[o(`div`,V,[t[1]||=o(`h1`,null,`Evangelische Miriamgemeinde Frankfurt am Main`,-1),o(`button`,{class:`reload-icon`,type:`button`,onClick:t[0]||=(...e)=>s.reloadMenu&&s.reloadMenu(...e),"aria-label":`Menü neu laden`},` ⟳ `)]),l(u),l(d)])}var U=h(te,[[`render`,H],[`__scopeId`,`data-v-dcb71101`]]),W={name:`FooterComponent`,computed:{...w([`isLoggedIn`])},methods:{...C([`logout`]),async handleLogout(){try{await this.logout()}catch(e){console.error(`Fehler beim Logout:`,e)}}}},G={class:`footer`},K={class:`left-links`},q={class:`right-links`};function J(e,t,n,r,a,s){let u=i(`router-link`);return _(),c(`footer`,G,[o(`div`,K,[e.isLoggedIn?g(``,!0):(_(),f(u,{key:0,class:`login-link`,to:`/auth/login`},{default:d(()=>[...t[1]||=[p(`Login`,-1)]]),_:1})),e.isLoggedIn?(_(),c(`a`,{key:1,onClick:t[0]||=(...e)=>s.handleLogout&&s.handleLogout(...e),class:`logout-link`},`Logout`)):g(``,!0)]),o(`div`,q,[l(u,{to:`/terms`},{default:d(()=>[...t[2]||=[p(`Impressum`,-1)]]),_:1}),l(u,{to:`/privacy-policy`},{default:d(()=>[...t[3]||=[p(`Datenschutzerklärung`,-1)]]),_:1})])])}var Y={name:`AppComponent`,components:{HeaderComponent:U,FooterComponent:h(W,[[`render`,J],[`__scopeId`,`data-v-9633d905`]])},data(){return{windowWidth:window.innerWidth}},computed:{showRightColumn(){return this.windowWidth>1200},showOverlay(){return this.windowWidth<=1200&&this.windowWidth>=768},showAsFooter(){return this.windowWidth<768}},mounted(){window.addEventListener(`resize`,this.handleResize),document.title=`Evangelische Miriamgemeinde Frankfurt`},beforeUnmount(){window.removeEventListener(`resize`,this.handleResize)},methods:{handleResize(){this.windowWidth=window.innerWidth}}},X={id:`app`},Z={class:`content-section`},Q={class:`left-column`},ne={key:0,class:`right-column-overlay`},re={key:1,class:`right-column-overlay`},ie={key:0,class:`right-column`};function ae(e,t,n,r,a,s){let u=i(`HeaderComponent`),d=i(`router-view`),f=i(`FooterComponent`);return _(),c(`div`,X,[l(u),o(`main`,Z,[o(`div`,Q,[s.showOverlay?(_(),c(`div`,ne,[l(d,{name:`rightColumn`})])):g(``,!0),l(d),s.showAsFooter?(_(),c(`div`,re,[l(d,{name:`rightColumn`})])):g(``,!0)]),s.showRightColumn?(_(),c(`div`,ie,[l(d,{name:`rightColumn`})])):g(``,!0)]),l(f)])}var $=y(h(Y,[[`render`,ae]]));$.use(D),$.use(T),$.config.globalProperties.$axios=E,$.mount(`#app`);
|
|
//# sourceMappingURL=index-iNUMqw0C.js.map
|