webapp/templates/default/room/index.html.twig

83 lines
3.7 KiB
Twig
Raw Normal View History

2024-02-21 20:06:39 +00:00
{% macro recursive_post_tree(namespace, writable, tree) %}
{% import _self as self %}
{% if tree | length %}
<ul>
{% for post in tree %}
<li>
<div>
2024-02-21 07:54:15 +00:00
<a name="{{ post.txid }}"></a>
<strong>
2024-02-20 19:09:05 +00:00
{{ post.user }}
</strong>
&bull;
{% if post.pending %}
{{ post.time | format_ago }}
{% if post.pool %}
&bull;
{{ 'pending %s KVA to %s (%s)' | trans | format(post.pool.cost, post.pool.address, post.pool.expires | format_expire ) }}
{% endif %}
<span title="{{ 'pending in pool' | trans }}">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z"/>
</svg>
</span>
{% else %}
2024-02-21 20:06:39 +00:00
<a rel="nofollow" href="{{ path('room_namespace', { namespace : namespace, _fragment : post.txid }) }}" title="{{ post.time | date('c') }}">{{ post.time | format_ago }}</a>
2024-02-21 08:23:14 +00:00
{% if writable %}
&bull;
2024-02-21 20:06:39 +00:00
<a rel="nofollow" href="{{ path('room_namespace', { namespace : namespace, txid : post.txid, _fragment : post.txid }) }}">{{ 'reply' | trans }}</a>
2024-02-21 08:23:14 +00:00
{% endif %}
{% endif %}
2024-02-21 07:54:15 +00:00
<small>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" viewBox="0 0 16 16">
<path d="M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2M2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2"/>
</svg>
{{ post.key }}
</small>
{# apply markdown whitelist filters only to prevent ping from remote includes #}
{{
2024-02-13 21:36:02 +00:00
post.message | message_to_markdown
| trim
| nl2br
| markdown_to_html
}}
</div>
2024-02-13 21:34:17 +00:00
{% if post.tree is defined and post.tree | length %}
2024-02-21 20:06:39 +00:00
{{ self.recursive_post_tree(namespace, writable, post.tree) }}
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
{% from _self import recursive_post_tree %}
2023-12-05 02:15:41 +00:00
{% extends 'default/layout.html.twig' %}
{% block head_title_content %}{{ request.get('namespace') | keva_namespace_value }} - {{ app.name }}{% endblock %}
2023-12-05 02:15:41 +00:00
{% block main_content %}
{% if tree %}
2024-02-21 20:06:39 +00:00
{{ recursive_post_tree(request.get('namespace'), writable, tree) }}
2023-12-10 09:08:27 +00:00
<a name="latest"></a>
2023-12-06 01:58:39 +00:00
{% else %}
<ul>
<li>
<div>
{{ 'room does not contain kevachat messages' | trans }}
</div>
2023-12-06 01:58:39 +00:00
</li>
</ul>
2023-12-05 03:48:25 +00:00
{% endif %}
2023-12-05 02:15:41 +00:00
{% endblock %}
{% block footer_content %}
2024-02-21 08:23:14 +00:00
{% if writable %}
2023-12-05 02:15:41 +00:00
{{
render(
controller(
'App\\Controller\\ModuleController::post',
{
request: request
}
)
)
}}
2024-02-21 08:23:14 +00:00
{% endif %}
2023-12-05 02:15:41 +00:00
{% endblock %}