49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						|
    <div class="grow bg-gray-900 flex flex-col transition-all" :class="{'ml-56': menuStore.visible, 'ml-0': !menuStore.visible}">
 | 
						|
        <Head :title="$page.props.title"></Head>
 | 
						|
        <page-header :title="$page.props.title">
 | 
						|
            <template #before-title>
 | 
						|
                <a href="#" class="mr-2 lg:hidden" @click.prevent="menuStore.toggle()">
 | 
						|
                    <ui-sprite src="menu" class="text-gray-100 w-5 h-5"></ui-sprite>
 | 
						|
                </a>
 | 
						|
            </template>
 | 
						|
            <template #toolbar>
 | 
						|
                <slot name="toolbar"></slot>
 | 
						|
            </template>
 | 
						|
            <template #right>
 | 
						|
                <slot name="right"></slot>
 | 
						|
                <div class="flex items-center space-x-2">
 | 
						|
                    <div class="rounded-full overflow-hidden border-2 border-solid border-gray-300">
 | 
						|
                        <img :src="$page.props.auth.user.avatar_url" class="w-8 h-8 object-cover" />
 | 
						|
                    </div>
 | 
						|
                    <div class="text-gray-300" v-text="`${$page.props.auth.user.firstname} ${$page.props.auth.user.lastname}`"></div>
 | 
						|
                </div>
 | 
						|
            </template>
 | 
						|
        </page-header>
 | 
						|
 | 
						|
        <div :class="pageClass" class="grow flex flex-col">
 | 
						|
            <slot></slot>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
import {menuStore} from '../../stores/menuStore.js';
 | 
						|
 | 
						|
export default {
 | 
						|
    inheritAttrs: false,
 | 
						|
    props: {
 | 
						|
        pageClass: {
 | 
						|
            default: () => '',
 | 
						|
            required: false,
 | 
						|
            type: String,
 | 
						|
        },
 | 
						|
    },
 | 
						|
    data: function () {
 | 
						|
        return {
 | 
						|
            menuStore: menuStore(),
 | 
						|
        };
 | 
						|
    },
 | 
						|
};
 | 
						|
</script>
 |