Browse Source

fix: missing user rate page default value

M1Screw 1 year ago
parent
commit
bc8f3a8dfe
3 changed files with 160 additions and 179 deletions
  1. 148 176
      composer.lock
  2. 2 2
      resources/views/tabler/user/rate.tpl
  3. 10 1
      src/Controllers/User/RateController.php

File diff suppressed because it is too large
+ 148 - 176
composer.lock


+ 2 - 2
resources/views/tabler/user/rate.tpl

@@ -26,9 +26,9 @@
                                 <div class="ms-auto">
                                     <div class="dropdown">
                                         <a id="dropdown-toggle" class="dropdown-toggle text-secondary" href="#" data-bs-toggle="dropdown"
-                                           aria-haspopup="true" aria-expanded="false">{$nodes[0]['name']}</a>
+                                           aria-haspopup="true" aria-expanded="false">{$node_list[0]['name']}</a>
                                         <div class="dropdown-menu dropdown-menu-end">
-                                            {foreach $nodes as $node}
+                                            {foreach $node_list as $node}
                                             <a class="dropdown-item" hx-post="/user/rate" hx-swap="none"
                                                 hx-vals='{ "node_id": "{$node['id']}" }'>
                                                 {$node['name']}

+ 10 - 1
src/Controllers/User/RateController.php

@@ -13,6 +13,8 @@ use Psr\Http\Message\ResponseInterface;
 use Slim\Http\Response;
 use Slim\Http\ServerRequest;
 use function array_fill;
+use function count;
+use function json_decode;
 use function json_encode;
 
 final class RateController extends BaseController
@@ -32,9 +34,16 @@ final class RateController extends BaseController
             ];
         }
 
+        if (count($node_list) === 0) {
+            $node_list[] = [
+                'id' => 0,
+                'name' => '暂无节点',
+            ];
+        }
+
         return $response->write(
             $this->view()
-                ->assign('nodes', $node_list)
+                ->assign('node_list', $node_list)
                 ->fetch('user/rate.tpl')
         );
     }

Some files were not shown because too many files changed in this diff