add 'rst' to Login component #20

Merged
philipp merged 2 commits from feature/18-add-rst-login into dev 2021-04-14 15:22:08 +00:00
1 changed files with 40 additions and 23 deletions

View File

@ -1,7 +1,7 @@
<script>
import isURL from "validator/lib/isURL";
import isUUID from "validator/lib/isUUID";
import { apikey, lang, stationinfo, api_endpoint } from "./store.js";
import { apikey, lang, stationinfo, api_endpoint, page } from "./store.js";
import axios from "axios";
import background from "./kaya_kids_background.jpg";
import { _, locale } from "svelte-i18n";
@ -10,9 +10,10 @@
$: error = false;
$: errormessage = "";
$: isTokenValid =
token?.length === 44 &&
token.split(".")[0].length === 7 &&
isUUID(token.split(".")[1]);
token === "rst" ||
(token?.length === 44 &&
token.split(".")[0].length === 7 &&
isUUID(token.split(".")[1]));
$: isEndpointValid = isURL(api_endpoint_input);
</script>
@ -67,22 +68,30 @@
class="flex flex-col pt-3 md:pt-8"
onsubmit="event.preventDefault();"
on:submit={() => {
axios
.request({
method: "GET",
url: $api_endpoint + "api/stations/me",
headers: { Authorization: "Bearer " + token },
})
.then(function (response) {
error = false;
errormessage = "";
apikey.set(token);
stationinfo.set(JSON.stringify(response.data));
})
.catch(function (e) {
error = true;
errormessage = e.response.data.short;
});
if (token === "rst") {
apikey.set("");
api_endpoint.set("");
page.set("");
token = "";
api_endpoint_input = "";
} else {
axios
.request({
method: "GET",
url: $api_endpoint + "api/stations/me",
headers: { Authorization: "Bearer " + token },
})
.then(function (response) {
error = false;
errormessage = "";
apikey.set(token);
stationinfo.set(JSON.stringify(response.data));
})
.catch(function (e) {
error = true;
errormessage = e.response.data.short;
});
}
}}
>
<div class="flex flex-col pt-4">
@ -118,10 +127,18 @@
class="flex flex-col pt-3 md:pt-8"
onsubmit="event.preventDefault();"
on:submit={() => {
if (api_endpoint_input.substr(-1) !== "/") {
api_endpoint_input = api_endpoint_input + "/";
if (api_endpoint_input === "rst") {
apikey.set("");
api_endpoint.set("");
page.set("");
token = "";
api_endpoint_input = "";
} else {
if (api_endpoint_input.substr(-1) !== "/") {
api_endpoint_input = api_endpoint_input + "/";
}
api_endpoint.set(api_endpoint_input);
}
api_endpoint.set(api_endpoint_input);
}}
>
<div class="flex flex-col pt-4">