diff --git a/plugins/UserOnlineDevices/Controllers/UserOnlineDevicesController.php b/plugins/UserOnlineDevices/Controllers/UserOnlineDevicesController.php index 7480606..6e6319f 100644 --- a/plugins/UserOnlineDevices/Controllers/UserOnlineDevicesController.php +++ b/plugins/UserOnlineDevices/Controllers/UserOnlineDevicesController.php @@ -18,9 +18,20 @@ class UserOnlineDevicesController extends PluginController } public function index(Request $request): View + { + $securePath = admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))); + + return view('UserOnlineDevices::admin-index', [ + 'apiEndpoint' => url('/api/v2/' . $securePath . '/user-online-devices/users'), + 'adminHomeUrl' => url('/' . $securePath), + 'defaultPageSize' => (int) $this->getConfig('default_page_size', 20), + ]); + } + + public function users(Request $request) { if ($error = $this->beforePluginAction()) { - abort($error[0], $error[1]); + return $this->fail($error); } $defaultPageSize = (int) $this->getConfig('default_page_size', 20); @@ -80,10 +91,18 @@ class UserOnlineDevicesController extends PluginController return (int) ($user->online_count_live ?? 0); }); - $securePath = admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))); - - return view('UserOnlineDevices::admin-index', [ - 'users' => $paginator, + return $this->success([ + 'list' => $paginator->getCollection()->map(function (User $user) { + return [ + 'id' => $user->id, + 'email' => $user->email, + 'subscription_name' => $user->subscription_name, + 'online_count' => (int) ($user->online_count_live ?? 0), + 'online_devices' => $user->online_devices ?? [], + 'last_online_text' => $user->last_online_text ?? '-', + 'created_text' => $user->created_text ?? '-', + ]; + })->values()->all(), 'filters' => [ 'keyword' => $keyword, 'per_page' => $pageSize, @@ -94,7 +113,12 @@ class UserOnlineDevicesController extends PluginController 'total_online_ips' => $totalOnlineIps, 'current_page' => $paginator->currentPage(), ], - 'adminHomeUrl' => url('/' . $securePath), + 'pagination' => [ + 'current' => $paginator->currentPage(), + 'last_page' => $paginator->lastPage(), + 'per_page' => $paginator->perPage(), + 'total' => $paginator->total(), + ], ]); } diff --git a/plugins/UserOnlineDevices/resources/views/admin-index.blade.php b/plugins/UserOnlineDevices/resources/views/admin-index.blade.php index 40680ea..fca3c72 100644 --- a/plugins/UserOnlineDevices/resources/views/admin-index.blade.php +++ b/plugins/UserOnlineDevices/resources/views/admin-index.blade.php @@ -274,44 +274,46 @@