Files
antrean-operasi/components/layout/full/Main.vue
2026-03-05 10:34:59 +07:00

97 lines
2.9 KiB
Vue

<script setup lang="ts">
import { onMounted, ref, shallowRef, watch } from "vue";
import { useDisplay } from "vuetify";
import sidebarItems from "~/components/layout/full/vertical-sidebar/sidebarItem";
import Customizer from "~/components/layout/full/customizer/Customizer.vue";
import { Menu2Icon } from "vue-tabler-icons";
import { useCustomizerStore } from "~/store/customizer";
import { usePendaftaranStore } from "~/store/pendaftaran";
import { storeToRefs } from 'pinia';
const sidebarMenu = shallowRef(sidebarItems);
const customizer = useCustomizerStore();
const pendaftaranStore = usePendaftaranStore();
const { snackbar, snackbarMessage, snackbarColor } = storeToRefs(pendaftaranStore);
const { mdAndDown } = useDisplay();
const sDrawer = ref(true);
onMounted(() => {
sDrawer.value = !mdAndDown.value; // hide on mobile, show on desktop
});
watch(mdAndDown, (val) => {
sDrawer.value = !val;
});
</script>
<template>
<!------Sidebar-------->
<v-locale-provider>
<v-app
:theme="customizer.actTheme"
class="bg-containerBg"
:class="[
customizer.actTheme,
customizer.mini_sidebar ? 'mini-sidebar' : '',
customizer.setHorizontalLayout ? 'horizontalLayout' : 'verticalLayout',
customizer.setBorderCard ? 'cardBordered' : ''
]"
>
<!---Customizer location left side--->
<v-navigation-drawer
app
temporary
elevation="10"
location="left"
v-model="customizer.Customizer_drawer"
width="320"
class="left-customizer"
>
<Customizer />
</v-navigation-drawer>
<LazyLayoutFullVerticalSidebar v-if="!customizer.setHorizontalLayout" />
<div :class="customizer.boxed ? 'maxWidth' : 'full-header'">
<LazyLayoutFullVerticalHeader v-if="!customizer.setHorizontalLayout" />
</div>
<v-main class="ml-md-4">
<div class="rtl-lyt mb-3 hr-layout bg-containerBg">
<v-container
fluid
class="page-wrapper bg-background pt-md-8 rounded-xl"
>
<div>
<div class="">
<NuxtPage />
</div>
</div>
</v-container>
</div>
<!-- Footer -->
<!-- <v-container fluid class="text-center py-4">
<p class="text-caption textSecondary">&copy; 2026 RSUD Dr. Saiful Anwar Provinsi Jawa Timur. All rights reserved.</p>
</v-container> -->
</v-main>
<!-- Global Snackbar -->
<v-snackbar
v-model="snackbar"
:color="snackbarColor"
:timeout="3000"
location="top"
>
{{ snackbarMessage }}
<template #actions>
<v-btn
variant="text"
@click="pendaftaranStore.closeSnackbar()"
>
Close
</v-btn>
</template>
</v-snackbar>
</v-app>
</v-locale-provider>
</template>