diff options
Diffstat (limited to 'src/components/NavbarButtons.vue')
-rw-r--r-- | src/components/NavbarButtons.vue | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/components/NavbarButtons.vue b/src/components/NavbarButtons.vue index 5a1084f..29d5417 100644 --- a/src/components/NavbarButtons.vue +++ b/src/components/NavbarButtons.vue @@ -1,56 +1,50 @@ <template> <n-tooltip trigger="hover"> <template #trigger> - <n-button - size="large" + <c-button circle - quaternary - tag="a" + variant="text" href="https://github.com/CorentinTh/it-tools" - rel="noopener" target="_blank" + rel="noopener noreferrer" aria-label="IT-Tools' GitHub repository" > <n-icon size="25" :component="BrandGithub" /> - </n-button> + </c-button> </template> Github repository </n-tooltip> <n-tooltip trigger="hover"> <template #trigger> - <n-button - size="large" + <c-button circle - quaternary - tag="a" + variant="text" href="https://twitter.com/ittoolsdottech" rel="noopener" target="_blank" aria-label="IT Tools' Twitter account" > <n-icon size="25" :component="BrandTwitter" /> - </n-button> + </c-button> </template> IT Tools' Twitter account </n-tooltip> - <router-link to="/about" #="{ navigate, href }" custom> - <n-tooltip trigger="hover"> - <template #trigger> - <n-button tag="a" :href="href" circle quaternary size="large" aria-label="About" @click="navigate"> - <n-icon size="25" :component="InfoCircle" /> - </n-button> - </template> - About - </n-tooltip> - </router-link> <n-tooltip trigger="hover"> <template #trigger> - <n-button size="large" circle quaternary aria-label="Toggle dark/light mode" @click="isDarkTheme = !isDarkTheme"> + <c-button circle variant="text" to="/about" aria-label="About"> + <n-icon size="25" :component="InfoCircle" /> + </c-button> + </template> + About + </n-tooltip> + <n-tooltip trigger="hover"> + <template #trigger> + <c-button circle variant="text" aria-label="Toggle dark/light mode" @click="toggleDarkTheme"> <n-icon v-if="isDarkTheme" size="25" :component="Sun" /> <n-icon v-else size="25" :component="Moon" /> - </n-button> + </c-button> </template> <span v-if="isDarkTheme">Light mode</span> <span v-else>Dark mode</span> @@ -59,11 +53,20 @@ <script setup lang="ts"> import { useStyleStore } from '@/stores/style.store'; +import { useThemeStore } from '@/ui/theme/theme.store'; import { BrandGithub, BrandTwitter, InfoCircle, Moon, Sun } from '@vicons/tabler'; import { toRefs } from 'vue'; const styleStore = useStyleStore(); const { isDarkTheme } = toRefs(styleStore); + +const themeStore = useThemeStore(); + +function toggleDarkTheme() { + isDarkTheme.value = !isDarkTheme.value; + + themeStore.toggleTheme(); +} </script> <style lang="less" scoped> |