You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-11-20 12:02:22 +03:00
63 lines
2.6 KiB
HTML
63 lines
2.6 KiB
HTML
{#
|
|
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
#}
|
|
|
|
{% macro input(label, name, type="text", form_state=false, autocomplete=false, class="", inputmode="text", autocorrect=false, autocapitalize=false) %}
|
|
{% if not form_state %}
|
|
{% set form_state = dict(errors=[], fields=dict()) %}
|
|
{% endif %}
|
|
|
|
{% set state = form_state.fields[name] | default(value=dict(errors=[], value="")) %}
|
|
|
|
{% if state.errors is not empty %}
|
|
{% set border_color = "border-alert" %}
|
|
{% set text_color = "text-alert" %}
|
|
{% else %}
|
|
{% set border_color = "border-grey-50 dark:border-grey-450" %}
|
|
{% set text_color = "text-black-800 dark:text-grey-300" %}
|
|
{% endif %}
|
|
|
|
<label class="flex flex-col {{ class }}">
|
|
<div class="mx-2 -mb-3 -mt-2 leading-5 px-1 z-10 self-start bg-white dark:bg-black-900 border-white border-2 dark:border-black-900 rounded-full text-sm {{ text_color }}">{{ label }}</div>
|
|
<input name="{{ name }}"
|
|
class="z-0 px-3 py-2 bg-white dark:bg-black-900 rounded-lg {{ border_color }} border-2 focus:border-accent focus:ring-0 focus:outline-0"
|
|
type="{{ type }}"
|
|
inputmode="{{ inputmode }}"
|
|
{% if autocomplete %} autocomplete="{{ autocomplete }}" {% endif %}
|
|
{% if state.value %} value="{{ state.value }}" {% endif %}
|
|
{% if autocorrect %} autocorrect="{{ autocorrect }}" {% endif %}
|
|
{% if autocapitalize %} autocapitalize="{{ autocapitalize }}" {% endif %}
|
|
/>
|
|
|
|
{% if state.errors is not empty %}
|
|
{% for error in state.errors %}
|
|
{% if error.kind != "unspecified" %}
|
|
<div class="mx-4 text-sm text-alert">
|
|
{% if error.kind == "required" %}
|
|
This field is required
|
|
{% elif error.kind == "exists" and name == "username" %}
|
|
This username is already taken
|
|
{% elif error.kind == "policy" %}
|
|
Denied by policy: {{ error.message }}
|
|
{% else %}
|
|
{{ error.kind }}
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
</label>
|
|
{% endmacro input %}
|