Browse Source

update room list

main
ghost 7 months ago
parent
commit
7c94416550
  1. 43
      src/Controller/ModuleController.php
  2. 34
      templates/default/module/room.html.twig

43
src/Controller/ModuleController.php

@ -26,7 +26,7 @@ class ModuleController extends AbstractController @@ -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 @@ -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')
]
]
]
);
}

34
templates/default/module/room.html.twig

@ -1,40 +1,20 @@ @@ -1,40 +1,20 @@
<form name="room" action="{{ path('room_index') }}" method="get">
<input type="text" name="namespace" value="{{ room.namespace }}" placeholder="{{ 'join room by kevacoin namespace...' | trans }}" />
<input type="text" name="namespace" value="{{ form.namespace.value }}" placeholder="{{ 'join room by kevacoin namespace...' | trans }}" />
</form>
{% if list %}
{% set i = 0 %}
{% for namespace, name in list %}
{% for i, room in list %}
{% if i %}&bull;{% endif %}
<h2>
{% if namespace == room.namespace %}
{{ name }}
{% if room.active %}
{{ room.name }}
{% else %}
<a href="{{ path('room_namespace', { namespace : namespace }) }}">{{ name }}</a>
<a href="{{ path('room_namespace', { namespace : room.namespace }) }}">{{ room.name }}</a>
{% endif %}
</h2>
<sup>
<a href="{{ path('room_namespace', { namespace : namespace, feed : 'rss' }) }}" title="{{ 'RSS' | trans }}" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 16 16">
<a href="{{ path('room_namespace', { namespace : room.namespace, feed : 'rss' }) }}" title="{{ 'RSS' | trans }}" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 16 16">
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2m0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2m.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/>
</svg></a>
</sup>
{% set i = i + 1 %}
{% endfor %}
{% endif %}
{# @TODO alternative implementation draft
{% if room.name %}
<h1>{{ room.name }}</h1>
{% endif %}
{% if list %}
<ul>
{% for namespace, name in list %}
<li>
{% if room.namespace == namespace %}
{{ name }}
{% else %}
<a href="{{ namespace }}">{{ name }}</a>
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
#}
{% endif %}
Loading…
Cancel
Save