ebs/templates/pages/group/show.html.twig
2023-12-21 08:49:38 +01:00

61 lines
2.3 KiB
Twig

{% extends 'layout/base.html.twig' %}
{% set i18n_prefix = _self|i18n_prefix %}
{# User logged? #}
{% set logged = is_granted('IS_AUTHENTICATED_REMEMBERED') %}
{# Is the group public? #}
{% set is_public = group.type.isPublic %}
{# Get the current status of the user for the current group #}
{% set group_membership = logged ? app.user.getGroupMembership(group) : null %}
{% set has_group_membership = group_membership != null %}
{# Can we display the show members button? #}
{% set display_show_members_button = is_public or (has_group_membership and group_membership.membership.isConfirmed) %}
{% block body %}
<div class="px-3 px-lg-0">
{% include 'components/layout/_title_3.html.twig' with {
name: group.name
} %}
<div class="d-flex justify-content-center mt-3">
{% set pill_bg = group.type.isPublic() ? 'text-primary text-bg-blue-custom' : 'text-bg-secondary' %}
<span class="badge d-inline-flex align-items-center rounded-pill {{ pill_bg }}">
{{ group.type.value|trans }}
</span>
</div>
{% include 'components/layout/_text.html.twig' with {
text: group.description
} %}
{# 1. logged but not member and no pending invitaton #}
{% if logged and not has_group_membership %}
{% include 'pages/group/show/_logged_without_link.html.twig' %}
{# 2. logged and has a link with the group #}
{% elseif logged and has_group_membership %}
{% include 'pages/group/show/_logged_with_link.html.twig' %}
{# 3. not logged, display the link to login and come back to this page #}
{% else %}
<p class="text-center">
<a href="{{ path('app_group_show_logged', {id: group.id, slug: group.slug}) }}">{{ (i18n_prefix ~ '.login_text')|trans }}</a>
</p>
{% endif %}
{% if display_show_members_button %}
<div class="d-grid col col-lg-4 mx-auto mt-5">
<a class="btn btn-outline-primary"
href="{{ path('app_group_members', {id: group.id, slug: group.slug}) }}">
<i class="bi bi-people"></i>
{{ (i18n_prefix ~ '.show_members')|trans }}
</a>
</div>
{% endif %}
</div>
{% endblock %}
{% block link %}{% endblock %}