From 3441acf56cefe4d82c3f67cdde55c6f9e71c6b52 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 3 Feb 2019 05:06:23 +0900 Subject: [PATCH] Improve usability --- src/client/app/admin/views/users.vue | 33 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/client/app/admin/views/users.vue b/src/client/app/admin/views/users.vue index a9544f81e..8aab0b54f 100644 --- a/src/client/app/admin/views/users.vue +++ b/src/client/app/admin/views/users.vue @@ -124,22 +124,23 @@ export default Vue.extend({ methods: { /** テキストエリアのユーザーを解決する */ - async fetchUser() { - try { - return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target }); - } catch (e) { - if (e == 'user not found') { - this.$root.dialog({ - type: 'error', - text: this.$t('user-not-found') - }); - } else { - this.$root.dialog({ - type: 'error', - text: e.toString() - }); - } - } + fetchUser() { + return new Promise((res) => { + const usernamePromise = this.$root.api('users/show', parseAcct(this.target)); + const idPromise = this.$root.api('users/show', { userId: this.target }); + + usernamePromise.then(res); + idPromise.then(res); + + idPromise.catch(e => { + if (e == 'user not found') { + this.$root.dialog({ + type: 'error', + text: this.$t('user-not-found') + }); + } + }); + }); }, /** テキストエリアから処理対象ユーザーを設定する */