diff options
| author | 2023-04-19 17:30:39 +0800 | |
|---|---|---|
| committer | 2023-04-19 17:30:39 +0800 | |
| commit | 3adc965dd09490b7efa1cce9f09b0a3b30970277 (patch) | |
| tree | f813abb07d7b003984aa74e3154752b6ffc3ccd5 /docs/components/app/ThemeSelect.vue | |
| parent | c7c9ca6f0c8eddf6d34cd40779f3b2d9463f3a46 (diff) | |
| download | HydroRoll-3adc965dd09490b7efa1cce9f09b0a3b30970277.tar.gz HydroRoll-3adc965dd09490b7efa1cce9f09b0a3b30970277.zip | |
✨优化文档
Diffstat (limited to 'docs/components/app/ThemeSelect.vue')
| -rw-r--r-- | docs/components/app/ThemeSelect.vue | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/components/app/ThemeSelect.vue b/docs/components/app/ThemeSelect.vue new file mode 100644 index 0000000..158b965 --- /dev/null +++ b/docs/components/app/ThemeSelect.vue @@ -0,0 +1,41 @@ +<script setup lang="ts"> +const colorMode = useColorMode() +const onClick = () => { + const values = ['system', 'light', 'dark'] + const index = values.indexOf(colorMode.preference) + const next = (index + 1) % values.length + + colorMode.preference = values[next] +} +</script> + +<template> + <button aria-label="Color Mode" @click="onClick"> + <ColorScheme placeholder="..."> + <Icon v-if="colorMode.preference === 'dark'" name="uil:moon" /> + <Icon v-else-if="colorMode.preference === 'light'" name="uil:sun" /> + <Icon v-else name="uil:desktop" /> + </ColorScheme> + </button> +</template> + +<style lang="ts" scoped> +css({ + button: { + display: 'flex', + padding: '{space.4}', + + color: '{color.gray.500}', + '@dark': { + color: '{color.gray.400}' + }, + + '&:hover': { + color: '{color.gray.700}', + '@dark': { + color: '{color.gray.200}', + } + }, + } +}) +</style> |
