From f3ce76ddbfb49b574b37019ed0c1062d509de916 Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Mon, 9 May 2022 00:38:25 -0400 Subject: Add backup UI --- .../settings_modal/tabs/data_import_export_tab.js | 29 +++++++++- .../settings_modal/tabs/data_import_export_tab.vue | 61 ++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) (limited to 'src/components') diff --git a/src/components/settings_modal/tabs/data_import_export_tab.js b/src/components/settings_modal/tabs/data_import_export_tab.js index f4b736d2..4895733c 100644 --- a/src/components/settings_modal/tabs/data_import_export_tab.js +++ b/src/components/settings_modal/tabs/data_import_export_tab.js @@ -7,11 +7,16 @@ const DataImportExportTab = { data () { return { activeTab: 'profile', - newDomainToMute: '' + newDomainToMute: '', + listBackupsError: false, + addBackupError: false, + addedBackup: false, + backups: [] } }, created () { this.$store.dispatch('fetchTokens') + this.fetchBackups() }, components: { Importer, @@ -72,6 +77,28 @@ const DataImportExportTab = { } return user.screen_name }).join('\n') + }, + addBackup () { + this.$store.state.api.backendInteractor.addBackup() + .then((res) => { + this.addedBackup = true + this.addBackupError = false + }) + .catch((error) => { + this.addedBackup = false + this.addBackupError = error + }) + .then(() => this.fetchBackups()) + }, + fetchBackups () { + this.$store.state.api.backendInteractor.listBackups() + .then((res) => { + this.backups = res + this.listBackupsError = false + }) + .catch((error) => { + this.listBackupsError = error.error + }) } } } diff --git a/src/components/settings_modal/tabs/data_import_export_tab.vue b/src/components/settings_modal/tabs/data_import_export_tab.vue index a406077d..06548390 100644 --- a/src/components/settings_modal/tabs/data_import_export_tab.vue +++ b/src/components/settings_modal/tabs/data_import_export_tab.vue @@ -53,6 +53,67 @@ :export-button-label="$t('settings.mute_export_button')" /> +
+

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

+

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

+ + + + + + + + + + + + + +
{{ $t('settings.account_backup_table_head') }}
{{ backup.inserted_at }} + + {{ $t('settings.download_backup') }} + + + {{ $t('settings.backup_not_ready') }} + +
+
+ {{ $t('settings.list_backups_error', { error }) }} + +
+ +

+ {{ $t('settings.added_backup') }} +

+ +
-- cgit v1.2.3-70-g09d2 From 653a762c21270bc74fd4da8bf49ec1c7d8f69df2 Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Mon, 9 May 2022 00:40:39 -0400 Subject: Make lint happy --- src/components/settings_modal/tabs/data_import_export_tab.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components') diff --git a/src/components/settings_modal/tabs/data_import_export_tab.vue b/src/components/settings_modal/tabs/data_import_export_tab.vue index 06548390..e3b7f407 100644 --- a/src/components/settings_modal/tabs/data_import_export_tab.vue +++ b/src/components/settings_modal/tabs/data_import_export_tab.vue @@ -60,7 +60,7 @@ {{ $t('settings.account_backup_table_head') }} - + -- cgit v1.2.3-70-g09d2