{# _auth_main_login.html — login form column. Renders
standalone for HTMX fragment responses. Expected context: csrf_token, identifier, error, next, client_id, app_name, oauth_providers, is_production #} {% import "_partials/_auth_macros.html" as auth %} {%- if signup_url -%} {%- set register_href = signup_url -%} {%- elif client_id -%} {%- set register_href = "/register?client_id=" ~ client_id -%} {%- else -%} {%- set register_href = "/register" -%} {%- endif -%}
{{ auth.kicker(app_name, "Sign in", swap_href=register_href, swap_label="Create account", swap_prefix="New here?") }}

Sign in

Welcome back.

{{ auth.tabs(active="signin", signup_href=register_href) }}
{% if error %} {% set flash = { "kind": "err", "message": error } %}
{% include "_partials/_flash.html" %}
{% endif %}
{% if next %}{% endif %} {% if client_id %}{% endif %}
Forgot?
{{ auth.oauth_grid(oauth_providers, next=next) }} {{ auth.terms_footer(terms_url=terms_url, privacy_url=privacy_url) }}