From 3441acf56cefe4d82c3f67cdde55c6f9e71c6b52 Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Sun, 3 Feb 2019 05:06:23 +0900
Subject: Improve usability

---
 src/client/app/admin/views/users.vue | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

(limited to 'src/client/app/admin/views/users.vue')

diff --git a/src/client/app/admin/views/users.vue b/src/client/app/admin/views/users.vue
index a9544f81e2..8aab0b54f0 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')
+						});
+					}
+				});
+			});
 		},
 
 		/** テキストエリアから処理対象ユーザーを設定する */
-- 
cgit v1.2.3-freya

