hide unnecessary boxes based on session

master
selfisekai 2020-10-07 00:24:03 +02:00
parent 6f77bfc0a2
commit e8bfaeb104
3 changed files with 50 additions and 26 deletions

View File

@ -35,6 +35,35 @@ const openLocker = (lat: string, lon: string, openCode: string, id: string) => {
.addEventListener("click", () => openLockerConfirm(lat, lon, openCode, id));
};
const refreshPackages = () =>
request("packages", {}).then((res) => {
const table = document.querySelector("tbody")!;
res.forEach((shipment: Package) => {
const row = table.insertRow();
const id = row.insertCell(0);
const sender = row.insertCell(1);
const status = row.insertCell(2);
const locker = row.insertCell(3);
const openAction = row.insertCell(4);
row.dataset.lat = shipment.pickupPoint.location.latitude.toString();
row.dataset.lon = shipment.pickupPoint.location.longitude.toString();
row.dataset.openCode = shipment.openCode;
row.dataset.id = shipment.shipmentNumber;
id.innerText = shipment.shipmentNumber;
sender.innerText = shipment.senderName;
status.innerText = shipment.status;
locker.innerText = `${shipment.pickupPoint.name} - ${shipment.pickupPoint.description}`;
openAction.innerHTML = "Open";
openAction.addEventListener("click", (event) => {
const data = ((event.target as Element).parentNode as HTMLElement).dataset;
openLocker(data.lat!, data.lon!, data.openCode!, data.id!);
});
// console.log(shipment);
});
});
window.addEventListener("load", () => {
const login = document.querySelector(".login-form")!;
login.addEventListener("submit", (event) => {
@ -74,33 +103,18 @@ window.addEventListener("load", () => {
errorBoxWindow.style.display = "none";
});
request("packages", {}).then((res) => {
const table = document.querySelector("tbody")!;
res.forEach((shipment: Package) => {
const row = table.insertRow();
const id = row.insertCell(0);
const sender = row.insertCell(1);
const status = row.insertCell(2);
const locker = row.insertCell(3);
const openAction = row.insertCell(4);
row.dataset.lat = shipment.pickupPoint.location.latitude.toString();
row.dataset.lon = shipment.pickupPoint.location.longitude.toString();
row.dataset.openCode = shipment.openCode;
row.dataset.id = shipment.shipmentNumber;
id.innerText = shipment.shipmentNumber;
sender.innerText = shipment.senderName;
status.innerText = shipment.status;
locker.innerText = `${shipment.pickupPoint.name} - ${shipment.pickupPoint.description}`;
openAction.innerHTML = "Open";
openAction.addEventListener("click", (event) => {
const data = ((event.target as Element).parentNode as HTMLElement).dataset;
openLocker(data.lat!, data.lon!, data.openCode!, data.id!);
request("session", {}).then((res) => {
if (res.status == 200) {
// logged in
refreshPackages().then(() => {
(document.querySelector(".package-list")! as HTMLDivElement).style.display = "block";
});
// console.log(shipment);
});
} else {
// not logged in
[".login-box", ".register-box"].forEach((elementName) => {
(document.querySelector(elementName)! as HTMLDivElement).style.display = "block";
});
}
});
});

View File

@ -1,2 +1,11 @@
// TODO: only import necessary styles
@import "../node_modules/bulma/bulma.sass";
.login-box,
.register-box,
.sms-box,
.error-box,
.areyousure-box,
.package-list {
display: none;
}

View File

@ -4,6 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OCW</title>
<link rel="stylesheet" href="assets/style.css" />
<script src="assets/index.js"></script>
</head>
<body>