diff --git a/app/src/components/WeatherCard.vue b/app/src/components/WeatherCard.vue index 3562aad..d33c4c9 100644 --- a/app/src/components/WeatherCard.vue +++ b/app/src/components/WeatherCard.vue @@ -1,5 +1,8 @@ @@ -81,7 +92,19 @@ components: { }, data: () => ({ - isLoading: false, + isProcessing: false, + form: { + timer: '', + imageProvider: '', + }, + rules: { + required: value => !!value || 'Required.', + minValue: value => Number(value) >= 10 || 'Min 10 seconds', + email: value => { + const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return pattern.test(value) || 'Invalid e-mail.' + }, + }, }), computed: { ...mapState([ @@ -89,8 +112,12 @@ 'settings', ]), ...mapGetters([ + 'isSettingSupported', ]), }, + created () { + this.resetChanges() + }, methods: { ...mapMutations(['updateSettings']), ...mapActions(['saveSettings']), @@ -98,9 +125,9 @@ this.isProcessing = true this.updateSettings({ - device: { - name: this.form.name, - theme: this.form.theme, + playlist: { + timer: Number(this.form.timer), + images: this.form.images, }, }) @@ -108,6 +135,10 @@ this.isProcessing = false }) }, + resetChanges () { + this.form.timer = this.settings.playlist.timer + this.form.images = this.settings.playlist.images + }, }, } diff --git a/app/src/views/Settings.vue b/app/src/views/Settings.vue deleted file mode 100644 index ed88a1f..0000000 --- a/app/src/views/Settings.vue +++ /dev/null @@ -1,454 +0,0 @@ - - - - - diff --git a/app/src/views/System.vue b/app/src/views/System.vue index 31766c0..c31817b 100644 --- a/app/src/views/System.vue +++ b/app/src/views/System.vue @@ -2,8 +2,6 @@
System info @@ -156,6 +154,16 @@ {{ Math.ceil(value) }}% + + + + + factory reset + +
diff --git a/app/src/views/Weather.vue b/app/src/views/Weather.vue index 29835c1..2aa3a54 100644 --- a/app/src/views/Weather.vue +++ b/app/src/views/Weather.vue @@ -2,8 +2,6 @@
Weather settings @@ -11,8 +9,9 @@