diff --git a/.idea/ClubManager.iml b/.idea/ClubManager.iml index cf6280b..b034188 100644 --- a/.idea/ClubManager.iml +++ b/.idea/ClubManager.iml @@ -14,6 +14,7 @@ + diff --git a/controlpanel/templates/controlpanel/base.html b/controlpanel/templates/controlpanel/base.html index ece8afd..5595f43 100644 --- a/controlpanel/templates/controlpanel/base.html +++ b/controlpanel/templates/controlpanel/base.html @@ -1,5 +1,3 @@ -{# Hardcoded, not `base_template`: the panel is platform-only, and a branding bug - must never be able to dress it up as a club. #} {% extends "_platform_base.html" %} {% load lucide %} diff --git a/templates/account/password_change.html b/templates/account/password_change.html index 724e94e..226ae62 100644 --- a/templates/account/password_change.html +++ b/templates/account/password_change.html @@ -33,7 +33,7 @@ diff --git a/templates/allauth/elements/fields.html b/templates/allauth/elements/fields.html index 900f973..ab228ee 100644 --- a/templates/allauth/elements/fields.html +++ b/templates/allauth/elements/fields.html @@ -26,25 +26,23 @@ false — silently dropping every field on every form that doesn't pass `exclude`. {% endcomment %} {% with exclude=attrs.exclude|default:"" %} -{% for field in attrs.form.visible_fields %} - {% if not field|excluded:exclude %} -
- {% if field.field.widget.input_type == "checkbox" %} - - {% else %} - {# An otp box never takes a visible label — the boxes say what they are, and a - heading above them just crowds the field. It keeps an sr-only one below. #} - {% if not attrs.unlabeled and not field|is_otp %} - - {% endif %} - {% with icon=field|field_icon %} - {% if field|is_otp %} - {% comment %} + {% for field in attrs.form.visible_fields %} + {% if not field|excluded:exclude %} +
+ {% if field.field.widget.input_type == "checkbox" %} + + {% else %} + {% if not attrs.unlabeled and not field|is_otp %} + + {% endif %} + {% with icon=field|field_icon %} + {% if field|is_otp %} + {% comment %} daisyUI's otp is one input overlaid on the boxes. Child order is load-bearing: it places each box with `nth-child`, which counts *every* child, not just the spans — so the input must come LAST. Put it first and all six boxes shift one @@ -55,38 +53,38 @@ For the same reason the sr-only label lives outside the container: another child would throw the count off again. {% endcomment %} - -
-
- - - - - - - {{ field|as_otp }} -
-
- {% elif icon %} - - {% else %} - {{ field|daisy }} + +
+
+ + + + + + + {{ field|as_otp }} +
+
+ {% elif icon %} + + {% else %} + {{ field|daisy }} + {% endif %} + {% endwith %} {% endif %} - {% endwith %} - {% endif %} - {% comment %} + {% comment %} The password field's help_text is allauth's "Forgot your password?" link, so it gets room to breathe. The id is not decorative: Django points the input's aria-describedby at `_helptext`, and without it that reference dangles and the link is never announced. {% endcomment %} - {% if field.help_text %}{{ field.help_text }}{% endif %} - {% for error in field.errors %}{{ error }}{% endfor %} -
- {% endif %} -{% endfor %} + {% if field.help_text %}{{ field.help_text }}{% endif %} + {% for error in field.errors %}{{ error }}{% endfor %} +
+ {% endif %} + {% endfor %} {% endwith %} diff --git a/templates/mfa/authenticate.html b/templates/mfa/authenticate.html index d8650fa..925302c 100644 --- a/templates/mfa/authenticate.html +++ b/templates/mfa/authenticate.html @@ -46,7 +46,7 @@ {% endelement %}
diff --git a/templates/mfa/index.html b/templates/mfa/index.html index 704b91b..1281248 100644 --- a/templates/mfa/index.html +++ b/templates/mfa/index.html @@ -41,7 +41,7 @@ {% translate "Deactivate" %} {% endelement %} {% else %} - {% element button href=activate_url icon="smartphone" tags="panel" %} + {% element button href=activate_url icon="qr-code" tags="panel" %} {% translate "Activate" %} {% endelement %} {% endif %} @@ -73,7 +73,7 @@ {% endelement %} {% else %} {% url 'mfa_add_webauthn' as webauthn_add_url %} - {% element button href=webauthn_add_url icon="usb" %} + {% element button href=webauthn_add_url icon="user-key" %} {% translate "Add" %} {% endelement %} {% endif %} @@ -90,7 +90,8 @@ {% slot body %} {% if authenticators.recovery_codes %} {% element p %} - {% blocktranslate count unused_count=unused_count %}There is {{ unused_count }} out of {{ total_count }} recovery codes available.{% plural %}There are {{ unused_count }} out of {{ total_count }} recovery codes available.{% endblocktranslate %} + {% blocktranslate count unused_count=unused_count %}There is {{ unused_count }} out of {{ total_count }} recovery codes available.{% plural %}There are {{ unused_count }} out of {{ total_count }} recovery codes available. + {% endblocktranslate %} {% endelement %} {% else %} {% element p %} diff --git a/templates/mfa/webauthn/add_form.html b/templates/mfa/webauthn/add_form.html index 68af5c6..27a17bc 100644 --- a/templates/mfa/webauthn/add_form.html +++ b/templates/mfa/webauthn/add_form.html @@ -19,7 +19,7 @@ {% endslot %} {% slot actions %} {# type="button": the webauthn script takes over the click and posts the form itself. #} - {% element button id="mfa_webauthn_add" type="button" icon="usb" %} + {% element button id="mfa_webauthn_add" type="button" icon="user-key" %} {% trans "Add" %} {% endelement %} {% endslot %} diff --git a/templates/mfa/webauthn/authenticator_list.html b/templates/mfa/webauthn/authenticator_list.html index 872afbf..2ed3050 100644 --- a/templates/mfa/webauthn/authenticator_list.html +++ b/templates/mfa/webauthn/authenticator_list.html @@ -66,7 +66,7 @@ {% endelement %} {% endif %} {% url 'mfa_add_webauthn' as add_url %} - {% element button href=add_url icon="usb" %} + {% element button href=add_url icon="user-key" %} {% translate "Add" %} {% endelement %} {% endblock %}