This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/resources/views/yuuno/auth/resetpassword.twig

85 lines
3.3 KiB
Twig

{% extends 'master.twig' %}
{% set title = 'Reset password' %}
{% set verified = get.u is defined and get.k is defined %}
{% block js %}
<script>
function yuunoAttemptPasswordReset(form) {
var client = new Sakura.AJAX;
{% if not verified %}
var sndBtn = Sakura.DOM.ID('snd-btn');
sndBtn.disabled = true;
sndBtn.innerHTML = '<i class="fa fa-spinner fa-spin"></i>';
Sakura.DOM.AddClass(sndBtn, ['input__button--disabled']);
{% endif %}
client.SetUrl("{{ route('auth.resetpassword') }}");
client.SetFormData(new FormData(form));
client.AddCallback(200, function () {
{% if not verified %}
sndBtn.disabled = false;
sndBtn.innerHTML = '<i class="fa fa-envelope"></i> Send e-mail';
Sakura.DOM.RemoveClass(sndBtn, ['input__button--disabled']);
{% endif %}
var result = client.JSON();
if (result.error || result.text) {
var dialogue = new Sakura.Dialogue;
dialogue.Title = "Reset password";
dialogue.Text = result.error || result.text;
dialogue.AddCallback(Sakura.DialogueButton.Ok, function () {
this.Close();
if (result.go) {
window.location.assign(result.go);
}
});
dialogue.Display();
} else if (result.go) {
window.location.assign(result.go);
}
});
client.Start(Sakura.HTTPMethod.POST);
}
</script>
{% endblock %}
{% block content %}
<div class="auth content content--auth">
<div class="content__header">
Reset password
</div>
<form method="post" action="javascript:void(0)" onsubmit="yuunoAttemptPasswordReset(this)">
<input type="hidden" name="session" value="{{ session_id() }}">
{% if verified %}
<input type="hidden" name="user" value="{{ get.u }}">
<input type="hidden" name="key" value="{{ get.k }}">
<label>
<div class="auth__label">Password</div>
<input class="input__text" type="password" name="password" autofocus>
</label>
<button class="input__button auth__button">
<i class="fa fa-save"></i> Save Password
</button>
{% else %}
<label>
<div class="auth__label">Username</div>
<input class="input__text" type="text" name="username" autofocus>
</label>
<label>
<div class="auth__label">E-mail</div>
<input class="input__text" type="text" name="email">
</label>
<button class="input__button auth__button" id="snd-btn">
<i class="fa fa-envelope"></i> Send e-mail
</button>
<div class="auth__subtext">
<a href="{{ route('info.contact') }}">Contact us</a> if you lost access to your e-mail address!
</div>
{% endif %}
</form>
</div>
{% endblock %}