From 7c944165500b425cc97d85a9663c107648dbbf0a Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 6 Dec 2023 13:35:03 +0200 Subject: [PATCH] update room list --- src/Controller/ModuleController.php | 43 +++++++++++++------------ templates/default/module/room.html.twig | 34 ++++--------------- 2 files changed, 30 insertions(+), 47 deletions(-) diff --git a/src/Controller/ModuleController.php b/src/Controller/ModuleController.php index 9821ee0..39c8bed 100644 --- a/src/Controller/ModuleController.php +++ b/src/Controller/ModuleController.php @@ -26,7 +26,7 @@ class ModuleController extends AbstractController 'wallet' => [ 'balance' => (float) $client->getBalance(), - 'block' => (int) $client->getBlockCount() + 'block' => (int) $client->getBlockCount() ], 'mine' => [ @@ -56,37 +56,40 @@ class ModuleController extends AbstractController $this->getParameter('app.kevacoin.password') ); - $name = null; - $list = []; - $rooms = explode('|', $this->getParameter('app.kevacoin.room.namespaces')); + // Get configured rooms list + foreach ((array) explode('|', $this->getParameter('app.kevacoin.room.namespaces')) as $namespace) + { + $list[$namespace] = [ + 'name' => $namespace, + 'namespace' => $namespace, + 'active' => $namespace === $request->get('namespace') + ]; + } + // Find related room names foreach ((array) $client->kevaListNamespaces() as $value) { - // Get current room namespace (could be third-party) - if ($value['namespaceId'] == $request->get('namespace')) - { - $name = $value['displayName']; - } - - // Check namespace enabled as room in .env - if (in_array($value['namespaceId'], $rooms)) + if (isset($list[$value['namespaceId']])) { - $list[$value['namespaceId']] = $value['displayName']; + $list[$value['namespaceId']]['name'] = $value['displayName']; } } - asort($list); - return $this->render( 'default/module/room.html.twig', [ - 'room' => [ - 'name' => $name, - 'namespace' => $request->get('namespace') - ], - 'list' => $list + 'list' => array_values( + $list + ), + 'form' => + [ + 'namespace' => + [ + 'value' => $request->get('namespace') + ] + ] ] ); } diff --git a/templates/default/module/room.html.twig b/templates/default/module/room.html.twig index 78502d3..73c3b3e 100644 --- a/templates/default/module/room.html.twig +++ b/templates/default/module/room.html.twig @@ -1,40 +1,20 @@
- +
{% if list %} - {% set i = 0 %} - {% for namespace, name in list %} + {% for i, room in list %} {% if i %}•{% endif %}

- {% if namespace == room.namespace %} - {{ name }} + {% if room.active %} + {{ room.name }} {% else %} - {{ name }} + {{ room.name }} {% endif %}

- + - {% set i = i + 1 %} {% endfor %} -{% endif %} -{# @TODO alternative implementation draft -{% if room.name %} -

{{ room.name }}

-{% endif %} -{% if list %} -
-{% endif %} -#} \ No newline at end of file +{% endif %} \ No newline at end of file