diff --git a/front/.eslintrc.js b/front/.eslintrc.js index 6084d27..b8b00c2 100644 --- a/front/.eslintrc.js +++ b/front/.eslintrc.js @@ -3,6 +3,9 @@ module.exports = { browser: true, es6: true, }, + globals: { + L: "readonly", + }, extends: ["airbnb-typescript", "prettier", "prettier/@typescript-eslint"], parser: "@typescript-eslint/parser", parserOptions: { diff --git a/front/src/index.ts b/front/src/index.ts index a192630..c1a06f3 100644 --- a/front/src/index.ts +++ b/front/src/index.ts @@ -1,12 +1,21 @@ +// eslint-disable-next-line spaced-comment +/// + let phone = 0; const leafletLoaderJS = document.createElement("script"); leafletLoaderJS.setAttribute("src", "https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"); -leafletLoaderJS.setAttribute("integrity", "sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="); +leafletLoaderJS.setAttribute( + "integrity", + "sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==", +); leafletLoaderJS.setAttribute("crossorigin", "anonymous"); const leafletLoaderCSS = document.createElement("link"); -leafletLoaderCSS.setAttribute("rel", "stylesheet") -leafletLoaderCSS.setAttribute("href", "https://unpkg.com/leaflet@1.7.1/dist/leaflet.css") -leafletLoaderCSS.setAttribute("integrity", "sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="); +leafletLoaderCSS.setAttribute("rel", "stylesheet"); +leafletLoaderCSS.setAttribute("href", "https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"); +leafletLoaderCSS.setAttribute( + "integrity", + "sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==", +); leafletLoaderCSS.setAttribute("crossorigin", "anonymous"); const request = (resource: string, data: any) => @@ -73,7 +82,6 @@ const refreshPackages = () => row.dataset.id = shipment.shipmentNumber; row.dataset.sender = shipment.senderName; row.dataset.status = shipment.status; - id.innerText = shipment.shipmentNumber; sender.innerText = shipment.senderName; @@ -84,21 +92,24 @@ const refreshPackages = () => showDetailsAction.classList.add("button", "is-light", "is-small"); showDetailsAction.innerHTML = "Info"; - showDetailsAction.addEventListener("click", (event) => { - const data = ((event.target as Element).parentNode!.parentNode as HTMLElement).dataset; - console.log(data) - document.querySelector("head").appendChild(leafletLoaderCSS); - document.querySelector("head").appendChild(leafletLoaderJS); - leafletLoaderJS.addEventListener('load', () => { - const map = L.map('map').setView([Number(data.pickupPointLat), Number(data.pickupPointLon)], 17); - L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - attribution: 'Map data © OpenStreetMap contributors', - maxZoom: 19, - }).addTo(map); - L.marker([Number(data.pickupPointLat), Number(data.pickupPointLon)]).addTo(map); - }) - }) - + showDetailsAction.addEventListener("click", (event) => { + const data = ((event.target as Element).parentNode!.parentNode as HTMLElement).dataset; + document.querySelector("head")!.appendChild(leafletLoaderCSS); + document.querySelector("head")!.appendChild(leafletLoaderJS); + leafletLoaderJS.addEventListener("load", () => { + const map = L.map("map").setView( + [parseFloat(data.pickupPointLat!), parseFloat(data.pickupPointLon!)], + 17, + ); + L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { + attribution: + 'Map data © OpenStreetMap contributors', + maxZoom: 19, + }).addTo(map); + L.marker([parseFloat(data.pickupPointLat!), parseFloat(data.pickupPointLon!)]).addTo(map); + }); + }); + const openAction = document.createElement("a"); openAction.classList.add("button", "is-light", "is-small"); openAction.innerHTML = "Open"; @@ -108,9 +119,9 @@ const refreshPackages = () => openLocker(data.pickupPointLat!, data.pickupPointLon!, data.openCode!, data.id!); }); } else { - openAction.setAttribute("disabled", ""); + openAction.setAttribute("disabled", ""); } - + opener.appendChild(openAction); details.appendChild(showDetailsAction); }); @@ -138,9 +149,9 @@ window.addEventListener("load", () => { }); const logout = document.querySelector(".logout-button")!; - logout.addEventListener("click", (event) => { + logout.addEventListener("click", () => { request("logout", {}).then(() => { - document.location = document.location; + document.location.reload(); }); }); @@ -155,9 +166,9 @@ window.addEventListener("load", () => { phone: form.phone.value, }); if (res.status == 200) { - [".register-box", ".login-box"].forEach( - (element) => ((document.querySelector(element)! as HTMLDivElement).style.display = "none"), - ); + [".register-box", ".login-box"].forEach((element) => { + (document.querySelector(element)! as HTMLDivElement).style.display = "none"; + }); (document.querySelector(".sms-box")! as HTMLDivElement).style.display = "block"; } else { openError(res.description || res.msg);