78 lines
No EOL
3.1 KiB
Twig
78 lines
No EOL
3.1 KiB
Twig
{% if user.id == 0 %}
|
|
<div class="header-login-container">
|
|
<form class="header-login" method="post" action="javascript:void(0);" onsubmit="yuunoAttemptLogin(this)">
|
|
<div class="header-login__sub header-login__sub--form">
|
|
<input type="text" name="username" class="input__text header-login__text" placeholder="Username">
|
|
<input type="password" name="password" class="input__text header-login__text" placeholder="Password">
|
|
<input type="hidden" name="session" value="{{ session_id() }}">
|
|
<button class="input__button header-login__button">
|
|
<i class="fa fa-sign-in"></i> Login
|
|
</button>
|
|
</div>
|
|
<div class="header-login__sub header-login__sub--buttons">
|
|
<a class="input__button header-login__button header-login__button--small" href="{{ route('auth.register') }}">
|
|
<i class="fa fa-magic"></i> I don't have an account yet!
|
|
</a>
|
|
<a class="input__button header-login__button header-login__button--small" href="{{ route('auth.resetpassword') }}">
|
|
<i class="fa fa-exclamation-triangle"></i> I don't have access to my account!
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<script>
|
|
function yuunoAttemptLogin(form) {
|
|
var ajax = new Sakura.AJAX;
|
|
|
|
ajax.SetUrl("{{ route('auth.login') }}");
|
|
ajax.SetFormData(new FormData(form));
|
|
|
|
ajax.AddCallback(200, function () {
|
|
var result = ajax.JSON();
|
|
|
|
if (result.error) {
|
|
var diag = new Sakura.Dialogue;
|
|
diag.Title = "Login Error";
|
|
diag.Text = result.error;
|
|
diag.Display();
|
|
} else if (result.go) {
|
|
window.location.assign(result.go);
|
|
} else {
|
|
window.location.reload();
|
|
}
|
|
});
|
|
|
|
ajax.Start(Sakura.HTTPMethod.POST);
|
|
}
|
|
</script>
|
|
{% else %}
|
|
<script>
|
|
function yuunoLogout() {
|
|
var confirm = new Sakura.Dialogue;
|
|
confirm.SetType(Sakura.DialogueType.ConfirmNegative);
|
|
confirm.Title = "Logout";
|
|
confirm.Text = "Are you sure?";
|
|
|
|
confirm.AddCallback(Sakura.DialogueButton.Yes, function () {
|
|
var ajax = new Sakura.AJAX;
|
|
ajax.SetUrl("{{ route('auth.logout') }}?session=" + Sakura.Config.SessionId);
|
|
|
|
ajax.AddCallback(200, function () {
|
|
window.location.reload();
|
|
});
|
|
ajax.AddCallback(403, function () {
|
|
confirm.Close();
|
|
|
|
var error = new Sakura.Dialogue;
|
|
error.Title = "Logout Error";
|
|
error.Text = "Logout failed.";
|
|
error.Display();
|
|
});
|
|
|
|
ajax.Start(Sakura.HTTPMethod.DELETE);
|
|
});
|
|
|
|
confirm.Display();
|
|
}
|
|
</script>
|
|
{% endif %} |