refactor: convert to script setup

This commit is contained in:
liyasthomas
2021-11-17 19:59:32 +05:30
parent 8f9bb621b8
commit 114c37645a
4 changed files with 71 additions and 92 deletions

View File

@@ -23,8 +23,7 @@
</div>
</template>
<script lang="ts">
import { defineComponent } from "@nuxtjs/composition-api"
<script setup lang="ts">
import {
HoppAccentColors,
HoppAccentColor,
@@ -32,18 +31,11 @@ import {
useSetting,
} from "~/newstore/settings"
export default defineComponent({
setup() {
return {
accentColors: HoppAccentColors,
active: useSetting("THEME_COLOR"),
}
},
methods: {
setActiveColor(color: HoppAccentColor) {
document.documentElement.setAttribute("data-accent", color)
applySetting("THEME_COLOR", color)
},
},
})
const accentColors = HoppAccentColors
const active = useSetting("THEME_COLOR")
const setActiveColor = (color: HoppAccentColor) => {
document.documentElement.setAttribute("data-accent", color)
applySetting("THEME_COLOR", color)
}
</script>

View File

@@ -15,8 +15,7 @@
</div>
</template>
<script lang="ts">
import { defineComponent } from "@nuxtjs/composition-api"
<script setup lang="ts">
import {
applySetting,
HoppBgColor,
@@ -24,45 +23,40 @@ import {
useSetting,
} from "~/newstore/settings"
export default defineComponent({
setup() {
return {
colors: HoppBgColors,
active: useSetting("BG_COLOR"),
}
},
methods: {
setBGMode(color: HoppBgColor) {
applySetting("BG_COLOR", color)
},
getIcon(color: HoppBgColor) {
switch (color) {
case "system":
return "monitor"
case "light":
return "sun"
case "dark":
return "cloud"
case "black":
return "moon"
default:
return "monitor"
}
},
getColorModeName(colorMode: string) {
switch (colorMode) {
case "system":
return "settings.system_mode"
case "light":
return "settings.light_mode"
case "dark":
return "settings.dark_mode"
case "black":
return "settings.black_mode"
default:
return "settings.system_mode"
}
},
},
})
const colors = HoppBgColors
const active = useSetting("BG_COLOR")
const setBGMode = (color: HoppBgColor) => {
applySetting("BG_COLOR", color)
}
const getIcon = (color: HoppBgColor) => {
switch (color) {
case "system":
return "monitor"
case "light":
return "sun"
case "dark":
return "cloud"
case "black":
return "moon"
default:
return "monitor"
}
}
const getColorModeName = (colorMode: string) => {
switch (colorMode) {
case "system":
return "settings.system_mode"
case "light":
return "settings.light_mode"
case "dark":
return "settings.dark_mode"
case "black":
return "settings.black_mode"
default:
return "settings.system_mode"
}
}
</script>

View File

@@ -32,8 +32,8 @@
</span>
</template>
<script lang="ts">
import { defineComponent } from "@nuxtjs/composition-api"
<script setup lang="ts">
import { useContext } from "@nuxtjs/composition-api"
import {
HoppFontSizes,
HoppFontSize,
@@ -41,21 +41,20 @@ import {
useSetting,
} from "~/newstore/settings"
export default defineComponent({
setup() {
return {
fontSizes: HoppFontSizes,
active: useSetting("FONT_SIZE"),
}
},
methods: {
getFontSizeName(size: HoppFontSize) {
return this.$t(`settings.font_size_${size}`)
},
setActiveFont(size: HoppFontSize) {
document.documentElement.setAttribute("data-font-size", size)
applySetting("FONT_SIZE", size)
},
},
})
const {
app: { i18n },
} = useContext()
const t = i18n.t.bind(i18n)
const fontSizes = HoppFontSizes
const active = useSetting("FONT_SIZE")
const getFontSizeName = (size: HoppFontSize) => {
return t(`settings.font_size_${size}`)
}
const setActiveFont = (size: HoppFontSize) => {
document.documentElement.setAttribute("data-font-size", size)
applySetting("FONT_SIZE", size)
}
</script>

View File

@@ -2,20 +2,14 @@
<component :is="src" />
</template>
<script>
import { defineComponent } from "@nuxtjs/composition-api"
<script setup lang="ts">
import { computed } from "@nuxtjs/composition-api"
export default defineComponent({
props: {
name: {
type: String,
required: true,
},
},
computed: {
src() {
return require(`~/assets/icons/${this.name}.svg?inline`)
},
},
const props = defineProps<{
name: String
}>()
const src = computed(() => {
return require(`~/assets/icons/${props.name}.svg?inline`)
})
</script>