byceps/blueprints/common/core/templates/macros/user.html
{% macro render_user_avatar(user, size, orga=False) -%}
<div class="avatar size-{{ size }}{% if size >= 32 and orga %} orga{% endif %}"{% if not user.deleted %} title="{{ user.screen_name }}"{% endif %}>
{{- render_user_avatar_image_with_fallback(user) }}
</div>
{%- endmacro %}
{% macro render_user_avatar_and_link(user, size, orga=False) -%}
<span class="nowrap">{{ render_user_avatar(user, size=size, orga=orga) }} {{ render_user_link(user) }}</span>
{%- endmacro %}
{% macro render_user_avatar_and_name(user, size, orga=False) -%}
<span class="nowrap">{{ render_user_avatar(user, size=size, orga=orga) }} {{ render_user_screen_name(user) }}</span>
{%- endmacro %}
{% macro render_user_avatar_image_with_fallback(user) -%}
{%- set avatar_url = user.avatar_url or url_for('static', filename='avatar_fallback.svg') -%}
<img src="{{ avatar_url }}" alt="{{ _('Avatar of %(screen_name)s', screen_name=user.screen_name) if not user.deleted else _('Avatar of deleted user') }}" loading="lazy">
{%- endmacro %}
{% macro render_user_link(user) -%}
{%- if user.deleted -%}
{{ render_user_screen_name(user) }}
{%- else -%}
<a href="{{ url_for('user_profile.view', user_id=user.id) }}">{{ render_user_screen_name(user) }}</a>
{%- endif -%}
{%- endmacro %}
{% macro render_user_screen_name(user) -%}
{%- if user.deleted -%}
<span class="dimmed" style="font-style: italic;">gelöscht</span>
{%- else -%}
{{ user.screen_name }}
{%- endif -%}
{%- endmacro %}