@@ -1,5 +1,6 @@
|
||||
<script>
|
||||
import store from "../store.js";
|
||||
import localForage from "localforage";
|
||||
import { _ } from "svelte-i18n";
|
||||
store.init();
|
||||
import { push, pop, replace } from "svelte-spa-router";
|
||||
@@ -7,14 +8,32 @@
|
||||
OpenAPI.BASE = config.baseurl;
|
||||
import Toastify from "toastify-js";
|
||||
import "toastify-js/src/toastify.css";
|
||||
import { init } from "svelte/internal";
|
||||
// ------
|
||||
let usersUsername;
|
||||
let usersPassword = "";
|
||||
let is_blocked_by_autologin = false;
|
||||
let last_loginclick_processed = true;
|
||||
|
||||
localForage.getItem("logindata", (err, value) => {
|
||||
if (value) {
|
||||
if (value.access_token && value.refresh_token) {
|
||||
is_blocked_by_autologin = true;
|
||||
OpenAPI.TOKEN = value.access_token;
|
||||
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
||||
store.login(value.access_token, jwtinfo);
|
||||
replace("/dashboard/");
|
||||
Toastify({
|
||||
text: $_("welcome_wavinghand"),
|
||||
duration: 500,
|
||||
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
||||
}).showToast();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const login = async () => {
|
||||
// prevent login button spamming
|
||||
if (last_loginclick_processed) {
|
||||
if (last_loginclick_processed && is_blocked_by_autologin === false) {
|
||||
last_loginclick_processed = false;
|
||||
Toastify({
|
||||
text: $_("login_is_checked"),
|
||||
@@ -32,9 +51,11 @@
|
||||
username,
|
||||
password,
|
||||
})
|
||||
.then((result) => {
|
||||
.then(async (result) => {
|
||||
await localForage.setItem("logindata", result);
|
||||
OpenAPI.TOKEN = result.access_token;
|
||||
store.login(result.access_token);
|
||||
const jwtinfo = JSON.parse(atob(OpenAPI.TOKEN.split(".")[1]));
|
||||
store.login(result.access_token, jwtinfo);
|
||||
replace("/dashboard/");
|
||||
Toastify({
|
||||
text: $_("welcome_wavinghand"),
|
||||
|
||||
Reference in New Issue
Block a user