From 56f56292bc9e73c46236143fdfb731ecee4d6f7c Mon Sep 17 00:00:00 2001 From: supertiger1234 Date: Fri, 28 Feb 2020 17:51:24 +0000 Subject: [PATCH] =?UTF-8?q?admin=20suspend=20button=20=F0=9F=91=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/index.html | 5 - src/components/app/Popouts/Popouts.vue | 6 ++ .../Popouts/Popouts/adminManageUserPopout.vue | 101 ++++++++++++++++++ src/components/app/Tabs/AdminPanel.vue | 1 - .../app/Tabs/AdminPanel/UserTemplate.vue | 14 ++- .../app/Tabs/AdminPanel/UsersPanel.vue | 48 +++++++-- src/services/adminService.js | 8 ++ 7 files changed, 167 insertions(+), 16 deletions(-) create mode 100644 src/components/app/Popouts/Popouts/adminManageUserPopout.vue diff --git a/public/index.html b/public/index.html index 6ea0474..60f6ebf 100644 --- a/public/index.html +++ b/public/index.html @@ -60,11 +60,6 @@ + + diff --git a/src/components/app/Tabs/AdminPanel.vue b/src/components/app/Tabs/AdminPanel.vue index 92ebc50..53bdcff 100644 --- a/src/components/app/Tabs/AdminPanel.vue +++ b/src/components/app/Tabs/AdminPanel.vue @@ -8,7 +8,6 @@ diff --git a/src/components/app/Tabs/AdminPanel/UsersPanel.vue b/src/components/app/Tabs/AdminPanel/UsersPanel.vue index 7180289..3adc5d5 100644 --- a/src/components/app/Tabs/AdminPanel/UsersPanel.vue +++ b/src/components/app/Tabs/AdminPanel/UsersPanel.vue @@ -1,8 +1,19 @@ @@ -15,14 +26,32 @@ export default { components: { UserTemplate }, data() { return { - users: null + users: null, + searchedUsers: null }; }, - async mounted() { - const { ok, result } = await adminService.fetchRecentCreatedUsers(); - if (ok) { - this.users = result.data; + methods: { + async recentUsers() { + const { ok, result } = await adminService.fetchRecentCreatedUsers(); + if (ok) { + this.users = result.data; + } + }, + async inputEvent(event) { + const value = event.target.value; + if (value.trim() == "") { + this.searchedUsers = null; + await this.recentUsers(); + return; + } + const { ok, result } = await adminService.fetchSearchUsers(value); + if (ok) { + this.searchedUsers = result.data; + } } + }, + async mounted() { + await this.recentUsers(); } }; @@ -45,4 +74,9 @@ export default { .list { overflow: auto; } +.search { + width: initial; + margin: 0; + height: 10px; +} diff --git a/src/services/adminService.js b/src/services/adminService.js index 5690179..bb082c0 100644 --- a/src/services/adminService.js +++ b/src/services/adminService.js @@ -4,6 +4,9 @@ export default { fetchRecentCreatedUsers() { return wrapper(instance().get(`admin/users/recent`)); }, + fetchSearchUsers(search) { + return wrapper(instance().get(`admin/users/search/${search}`)); + }, fetchOnlineUsers() { return wrapper(instance().get(`admin/users/online`)); }, @@ -15,5 +18,10 @@ export default { }, approveTheme(id) { return wrapper(instance().patch(`admin/themes/${id}/approve`)); + }, + suspendUser(uniqueID, password) { + return wrapper( + instance().delete(`admin/users/${uniqueID}`, { data: { password } }) + ); } };