toby/resources/js/Shared/Layout/AppLayout.vue
2022-07-08 12:50:49 +02:00

51 lines
1.0 KiB
Vue

<template>
<div class="relative min-h-screen">
<MainMenu
:auth="auth"
:years="years"
:vacation-requests-count="vacationRequestsCount"
/>
<main class="flex flex-col flex-1 py-8 lg:ml-64">
<div class="lg:px-4">
<slot />
</div>
<div class="h-8 sm:h-4"></div>
</main>
<DeployInfo
:deploy-information="deployInformation"
class="absolute bottom-0 justify-end"
/>
</div>
</template>
<script setup>
import MainMenu from '@/Shared/MainMenu'
import { useToast } from 'vue-toastification'
import { watch } from 'vue'
import DeployInfo from '@/Shared/DeployInfo'
const props = defineProps({
flash: Object,
auth: Object,
years: Object,
vacationRequestsCount: Number,
deployInformation: Object,
})
const toast = useToast()
watch(() => props.flash, flash => {
if (flash.success) {
toast.success(flash.success)
}
if (flash.info) {
toast.info(flash.info)
}
if (flash.error) {
toast.error(flash.error)
}
}, { immediate:true })
</script>