diff --git a/frontend/superadmin/dist/index.html b/frontend/superadmin/dist/index.html
index 25fa291..acf0203 100644
--- a/frontend/superadmin/dist/index.html
+++ b/frontend/superadmin/dist/index.html
@@ -7,8 +7,8 @@
Sakai Vue
-
-
+
+
diff --git a/frontend/superadmin/src/components/StatisticsStrip.vue b/frontend/superadmin/src/components/StatisticsStrip.vue
new file mode 100644
index 0000000..fcd17a7
--- /dev/null
+++ b/frontend/superadmin/src/components/StatisticsStrip.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+ {{ item.value }}
+
+
+
+
+
+
diff --git a/frontend/superadmin/src/service/UserService.js b/frontend/superadmin/src/service/UserService.js
index 192d765..322d0d7 100644
--- a/frontend/superadmin/src/service/UserService.js
+++ b/frontend/superadmin/src/service/UserService.js
@@ -23,13 +23,37 @@ export const UserService = {
};
},
async getUserStatuses() {
- const data = await requestJson('/super/v1/users/statuses');
- return Array.isArray(data) ? data : [];
+ try {
+ const data = await requestJson('/super/v1/user/statuses');
+ return Array.isArray(data) ? data : [];
+ } catch (error) {
+ if (error?.status === 404) {
+ const data = await requestJson('/super/v1/users/statuses');
+ return Array.isArray(data) ? data : [];
+ }
+ throw error;
+ }
},
async updateUserStatus({ userID, status }) {
- return requestJson(`/super/v1/users/${userID}/status`, {
- method: 'PATCH',
- body: { status }
- });
+ try {
+ return await requestJson(`/super/v1/user/${userID}/status`, { method: 'PATCH', body: { status } });
+ } catch (error) {
+ if (error?.status === 404) {
+ return requestJson(`/super/v1/users/${userID}/status`, { method: 'PATCH', body: { status } });
+ }
+ throw error;
+ }
+ },
+ async getUserStatistics() {
+ try {
+ const data = await requestJson('/super/v1/users/statistics');
+ return Array.isArray(data) ? data : [];
+ } catch (error) {
+ if (error?.status === 404) {
+ const data = await requestJson('/super/v1/users/statistic');
+ return Array.isArray(data) ? data : [];
+ }
+ throw error;
+ }
}
};
diff --git a/frontend/superadmin/src/views/superadmin/Users.vue b/frontend/superadmin/src/views/superadmin/Users.vue
index 1f838c4..afb91dc 100644
--- a/frontend/superadmin/src/views/superadmin/Users.vue
+++ b/frontend/superadmin/src/views/superadmin/Users.vue
@@ -1,7 +1,8 @@
+
@@ -163,19 +218,32 @@ onMounted(() => {
-
+ scrollable
+ scrollHeight="flex"
+ responsiveLayout="scroll"
+ >
-
+
@@ -214,15 +282,12 @@ onMounted(() => {
-
-
+
+