2020-04-10 20:32:12 +02:00
|
|
|
<template>
|
2022-02-10 02:18:57 +01:00
|
|
|
<div id="app" class="flex font-sans grow">
|
2022-02-12 15:15:27 +01:00
|
|
|
<v-notification class="fixed z-40 right-0 bottom-0 mb-3 mr-3"></v-notification>
|
2021-06-22 23:00:14 +02:00
|
|
|
|
2021-04-11 00:57:47 +02:00
|
|
|
<!-- ******************************** Sidebar ******************************** -->
|
2022-05-17 00:22:45 +02:00
|
|
|
<div
|
2023-03-15 00:34:24 +01:00
|
|
|
class="fixed z-40 bg-gray-800 p-6 w-56 top-0 h-screen border-r border-gray-600 border-solid flex flex-col justify-between transition-all"
|
2022-11-22 01:55:57 +01:00
|
|
|
:class="{
|
2023-04-29 23:15:07 +02:00
|
|
|
'-left-[14rem]': !menuStore.isShifted,
|
|
|
|
'left-0': menuStore.isShifted,
|
2022-11-22 01:55:57 +01:00
|
|
|
}"
|
2022-05-17 00:22:45 +02:00
|
|
|
>
|
2021-04-11 00:57:47 +02:00
|
|
|
<div class="grid gap-2">
|
2021-04-11 01:25:40 +02:00
|
|
|
<v-link href="/" menu="dashboard" icon="loss">Dashboard</v-link>
|
2021-04-11 00:57:47 +02:00
|
|
|
<v-link href="/member" menu="member" icon="user">Mitglieder</v-link>
|
2023-03-15 00:34:24 +01:00
|
|
|
<v-link href="/subscription" v-show="hasModule('bill')" menu="subscription" icon="money">Beiträge</v-link>
|
2022-05-17 01:37:07 +02:00
|
|
|
<v-link href="/contribution" menu="contribution" icon="contribution">Zuschüsse</v-link>
|
2023-02-23 22:43:13 +01:00
|
|
|
<v-link href="/activity" menu="activity" icon="activity">Tätigkeiten</v-link>
|
2023-06-13 22:03:32 +02:00
|
|
|
<v-link href="/maildispatcher" menu="maildispatcher" icon="at">Mail-Verteiler</v-link>
|
2022-05-17 00:22:45 +02:00
|
|
|
</div>
|
|
|
|
<div class="grid gap-2">
|
2022-09-06 00:36:14 +02:00
|
|
|
<v-link href="/setting" menu="setting" icon="setting">Einstellungen</v-link>
|
2022-05-17 01:37:07 +02:00
|
|
|
<v-link @click.prevent="$inertia.post('/logout')" icon="logout" href="/logout">Abmelden</v-link>
|
2021-04-11 00:57:47 +02:00
|
|
|
</div>
|
2023-04-29 23:15:07 +02:00
|
|
|
<a href="#" @click.prevent="menuStore.hide()" v-if="menuStore.hideable" class="absolute right-0 top-0 mr-2 mt-2">
|
2022-11-22 01:55:57 +01:00
|
|
|
<svg-sprite src="close" class="w-5 h-5 text-gray-300"></svg-sprite>
|
|
|
|
</a>
|
2021-04-11 00:57:47 +02:00
|
|
|
</div>
|
|
|
|
|
2023-04-29 23:15:07 +02:00
|
|
|
<slot></slot>
|
2020-04-10 20:32:12 +02:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2021-04-11 00:57:47 +02:00
|
|
|
import VLink from './_VLink.vue';
|
2023-04-29 23:15:07 +02:00
|
|
|
import {menuStore} from '../stores/menuStore.js';
|
2021-06-22 23:00:14 +02:00
|
|
|
|
2020-04-10 20:32:12 +02:00
|
|
|
export default {
|
2022-11-22 01:55:57 +01:00
|
|
|
data: function () {
|
|
|
|
return {
|
2023-04-29 23:15:07 +02:00
|
|
|
menuStore: menuStore(),
|
2022-11-22 01:55:57 +01:00
|
|
|
};
|
|
|
|
},
|
2022-02-12 15:15:27 +01:00
|
|
|
components: {
|
2022-05-17 00:22:45 +02:00
|
|
|
VNotification: () => import('../components/VNotification.vue'),
|
|
|
|
VLink,
|
2022-02-12 15:15:27 +01:00
|
|
|
},
|
2021-04-11 10:17:30 +02:00
|
|
|
|
|
|
|
computed: {
|
2021-11-19 00:53:19 +01:00
|
|
|
filterMenu() {
|
2022-05-17 00:22:45 +02:00
|
|
|
return this.$page.props.toolbar ? this.$page.props.toolbar.filter((menu) => menu.show !== false) : [];
|
|
|
|
},
|
|
|
|
},
|
2022-11-22 01:55:57 +01:00
|
|
|
|
|
|
|
created() {
|
2023-04-29 23:15:07 +02:00
|
|
|
this.menuStore.startInertiaListener();
|
2022-11-22 01:55:57 +01:00
|
|
|
},
|
2020-04-10 20:32:12 +02:00
|
|
|
};
|
|
|
|
</script>
|
2021-04-11 00:57:47 +02:00
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.main-grid {
|
|
|
|
grid-template-columns: min-content 1fr;
|
|
|
|
display: grid;
|
|
|
|
}
|
|
|
|
</style>
|