WorkshopTasker/components/navigation/navigation.vue

38 lines
1.3 KiB
Vue
Raw Normal View History

2023-05-11 06:03:22 +02:00
<script setup>
import { useDisplay, useTheme } from "vuetify/lib/framework.mjs";
2023-05-11 06:03:22 +02:00
import { ref } from "vue";
import { navigateTo, useRoute } from "#app";
const route = useRoute();
2023-05-11 06:03:22 +02:00
const { mobile } = useDisplay();
const navOpen = ref(!mobile.value);
const navSelected = ref([route.path]);
const theme = useTheme();
function switchTheme() {
theme.global.name.value = theme.global.current.value.dark ? 'light' : 'dark';
}
2023-05-11 06:03:22 +02:00
</script>
<template>
<VAppBar v-if="mobile" order="5">
<VAppBarNavIcon @click.end="navOpen = !navOpen" />
<VToolbarTitle>Database Project</VToolbarTitle>
</VAppBar>
<VNavigationDrawer v-model="navOpen" :temporary="mobile">
<VList v-model:selected="navSelected" density="compact" nav>
2023-05-11 06:03:22 +02:00
<VListItem prepend-icon="mdi-login" title="Login" value="/login" @click="navigateTo('/login')" />
2023-05-24 09:40:45 +02:00
<VListItem prepend-icon="mdi-account" title="Clients" value="/clients" @click="navigateTo('/clients')" />
<VListItem prepend-icon="mdi-receipt-text" title="Orders" value="/orders" @click="navigateTo('/orders')" />
2023-05-24 09:40:45 +02:00
<VDivider />
2023-05-11 06:03:22 +02:00
</VList>
<template #append>
<VList density="compact" nav>
<VDivider />
<VListItem prepend-icon="mdi-theme-light-dark" title="Switch theme" class="mx-auto" @click="switchTheme()" />
</VList>
</template>
2023-05-11 06:03:22 +02:00
</VNavigationDrawer>
</template>