yeah so I rewrote the other half
This commit is contained in:
parent
184cfe2454
commit
38156aaaab
|
@ -139,7 +139,7 @@ enum PackageStatus {
|
||||||
STACK_PARCEL_IN_BOX_MACHINE_PICKUP_TIME_EXPIRED = "stack_parcel_in_box_machine_pickup_time_expired",
|
STACK_PARCEL_IN_BOX_MACHINE_PICKUP_TIME_EXPIRED = "stack_parcel_in_box_machine_pickup_time_expired",
|
||||||
}
|
}
|
||||||
|
|
||||||
let phone = 0;
|
let phone: string | null = localStorage.getItem("phone");
|
||||||
const leafletLoaderJS = document.createElement("script");
|
const leafletLoaderJS = document.createElement("script");
|
||||||
leafletLoaderJS.setAttribute("src", "https://unpkg.com/leaflet@1.7.1/dist/leaflet.js");
|
leafletLoaderJS.setAttribute("src", "https://unpkg.com/leaflet@1.7.1/dist/leaflet.js");
|
||||||
leafletLoaderJS.setAttribute(
|
leafletLoaderJS.setAttribute(
|
||||||
|
@ -302,17 +302,37 @@ window.addEventListener("load", () => {
|
||||||
register.addEventListener("submit", async (event) => {
|
register.addEventListener("submit", async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const form = event.target as HTMLFormElement;
|
const form = event.target as HTMLFormElement;
|
||||||
phone = form.phone.value;
|
phone = (form.querySelector('input[name="phone"]')! as HTMLInputElement).value;
|
||||||
|
localStorage.setItem("phone", phone);
|
||||||
const res = await request("register", {
|
const res = await request("register", {
|
||||||
login: form.login.value,
|
login: (form.querySelector('input[name="login"]')! as HTMLInputElement).value,
|
||||||
password: form.password.value,
|
password: (form.querySelector('input[name="password"]')! as HTMLInputElement).value,
|
||||||
phone: form.phone.value,
|
mail: (form.querySelector('input[name="email"]')! as HTMLInputElement).value,
|
||||||
});
|
});
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
[".register-box", ".login-box"].forEach((element) => {
|
[".register-box", ".login-box"].forEach((element) => {
|
||||||
(document.querySelector(element)! as HTMLDivElement).style.display = "none";
|
(document.querySelector(element)! as HTMLDivElement).style.display = "none";
|
||||||
});
|
});
|
||||||
|
(document.querySelector(".mail-box")! as HTMLDivElement).style.display = "block";
|
||||||
|
} else {
|
||||||
|
openError(res.description || res.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const mail = document.querySelector(".mail-form")!;
|
||||||
|
mail.addEventListener("submit", async (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
const form = event.target as HTMLFormElement;
|
||||||
|
const res = await request("mailcode", {
|
||||||
|
code: form.code.value,
|
||||||
|
phone,
|
||||||
|
});
|
||||||
|
if (res.status == 200) {
|
||||||
|
(document.querySelector(".mail-box")! as HTMLDivElement).style.display = "none";
|
||||||
(document.querySelector(".sms-box")! as HTMLDivElement).style.display = "block";
|
(document.querySelector(".sms-box")! as HTMLDivElement).style.display = "block";
|
||||||
|
if (!phone) {
|
||||||
|
(document.querySelector(".sms-phone-field")! as HTMLDivElement).style.display = "block";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
openError(res.description || res.msg);
|
openError(res.description || res.msg);
|
||||||
}
|
}
|
||||||
|
@ -322,12 +342,17 @@ window.addEventListener("load", () => {
|
||||||
sms.addEventListener("submit", async (event) => {
|
sms.addEventListener("submit", async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const form = event.target as HTMLFormElement;
|
const form = event.target as HTMLFormElement;
|
||||||
|
if (!phone) {
|
||||||
|
phone = (form.querySelector('input[name="phone"]')! as HTMLInputElement).value;
|
||||||
|
}
|
||||||
const res = await request("smscode", {
|
const res = await request("smscode", {
|
||||||
code: form.code.value,
|
code: form.code.value,
|
||||||
phone,
|
phone,
|
||||||
});
|
});
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
(document.querySelector(".sms-box")! as HTMLDivElement).style.display = "none";
|
(document.querySelector(".sms-box")! as HTMLDivElement).style.display = "none";
|
||||||
|
phone = null;
|
||||||
|
localStorage.removeItem("phone");
|
||||||
await refreshPackages();
|
await refreshPackages();
|
||||||
(document.querySelector(".package-list")! as HTMLDivElement).style.display = "block";
|
(document.querySelector(".package-list")! as HTMLDivElement).style.display = "block";
|
||||||
} else {
|
} else {
|
||||||
|
@ -347,16 +372,28 @@ window.addEventListener("load", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
request("session", {}).then((res) => {
|
request("session", {}).then((res) => {
|
||||||
if (res.status == 200) {
|
switch (parseInt(res.status, 10)) {
|
||||||
// logged in
|
case 200:
|
||||||
refreshPackages().then(() => {
|
// logged in, verified e-mail and phone
|
||||||
(document.querySelector(".package-list")! as HTMLDivElement).style.display = "block";
|
refreshPackages().then(() => {
|
||||||
});
|
(document.querySelector(".package-list")! as HTMLDivElement).style.display = "block";
|
||||||
} else {
|
});
|
||||||
// not logged in
|
localStorage.removeItem("phone");
|
||||||
[".login-box", ".register-box"].forEach((elementName) => {
|
break;
|
||||||
(document.querySelector(elementName)! as HTMLDivElement).style.display = "block";
|
case -1:
|
||||||
});
|
// not logged in
|
||||||
|
[".login-box", ".register-box"].forEach((elementName) => {
|
||||||
|
(document.querySelector(elementName)! as HTMLDivElement).style.display = "block";
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
(document.querySelector(".mail-box")! as HTMLDivElement).style.display = "block";
|
||||||
|
break;
|
||||||
|
case -3:
|
||||||
|
(document.querySelector(".sms-box")! as HTMLDivElement).style.display = "block";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
openError(res.description || res.msg || `Session error: ${res.status}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,7 +4,9 @@ $family-sans-serif: BlinkMacSystemFont, -apple-system, sans-serif;
|
||||||
|
|
||||||
.login-box,
|
.login-box,
|
||||||
.register-box,
|
.register-box,
|
||||||
|
.mail-box,
|
||||||
.sms-box,
|
.sms-box,
|
||||||
|
.sms-phone-field,
|
||||||
.error-box,
|
.error-box,
|
||||||
.areyousure-box,
|
.areyousure-box,
|
||||||
.package-list {
|
.package-list {
|
||||||
|
|
|
@ -44,6 +44,13 @@
|
||||||
<input type="password" name="password" class="input" placeholder="***** ***">
|
<input type="password" name="password" class="input" placeholder="***** ***">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="field">
|
||||||
|
<label for="email" class="label">E-mail address</label>
|
||||||
|
<div class="control">
|
||||||
|
<input type="email" name="email" class="input" placeholder="@2137.pl">
|
||||||
|
</div>
|
||||||
|
<p class="help">For password recovery. Verified on account registration</p>
|
||||||
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label for="phone" class="label">Phone number</label>
|
<label for="phone" class="label">Phone number</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
|
@ -56,6 +63,19 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mail-box column">
|
||||||
|
<label class="label is-large">E-mail</label>
|
||||||
|
<form method="POST" class="mail-form">
|
||||||
|
<div class="field">
|
||||||
|
<label for="code" class="label">E-mail code</label>
|
||||||
|
<div class="control">
|
||||||
|
<input type="number" name="code" class="input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="submit" class="button" value="Submit">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="sms-box column">
|
<div class="sms-box column">
|
||||||
<label class="label is-large">SMS</label>
|
<label class="label is-large">SMS</label>
|
||||||
<form method="POST" class="sms-form">
|
<form method="POST" class="sms-form">
|
||||||
|
@ -65,6 +85,13 @@
|
||||||
<input type="number" name="code" class="input">
|
<input type="number" name="code" class="input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="field sms-phone-field">
|
||||||
|
<label for="phone" class="label">Phone number</label>
|
||||||
|
<div class="control">
|
||||||
|
<input type="tel" name="phone" class="input" placeholder="222922597">
|
||||||
|
</div>
|
||||||
|
<p class="help">The one your packages are assigned to</p>
|
||||||
|
</div>
|
||||||
<input type="submit" class="button" value="Submit">
|
<input type="submit" class="button" value="Submit">
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -87,21 +114,21 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="package-list table-container">
|
<div class="package-list container">
|
||||||
<div class="logout-button button">Log out</div>
|
<div class="logout-button button">Log out</div>
|
||||||
<table class="table is-striped">
|
<table class="table is-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Package number</th>
|
<th>Package number</th>
|
||||||
<th>Sender</th>
|
<th>Sender</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Location</th>
|
<th>Location</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody></tbody>
|
<tbody></tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="details-box">
|
<div class="details-box">
|
||||||
<div id="map">
|
<div id="map">
|
||||||
|
|
Loading…
Reference in a new issue