aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/FavoriteButton.vue14
-rw-r--r--src/components/InputCopyable.vue4
-rw-r--r--src/components/NavbarButtons.vue49
-rw-r--r--src/components/TextareaCopyable.vue6
4 files changed, 40 insertions, 33 deletions
diff --git a/src/components/FavoriteButton.vue b/src/components/FavoriteButton.vue
index 4b7f561..60b2a2b 100644
--- a/src/components/FavoriteButton.vue
+++ b/src/components/FavoriteButton.vue
@@ -1,11 +1,15 @@
<template>
<n-tooltip trigger="hover">
<template #trigger>
- <n-button circle quaternary :type="buttonType" :style="{ opacity: isFavorite ? 1 : 0.2 }" @click="toggleFavorite">
- <template #icon>
- <n-icon :component="FavoriteFilled" />
- </template>
- </n-button>
+ <c-button
+ variant="text"
+ circle
+ :type="buttonType"
+ :style="{ opacity: isFavorite ? 1 : 0.2 }"
+ @click="toggleFavorite"
+ >
+ <n-icon :component="FavoriteFilled" />
+ </c-button>
</template>
{{ isFavorite ? 'Remove from favorites' : 'Add to favorites' }}
</n-tooltip>
diff --git a/src/components/InputCopyable.vue b/src/components/InputCopyable.vue
index 4105abf..eaf29c8 100644
--- a/src/components/InputCopyable.vue
+++ b/src/components/InputCopyable.vue
@@ -3,9 +3,9 @@
<template #suffix>
<n-tooltip trigger="hover">
<template #trigger>
- <n-button quaternary circle @click="onCopyClicked">
+ <c-button circle variant="text" @click="onCopyClicked">
<n-icon :component="ContentCopyFilled" />
- </n-button>
+ </c-button>
</template>
{{ tooltipText }}
</n-tooltip>
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>
diff --git a/src/components/TextareaCopyable.vue b/src/components/TextareaCopyable.vue
index 6be5652..ac4f38f 100644
--- a/src/components/TextareaCopyable.vue
+++ b/src/components/TextareaCopyable.vue
@@ -13,16 +13,16 @@
<n-tooltip v-if="value" trigger="hover">
<template #trigger>
<div class="copy-button" :class="[copyPlacement]">
- <n-button circle secondary size="large" @click="onCopyClicked">
+ <c-button circle important:h-10 important:w-10 @click="onCopyClicked">
<n-icon size="22" :component="Copy" />
- </n-button>
+ </c-button>
</div>
</template>
<span>{{ tooltipText }}</span>
</n-tooltip>
</n-card>
<n-space v-if="copyPlacement === 'outside'" justify="center" mt-4>
- <n-button secondary @click="onCopyClicked"> {{ tooltipText }} </n-button>
+ <c-button @click="onCopyClicked"> {{ tooltipText }} </c-button>
</n-space>
</div>
</template>