2023-04-29 23:15:07 +02:00
|
|
|
<template>
|
|
|
|
<div class="grow bg-gray-900 flex flex-col transition-all" :class="{'ml-56': menuStore.visible, 'ml-0': !menuStore.visible}">
|
2023-05-20 01:59:20 +02:00
|
|
|
<page-header :title="$page.props.title">
|
2023-05-20 02:38:38 +02:00
|
|
|
<template #before-title>
|
|
|
|
<a href="#" @click.prevent="menuStore.toggle()" class="mr-2 lg:hidden">
|
2023-05-20 01:59:20 +02:00
|
|
|
<svg-sprite src="menu" class="text-gray-100 w-5 h-5"></svg-sprite>
|
|
|
|
</a>
|
2023-05-20 02:38:38 +02:00
|
|
|
</template>
|
|
|
|
<template #toolbar>
|
2023-05-20 01:45:43 +02:00
|
|
|
<slot name="toolbar"></slot>
|
2023-05-20 02:38:38 +02:00
|
|
|
</template>
|
|
|
|
<template #right>
|
2023-04-29 23:15:07 +02:00
|
|
|
<portal-target name="toolbar-right"> </portal-target>
|
2023-05-20 02:38:38 +02:00
|
|
|
</template>
|
2023-05-20 01:59:20 +02:00
|
|
|
</page-header>
|
2023-04-29 23:15:07 +02:00
|
|
|
|
2023-04-29 23:41:26 +02:00
|
|
|
<div :class="pageClass" class="grow flex flex-col">
|
2023-04-29 23:15:07 +02:00
|
|
|
<slot></slot>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {menuStore} from '../../stores/menuStore.js';
|
|
|
|
|
|
|
|
export default {
|
2023-04-29 23:41:26 +02:00
|
|
|
inheritAttrs: false,
|
|
|
|
props: {
|
|
|
|
pageClass: {
|
|
|
|
default: () => '',
|
|
|
|
required: false,
|
|
|
|
type: String,
|
|
|
|
},
|
|
|
|
},
|
2023-04-29 23:15:07 +02:00
|
|
|
data: function () {
|
|
|
|
return {
|
|
|
|
menuStore: menuStore(),
|
|
|
|
};
|
|
|
|
},
|
|
|
|
};
|
|
|
|
</script>
|