mirror of
https://github.com/openwrt/luci.git
synced 2025-07-17 05:14:59 +00:00
Clear, crisp, resolution independent vector graphics replace the trusty microscopic PNG. Some minor CSS changes were needed to constrain images in some locations to make sure they don't consume too much space. Iconography taken from Mate desktop theme with minor adjustments: https://github.com/mate-desktop/mate-icon-theme/ Signed-off-by: Paul Donald <newtwen+github@gmail.com>
75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
{#
|
|
Copyright 2008 Steven Barth <steven@midlink.org>
|
|
Copyright 2008-2012 Jo-Philipp Wich <jow@openwrt.org>
|
|
Licensed to the public under the Apache License 2.0.
|
|
-#}
|
|
|
|
{% include('header') %}
|
|
|
|
<form method="post">
|
|
{% if (fuser): %}
|
|
<div class="alert-message warning">
|
|
<p>{{ _('Invalid username and/or password! Please try again.') }}</p>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="cbi-map">
|
|
<h2 name="content">{{ _('Authorization Required') }}</h2>
|
|
<div class="cbi-map-descr">
|
|
{{ _('Please enter your username and password.') }}
|
|
</div>
|
|
<div class="cbi-section"><div class="cbi-section-node">
|
|
<div class="cbi-value">
|
|
<label class="cbi-value-title">{{ _('Username') }}</label>
|
|
<div class="cbi-value-field">
|
|
<input class="cbi-input-text" type="text" name="luci_username" value="{{ entityencode(duser, true) }}" />
|
|
</div>
|
|
</div>
|
|
<div class="cbi-value cbi-value-last">
|
|
<label class="cbi-value-title">{{ _('Password') }}</label>
|
|
<div class="cbi-value-field">
|
|
<input class="cbi-input-text" type="password" name="luci_password" />
|
|
</div>
|
|
</div>
|
|
</div></div>
|
|
</div>
|
|
|
|
<div class="cbi-page-actions">
|
|
<input type="submit" value="{{ _('Log in') }}" class="btn cbi-button cbi-button-apply" />
|
|
<input type="reset" value="{{ _('Reset') }}" class="btn cbi-button cbi-button-reset" />
|
|
</div>
|
|
</form>
|
|
|
|
{%
|
|
let https_ports = uci.get('uhttpd', 'main', 'listen_https') ?? [];
|
|
|
|
https_ports = uniq(filter(
|
|
map(
|
|
(type(https_ports) == 'string') ? split(https_port, /\s+/) : https_ports,
|
|
e => +match(e, /\d+$/)?.[0]
|
|
),
|
|
p => (p >= 0 && p <= 65535)
|
|
));
|
|
%}
|
|
|
|
<script>
|
|
var input = document.getElementsByName('luci_password')[0];
|
|
|
|
if (input)
|
|
input.focus();
|
|
|
|
if (document.location.protocol != 'https:') {
|
|
{{ https_ports }}.forEach(function(port) {
|
|
var url = 'https://' + window.location.hostname + ':' + port + window.location.pathname;
|
|
var img = new Image();
|
|
|
|
img.onload = function() { window.location = url };
|
|
img.src = 'https://' + window.location.hostname + ':' + port + '{{ resource }}/icons/loading.svg?' + Math.random();
|
|
|
|
setTimeout(function() { img.src = '' }, 5000);
|
|
});
|
|
}
|
|
</script>
|
|
|
|
{% include('footer') %}
|