From 7bda0f4e68b0dfe016bd309bbcdcb91e1b260212 Mon Sep 17 00:00:00 2001 From: FloatingGhost Date: Sun, 2 Oct 2022 17:00:02 +0100 Subject: [PATCH] include sync, delete buttons --- .../settings_modal/tabs/general_tab.js | 19 +++++++++++-- .../settings_modal/tabs/general_tab.vue | 28 ++++++++++++++++--- src/i18n/en.json | 7 ++++- src/modules/config.js | 8 +++++- src/modules/users.js | 2 ++ src/services/api/api.service.js | 11 +++++++- .../backend_interactor_service.js | 5 ++++ .../config_fetcher/config_fetcher.service.js | 13 +++++++++ 8 files changed, 83 insertions(+), 10 deletions(-) create mode 100644 src/services/config_fetcher/config_fetcher.service.js diff --git a/src/components/settings_modal/tabs/general_tab.js b/src/components/settings_modal/tabs/general_tab.js index 025d7f1e..935591dc 100644 --- a/src/components/settings_modal/tabs/general_tab.js +++ b/src/components/settings_modal/tabs/general_tab.js @@ -8,11 +8,12 @@ import SharedComputedObject from '../helpers/shared_computed_object.js' import ServerSideIndicator from '../helpers/server_side_indicator.vue' import { library } from '@fortawesome/fontawesome-svg-core' import { - faGlobe + faGlobe, faSync } from '@fortawesome/free-solid-svg-icons' library.add( - faGlobe + faGlobe, + faSync ) const GeneralTab = { @@ -104,7 +105,8 @@ const GeneralTab = { return this.$store.getters.mergedConfig.profileVersion }, translationLanguages () { - return (this.$store.state.instance.supportedTranslationLanguages.target || []).map(lang => ({ key: lang.code, value: lang.code, label: lang.name })) + const langs = this.$store.state.instance.translationLanguages || [] + return (langs || []).map(lang => ({ key: lang.code, value: lang.code, label: lang.name })) }, translationLanguage: { get: function () { return this.$store.getters.mergedConfig.translationLanguage }, @@ -133,6 +135,17 @@ const GeneralTab = { this.$store.dispatch('setOption', { name: 'profileVersion', value: 1 }) this.$store.dispatch('syncSettings') this.newProfileName = '' + }, + forceSync () { + this.$store.dispatch('getSettingsProfile') + }, + refreshProfiles () { + this.$store.dispatch('listSettingsProfiles') + }, + deleteSettingsProfile (name) { + if (confirm(this.$t('settings.settings_profile_delete_confirm'))) { + this.$store.dispatch('deleteSettingsProfile', name) + } } } } diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 479cb1d3..2c7c6c01 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -13,7 +13,16 @@ v-if="user && (settingsProfiles.length > 0)" >

{{ $t('settings.settings_profile') }}

-

{{ $t('settings.settings_profile_currently', { name: settingsProfile, version: settingsVersion }) }}

+

+ {{ $t('settings.settings_profile_currently', { name: settingsProfile, version: settingsVersion }) }} + + +

@@ -36,6 +45,7 @@
+

{{ $t('settings.settings_profile_creation') }}

- +