Skip to content

Commit

Permalink
Migrate ft-slider to the composition api
Browse files Browse the repository at this point in the history
  • Loading branch information
MarmadileManteater committed Jan 31, 2025
1 parent 47d4103 commit f629f2f
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 91 deletions.
78 changes: 78 additions & 0 deletions src/renderer/components/FtSlider/FtSlider.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<template>
<label
class="pure-material-slider"
:for="id"
>
<input
:id="id"
v-model.number="currentValue"
:disabled="disabled"
type="range"
:min="minValue"
:max="maxValue"
:step="step"
@change="change"
>
<span>
{{ t('Display Label', {label: label, value: displayLabel}) }}
</span>
</label>
</template>

<script setup>
import { computed, ref } from 'vue'
import { randomUUID } from 'crypto'
import { useI18n } from '../../composables/use-i18n-polyfill'
const { t } = useI18n()
const props = defineProps({
label: {
type: String,
required: true
},
defaultValue: {
type: Number,
required: true
},
minValue: {
type: Number,
required: true
},
maxValue: {
type: Number,
required: true
},
step: {
type: Number,
required: true
},
valueExtension: {
type: String,
default: null
},
disabled: {
type: Boolean,
default: false
}
})
const emit = defineEmits(['change'])
const id = randomUUID()
const currentValue = ref(props.defaultValue)
const displayLabel = computed(() => {
if (props.valueExtension === null) {
return currentValue.value
} else {
return `${currentValue.value}${props.valueExtension}`
}
})
function change() {
emit('change', currentValue.value)
}
</script>
<style scoped src="./FtSlider.css" />
2 changes: 1 addition & 1 deletion src/renderer/components/ThemeSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ import { useI18n } from '../composables/use-i18n-polyfill'
import FtSettingsSection from './FtSettingsSection/FtSettingsSection.vue'
import FtSelect from './ft-select/ft-select.vue'
import FtToggleSwitch from './ft-toggle-switch/ft-toggle-switch.vue'
import FtSlider from './ft-slider/ft-slider.vue'
import FtSlider from './FtSlider/FtSlider.vue'
import FtFlexBox from './ft-flex-box/ft-flex-box.vue'
import FtPrompt from './FtPrompt/FtPrompt.vue'
Expand Down
65 changes: 0 additions & 65 deletions src/renderer/components/ft-slider/ft-slider.js

This file was deleted.

23 changes: 0 additions & 23 deletions src/renderer/components/ft-slider/ft-slider.vue

This file was deleted.

2 changes: 1 addition & 1 deletion src/renderer/components/player-settings/player-settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { mapActions } from 'vuex'
import FtSettingsSection from '../FtSettingsSection/FtSettingsSection.vue'
import FtSelect from '../ft-select/ft-select.vue'
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
import FtSlider from '../ft-slider/ft-slider.vue'
import FtSlider from '../FtSlider/FtSlider.vue'
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
import FtButton from '../ft-button/ft-button.vue'
import FtInput from '../ft-input/ft-input.vue'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { defineComponent } from 'vue'
import { mapActions } from 'vuex'
import FtSettingsSection from '../FtSettingsSection/FtSettingsSection.vue'
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
import FtSlider from '../ft-slider/ft-slider.vue'
import FtSlider from '../FtSlider/FtSlider.vue'

export default defineComponent({
name: 'SubscriptionSettings',
Expand Down

0 comments on commit f629f2f

Please sign in to comment.