add theme switch

This commit is contained in:
2026-03-28 14:44:31 +01:00
parent 081f54186c
commit 293e6a1dbb

View File

@@ -2,40 +2,22 @@
<q-layout view="lHh Lpr lFf"> <q-layout view="lHh Lpr lFf">
<q-header elevated> <q-header elevated>
<q-toolbar> <q-toolbar>
<q-btn <q-btn flat dense round icon="menu" aria-label="Menu" @click="toggleLeftDrawer" />
flat
dense
round
icon="menu"
aria-label="Menu"
@click="toggleLeftDrawer"
/>
<q-toolbar-title> <q-toolbar-title> Quasar App </q-toolbar-title>
Quasar App
</q-toolbar-title>
<q-btn :color="theme ? 'accent' : 'dark'" @click="theme = !theme">
{{ theme ? 'DARK' : 'LIGHT' }}
</q-btn>
<div>Quasar v{{ $q.version }}</div> <div>Quasar v{{ $q.version }}</div>
</q-toolbar> </q-toolbar>
</q-header> </q-header>
<q-drawer <q-drawer v-model="leftDrawerOpen" show-if-above bordered>
v-model="leftDrawerOpen"
show-if-above
bordered
>
<q-list> <q-list>
<q-item-label <q-item-label header> Essential Links </q-item-label>
header
>
Essential Links
</q-item-label>
<EssentialLink <EssentialLink v-for="link in linksList" :key="link.title" v-bind="link" />
v-for="link in linksList"
:key="link.title"
v-bind="link"
/>
</q-list> </q-list>
</q-drawer> </q-drawer>
@@ -46,57 +28,63 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref, computed } from 'vue'
import EssentialLink from 'components/EssentialLink.vue' import EssentialLink from 'components/EssentialLink.vue'
import { useQuasar } from 'quasar'
const linksList = [ const linksList = [
{ {
title: 'Docs', title: 'Docs',
caption: 'quasar.dev', caption: 'quasar.dev',
icon: 'school', icon: 'school',
link: 'https://quasar.dev' link: 'https://quasar.dev',
}, },
{ {
title: 'Github', title: 'Github',
caption: 'github.com/quasarframework', caption: 'github.com/quasarframework',
icon: 'code', icon: 'code',
link: 'https://github.com/quasarframework' link: 'https://github.com/quasarframework',
}, },
{ {
title: 'Discord Chat Channel', title: 'Discord Chat Channel',
caption: 'chat.quasar.dev', caption: 'chat.quasar.dev',
icon: 'chat', icon: 'chat',
link: 'https://chat.quasar.dev' link: 'https://chat.quasar.dev',
}, },
{ {
title: 'Forum', title: 'Forum',
caption: 'forum.quasar.dev', caption: 'forum.quasar.dev',
icon: 'record_voice_over', icon: 'record_voice_over',
link: 'https://forum.quasar.dev' link: 'https://forum.quasar.dev',
}, },
{ {
title: 'Twitter', title: 'Twitter',
caption: '@quasarframework', caption: '@quasarframework',
icon: 'rss_feed', icon: 'rss_feed',
link: 'https://twitter.quasar.dev' link: 'https://twitter.quasar.dev',
}, },
{ {
title: 'Facebook', title: 'Facebook',
caption: '@QuasarFramework', caption: '@QuasarFramework',
icon: 'public', icon: 'public',
link: 'https://facebook.quasar.dev' link: 'https://facebook.quasar.dev',
}, },
{ {
title: 'Quasar Awesome', title: 'Quasar Awesome',
caption: 'Community Quasar projects', caption: 'Community Quasar projects',
icon: 'favorite', icon: 'favorite',
link: 'https://awesome.quasar.dev' link: 'https://awesome.quasar.dev',
} },
] ]
const $q = useQuasar()
const leftDrawerOpen = ref(false) const leftDrawerOpen = ref(false)
function toggleLeftDrawer () { const theme = computed({
get: () => $q.dark.isActive,
set: (val) => $q.dark.set(val),
})
function toggleLeftDrawer() {
leftDrawerOpen.value = !leftDrawerOpen.value leftDrawerOpen.value = !leftDrawerOpen.value
} }
</script> </script>