{% extends "base.html" %} {% import "macros.html" as macros %} {# The unit selector (guarded further down by the same two flags) is the only other thing on the page naming the unit, so the heading and title repeat it only when the selector isn't there to. One flag drives both `{% if %}`s below and the selector's own guard, so they can't diverge. #} {% set unit_selector_shown = config.BUNITS and config.BUNITS_LOGIN_SELECTOR %} {% set show_unit_name = current_unit() and not unit_selector_shown %} {% block title %}Log in - ePortal{% if show_unit_name %} [{{ current_unit().title }}]{% endif %}{% endblock %} {# No chrome: there is no navigation to bypass, and the sign-in form is the page. The landmark is inherited, so it cannot drift from the rest of the app. #} {% block chrome %}{% endblock %} {# Inside the card, not above it: the shared region renders full width at the top of the page, 10em clear of the form the error belongs to. #} {% block messages %}{% endblock %} {% block body %}
{{ macros.flashed_messages() }} {# Sized as the brand line it replaced: a bare

is 2.5rem and wraps with a unit name appended. #}

Sign In to KernelCare.ePortal{% if show_unit_name %} [{{ current_unit().title }}]{% endif %}

{% if unit_selector_shown %}
{# No separate activation control: arrowing down a native select fires `change` on every option passed, but `unit_selector.js` only retargets where the form (and the SSO link) will submit -- it never navigates, so nothing changes context and SC 3.2.2 holds without an extra click. #}
{% endif %}
{% if config.OIDC_CLIENT_ID %} Sign In with SSO {% endif %}
{% endblock %} {% block tail %} {{ super() }} {% endblock %}