diff --git a/changelog.d/emoji-upload.-zip.add b/changelog.d/emoji-upload.-zip.add new file mode 100644 index 000000000..798720eef --- /dev/null +++ b/changelog.d/emoji-upload.-zip.add @@ -0,0 +1 @@ +Added a way to upload new packs from a URL or ZIP file via the admin-fe diff --git a/src/components/settings_modal/admin_tabs/emoji_tab.js b/src/components/settings_modal/admin_tabs/emoji_tab.js index 7f575bcb4..a315756e8 100644 --- a/src/components/settings_modal/admin_tabs/emoji_tab.js +++ b/src/components/settings_modal/admin_tabs/emoji_tab.js @@ -32,7 +32,10 @@ const EmojiTab = { newPackName: '', deleteModalVisible: false, remotePackInstance: '', - remotePackDownloadAs: '' + remotePackDownloadAs: '', + + remotePackURL: '', + remotePackFile: null } }, @@ -220,7 +223,7 @@ const EmojiTab = { .then(data => data.json()) .then(resp => { if (resp === 'ok') { - this.$refs.dlPackPopover.hidePopover() + this.$refs.downloadPackPopover.hidePopover() return this.refreshPackList() } else { @@ -232,6 +235,47 @@ const EmojiTab = { this.remotePackDownloadAs = '' }) }, + downloadRemoteURLPack () { + this.$store.state.api.backendInteractor.downloadRemoteEmojiPackZIP({ + url: this.remotePackURL, packName: this.newPackName + }) + .then(data => data.json()) + .then(resp => { + if (resp === 'ok') { + this.$refs.additionalRemotePopover.hidePopover() + + return this.refreshPackList() + } else { + this.displayError(resp.error) + return Promise.reject(resp) + } + }).then(() => { + this.packName = this.newPackName + this.newPackName = '' + this.remotePackURL = '' + }) + }, + downloadRemoteFilePack () { + this.$store.state.api.backendInteractor.downloadRemoteEmojiPackZIP({ + file: this.remotePackFile[0], packName: this.newPackName + }) + .then(data => data.json()) + .then(resp => { + if (resp === 'ok') { + this.$refs.additionalRemotePopover.hidePopover() + + return this.refreshPackList() + } else { + this.displayError(resp.error) + return Promise.reject(resp) + } + }).then(() => { + this.packName = this.newPackName + this.newPackName = '' + this.remotePackURL = '' + }) + }, + displayError (msg) { useInterfaceStore().pushGlobalNotice({ messageKey: 'admin_dash.emoji.error', diff --git a/src/components/settings_modal/admin_tabs/emoji_tab.vue b/src/components/settings_modal/admin_tabs/emoji_tab.vue index 4bf64c921..333ff8b0e 100644 --- a/src/components/settings_modal/admin_tabs/emoji_tab.vue +++ b/src/components/settings_modal/admin_tabs/emoji_tab.vue @@ -62,6 +62,64 @@ +