op-packages/luci-theme-material3/ucode/template/themes/material3/sysauth.ut
github-actions[bot] a0ef0d598a 💐 Sync 2026-05-31 20:31:25
2026-05-31 20:31:25 +08:00

93 lines
2.9 KiB
Plaintext

{#
Copyright 2022 Jo-Philipp Wich <jo@mein.io>
Licensed to the public under the Apache License 2.0.
-#}
{% include('header', { blank_page: true }) %}
<section hidden>
<div class="material3-login-header">
<img src="{{ media }}/logo.svg" alt="" class="material3-logo">
<div>
<h2>{{ _('Authorization Required') }}</h2>
<p>{{ _('Sign in to manage this device.') }}</p>
</div>
</div>
<form method="post" class="cbi-map">
<div class="cbi-section">
<div class="cbi-section-node">
<div class="cbi-value">
<label class="cbi-value-title" for="luci_username">{{ _('Username') }}</label>
<div class="cbi-value-field">
<input name="luci_username" id="luci_username" type="text" autocomplete="username" value="{{ entityencode(duser, true) }}">
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title" for="luci_password">{{ _('Password') }}</label>
<div class="cbi-value-field">
<input name="luci_password" id="luci_password" type="password" autocomplete="current-password">
</div>
</div>
{% if (auth_fields): %}
{% for (let field in auth_fields): %}
<div class="cbi-value">
<label class="cbi-value-title" for="{{ field.name }}">{{ _(field.label ?? field.name) }}</label>
<div class="cbi-value-field">
<input
name="{{ field.name }}"
id="{{ field.name }}"
type="{{ field.type ?? 'text' }}"
{% if (field.placeholder): %}placeholder="{{ field.placeholder }}"{% endif %}
{% if (field.inputmode): %}inputmode="{{ field.inputmode }}"{% endif %}
{% if (field.pattern): %}pattern="{{ field.pattern }}"{% endif %}
{% if (field.maxlength): %}maxlength="{{ field.maxlength }}"{% endif %}
{% if (field.autocomplete): %}autocomplete="{{ field.autocomplete }}"{% endif %}
{% if (field.required): %}required{% endif %}
>
</div>
</div>
{% endfor %}
{% endif %}
{% if (auth_html): %}
<div class="cbi-value">
{{ auth_html }}
</div>
{% endif %}
{% if (auth_assets): %}
{% for (let asset in auth_assets): %}
{% if (asset.type == 'script'): %}
<script src="{{ asset.src }}"></script>
{% endif %}
{% endfor %}
{% endif %}
</div>
</div>
</form>
<hr>
{% if (auth_message): %}
<div class="alert-message{% if (auth_plugin): %} warning{% endif %}">
{{ auth_message }}
</div>
{% elif (fuser): %}
<div class="alert-message error">
{{ _('Invalid username and/or password! Please try again.') }}
</div>
{% endif %}
<button class="btn cbi-button-positive important">{{ _('Log in') }}</button>
</section>
<div id="view">
<div class="spinning">{{ _('Loading view…') }}</div>
<script>
L.require('ui').then(function(ui) {
ui.instantiateView('material3.sysauth');
});
</script>
</div>
{% include('footer', { blank_page: true }) %}