2019-03-18 08:53:00 -03:00
|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<portal-target name="dropdown" slim />
|
|
|
|
<div class="flex flex-col">
|
|
|
|
<div class="min-h-screen flex flex-col" @click="hideDropdownMenus">
|
|
|
|
<div class="md:flex">
|
2019-05-19 08:38:32 -03:00
|
|
|
<div class="bg-indigo-900 md:flex-shrink-0 md:w-56 px-6 py-4 flex items-center justify-between md:justify-center">
|
2019-03-18 08:53:00 -03:00
|
|
|
<inertia-link class="mt-1" href="/">
|
|
|
|
<logo class="fill-white" width="120" height="28" />
|
|
|
|
</inertia-link>
|
|
|
|
<dropdown class="md:hidden" placement="bottom-end">
|
|
|
|
<svg class="fill-white w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z" /></svg>
|
2019-05-19 00:11:22 -03:00
|
|
|
<div slot="dropdown" class="mt-2 px-8 py-4 shadow-xl bg-indigo-700 rounded">
|
2019-03-18 08:53:00 -03:00
|
|
|
<main-menu />
|
|
|
|
</div>
|
|
|
|
</dropdown>
|
|
|
|
</div>
|
2019-05-18 10:13:19 -03:00
|
|
|
<div class="bg-white border-b w-full p-4 md:py-0 md:px-12 text-sm md:text-md flex justify-between items-center">
|
2019-05-15 10:06:24 -03:00
|
|
|
<div class="mt-1 mr-4">{{ $page.auth.user.account.name }}</div>
|
2019-03-18 08:53:00 -03:00
|
|
|
<dropdown class="mt-1" placement="bottom-end">
|
|
|
|
<div class="flex items-center cursor-pointer select-none group">
|
2019-05-19 00:11:22 -03:00
|
|
|
<div class="text-gray-800 group-hover:text-indigo-600 focus:text-indigo-600 mr-1 whitespace-no-wrap">
|
2019-05-15 10:06:24 -03:00
|
|
|
<span>{{ $page.auth.user.first_name }}</span>
|
|
|
|
<span class="hidden md:inline">{{ $page.auth.user.last_name }}</span>
|
2019-03-18 08:53:00 -03:00
|
|
|
</div>
|
2019-05-19 00:11:22 -03:00
|
|
|
<icon class="w-5 h-5 group-hover:fill-indigo-600 fill-gray-800 focus:fill-indigo-600" name="cheveron-down" />
|
2019-03-18 08:53:00 -03:00
|
|
|
</div>
|
2019-05-18 10:13:19 -03:00
|
|
|
<div slot="dropdown" class="mt-2 py-2 shadow-xl bg-white rounded text-sm">
|
2019-05-19 08:38:32 -03:00
|
|
|
<inertia-link class="block px-6 py-2 hover:bg-indigo-600 hover:text-white" :href="route('users.edit', $page.auth.user.id)">My Profile</inertia-link>
|
|
|
|
<inertia-link class="block px-6 py-2 hover:bg-indigo-600 hover:text-white" :href="route('users')">Manage Users</inertia-link>
|
|
|
|
<inertia-link class="block px-6 py-2 hover:bg-indigo-600 hover:text-white" :href="route('logout')" method="post">Logout</inertia-link>
|
2019-03-18 08:53:00 -03:00
|
|
|
</div>
|
|
|
|
</dropdown>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="flex flex-grow">
|
2019-05-19 08:38:32 -03:00
|
|
|
<div class="bg-indigo-800 flex-shrink-0 w-56 p-12 hidden md:block">
|
2019-03-18 08:53:00 -03:00
|
|
|
<main-menu />
|
|
|
|
</div>
|
|
|
|
<div class="w-full overflow-hidden px-4 py-8 md:p-12">
|
|
|
|
<slot />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import Dropdown from '@/Shared/Dropdown'
|
|
|
|
import Icon from '@/Shared/Icon'
|
|
|
|
import Logo from '@/Shared/Logo'
|
|
|
|
import MainMenu from '@/Shared/MainMenu'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
Dropdown,
|
|
|
|
Icon,
|
|
|
|
Logo,
|
|
|
|
MainMenu,
|
|
|
|
},
|
|
|
|
props: {
|
|
|
|
title: String,
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
showUserMenu: false,
|
|
|
|
accounts: null,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
title(title) {
|
|
|
|
this.updatePageTitle(title)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
this.updatePageTitle(this.title)
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
updatePageTitle(title) {
|
2019-05-15 10:06:24 -03:00
|
|
|
document.title = title ? `${title} | ${this.$page.app.name}` : this.$page.app.name
|
2019-03-18 08:53:00 -03:00
|
|
|
},
|
|
|
|
hideDropdownMenus() {
|
|
|
|
this.showUserMenu = false
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
</script>
|