| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <template>
- <v-app>
- <v-navigation-drawer v-model="drawer" app>
- <v-list>
- <v-list-item
- v-for="(item, i) in items"
- :key="i"
- :to="item.to"
- router
- exact
- >
- <v-list-item-title>
- {{ item.title }}
- </v-list-item-title>
- </v-list-item>
- </v-list>
- </v-navigation-drawer>
- <v-app-bar app>
- <v-app-bar-nav-icon @click.stop="drawer = !drawer" />
- <v-toolbar-title>
- {{ title }}
- </v-toolbar-title>
- <v-spacer />
- <v-btn :icon="true" @click="toggleTheme">
- <v-icon>{{ isDark ? 'mdi-weather-sunny' : 'mdi-weather-night' }}</v-icon>
- </v-btn>
- <v-btn :icon="true" href="https://github.com/olinox14/snc-demo" target="_blank">
- <v-icon>mdi-github</v-icon>
- </v-btn>
- </v-app-bar>
- <v-main>
- <v-container>
- <slot />
- </v-container>
- </v-main>
- </v-app>
- </template>
- <script setup lang="ts">
- import { ref, computed } from 'vue'
- import { useTheme } from 'vuetify'
- const theme = useTheme()
- const drawer = ref(false)
- const isDark = computed(() => theme.global.current.value.dark)
- const title = ref('SNC Demo')
- const items = [
- {
- title: 'Authors',
- to: '/'
- },
- {
- title: 'About',
- to: '/about'
- }
- ]
- const toggleTheme = () => {
- theme.global.name.value = isDark.value ? 'light' : 'dark'
- }
- </script>
|