From e7356b3c3c934deaa73b2aca01f67e414d94ec85 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Thu, 14 Sep 2023 23:57:18 +0700
Subject: [PATCH 01/73] hide search bar after search
---
src/views/Home.vue | 53 ++++++++++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 23 deletions(-)
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 27f4625..03a2106 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -14,30 +14,36 @@
-
-
+
+
+
+
+
+
mdi-crosshairs-gps
+
-
-
- -
- {{ result.display_name }}
-
-
-
+
+
+ -
+ {{ result.display_name }}
+
+
+
{
- // Extract latitude and longitude from the selected result
const lat = parseFloat(result.lat);
const lon = parseFloat(result.lon);
-
- // Update the center coordinates to move the camera to the selected location
center.value = [lon, lat];
+ hideSearchResults.value = true;
};
const performSearch = async () => {
@@ -100,14 +107,14 @@ const performSearch = async () => {
`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(searchQuery.value)}`
);
- // Process the search results and limit to, let's say, 5 results
searchResults.value = response.data.slice(0, 5);
+
+ hideSearchResults.value = false;
} catch (error) {
console.error("Error fetching search results:", error);
}
};
-
//Show API
const handleMapClick = async event => {
const clickedCoordinate = event.coordinate;
From cab24874f74713586277cb087a827c18d82bc58d Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Fri, 15 Sep 2023 01:36:47 +0700
Subject: [PATCH 02/73] toggle search bar
---
src/views/Home.vue | 38 +++++++++++++++++++++++++++-----------
1 file changed, 27 insertions(+), 11 deletions(-)
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 03a2106..e392d98 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -20,6 +20,7 @@
v-model="searchQuery"
@keyup.enter="performSearch"
@input="performSearch"
+ @click="toggleSearchBar()"
density="compact"
variant="solo"
prepend-inner-icon="mdi-magnify"
@@ -37,13 +38,28 @@
-
-
- -
- {{ result.display_name }}
-
-
-
+
+
+
+
+
+
+ mdi-map-marker
+
+ {{ result.display_name }}
+
+
+
{
+ showSearchBar.value = !showSearchBar.value;
+};
const moveToLocation = (result) => {
const lat = parseFloat(result.lat);
const lon = parseFloat(result.lon);
center.value = [lon, lat];
- hideSearchResults.value = true;
+ showSearchBar.value = false;
};
const performSearch = async () => {
@@ -108,8 +126,6 @@ const performSearch = async () => {
);
searchResults.value = response.data.slice(0, 5);
-
- hideSearchResults.value = false;
} catch (error) {
console.error("Error fetching search results:", error);
}
From eb55b258d96054bab8f2c8c37cc865175b156642 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Sun, 24 Sep 2023 18:35:25 +0700
Subject: [PATCH 03/73] BUG register API
---
src/views/Login.vue | 2 +-
src/views/Register.vue | 32 ++++++++++++++++++++++++++++----
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index dc7363e..a97e54f 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -45,7 +45,7 @@ export default {
},
methods: {
login() {
- if (this.input.username !== '' || this.input.password !== '') {
+ if (this.input.username !== '' && this.input.password !== '') {
console.log('Authenticated: Checking with Backend');
} else {
console.log('Username and Password cannot be empty');
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 9ce0491..02c35c2 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -21,7 +21,7 @@
- สมัครสมาชิค
+ สมัครสมาชิค
@@ -47,15 +47,39 @@
};
},
methods: {
- login() {
- if (this.input.username !== '' || this.input.password !== '') {
+ register() {
+ if (this.input.username !== '' && ((this.input.password !='') && (this.input.password == this.input.passwordConfirm))) {
console.log('Authenticated: Checking with Backend');
+ fetch("http://localhost:5000/api/users/create", {
+ method: "POST",
+ body: JSON.stringify({
+ username: username,
+ password: password,
+ email: "",
+ isGoogleAccount: false
+ })
+ })
+ .then((res) => {
+ if(res.ok){
+ return res.json()
+ }
+ else{
+ return res.json().then(data => {throw Error(`${data.registerStatus}`) });
+ }
+ })
+ .then((data) => {
+ console.log(data.registerStatus)
+ this.$router.push({name : 'login'})
+ })
+ .catch((err) =>{
+ console.log(err)
+ })
+ console.log("fisnished fetch");
} else {
console.log('Username and Password cannot be empty');
}
}
}
};
-
\ No newline at end of file
From 004c9a697c0908b12a44af2431a26a789e3106a9 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Wed, 27 Sep 2023 00:47:59 +0700
Subject: [PATCH 04/73] create login and register functionable
---
src/views/Login.vue | 26 ++++++++++++++++++++++++++
src/views/Register.vue | 9 ++++++---
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index a97e54f..9853b5d 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -47,6 +47,32 @@ export default {
login() {
if (this.input.username !== '' && this.input.password !== '') {
console.log('Authenticated: Checking with Backend');
+ fetch(`http://localhost:5000/api/users/login`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({
+ username: this.input.username,
+ password: this.input.password,
+ }),
+ })
+ .then((res) => {
+ if (res.ok) {
+ return res.json();
+ } else {
+ throw Error(`Login failed (${res.status})`);
+ }
+ })
+ .then((data) => {
+ console.log(data.loginStatus);
+ sessionStorage.setItem('current_user', data.userName);
+ this.$router.push({ name: 'home' });
+ })
+ .catch((err) => {
+ console.log(err);
+ // Handle the error, e.g., display an error message to the user
+ });
} else {
console.log('Username and Password cannot be empty');
}
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 02c35c2..563711a 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -52,10 +52,13 @@
console.log('Authenticated: Checking with Backend');
fetch("http://localhost:5000/api/users/create", {
method: "POST",
+ headers: {
+ 'Content-Type': 'application/json',
+ },
body: JSON.stringify({
- username: username,
- password: password,
- email: "",
+ username: this.input.username,
+ password: this.input.password,
+ email: "asdf",
isGoogleAccount: false
})
})
From a371a8442676d83c5fef6935531bc48278e3e921 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Wed, 27 Sep 2023 00:58:43 +0700
Subject: [PATCH 05/73] fix login bug
---
src/views/Login.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 9853b5d..c2cfabd 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -65,8 +65,8 @@ export default {
}
})
.then((data) => {
- console.log(data.loginStatus);
- sessionStorage.setItem('current_user', data.userName);
+ console.log(data.success);
+ sessionStorage.setItem('current_user', data.user.username);
this.$router.push({ name: 'home' });
})
.catch((err) => {
From 01011763e7bf37b88c56d813ce99e00a975bf2e2 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Sat, 30 Sep 2023 11:18:27 +0700
Subject: [PATCH 06/73] toggle destination card (not finished)
---
src/components/DestinationInfoCard.vue | 32 ++++++++++++++++++------
src/components/Popup.vue | 3 +++
src/views/Home.vue | 34 +++++++++++++++++---------
3 files changed, 50 insertions(+), 19 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 53601d4..c453c03 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -1,16 +1,10 @@
-
-
@@ -59,7 +53,9 @@
ดูเส้นทาง
-
+
@@ -92,6 +88,26 @@ const detial = [
]
+
+
\ No newline at end of file
From d769d44e601c23acee736436097710f3a0687c30 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Sat, 30 Sep 2023 12:01:28 +0700
Subject: [PATCH 07/73] change to serverIp
---
src/views/Login.vue | 2 +-
src/views/Register.vue | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index c2cfabd..605ee9e 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -47,7 +47,7 @@ export default {
login() {
if (this.input.username !== '' && this.input.password !== '') {
console.log('Authenticated: Checking with Backend');
- fetch(`http://localhost:5000/api/users/login`, {
+ fetch(`http://test.techtransthai.org:5001/api/users/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 563711a..2b4040e 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -50,7 +50,7 @@
register() {
if (this.input.username !== '' && ((this.input.password !='') && (this.input.password == this.input.passwordConfirm))) {
console.log('Authenticated: Checking with Backend');
- fetch("http://localhost:5000/api/users/create", {
+ fetch("http://test.techtransthai.org:5001/api/users/create", {
method: "POST",
headers: {
'Content-Type': 'application/json',
From 44c8350384655c12349b1b48cab5293763537cd4 Mon Sep 17 00:00:00 2001
From: T-angmo
Date: Sat, 30 Sep 2023 20:01:47 +0700
Subject: [PATCH 08/73] Update register
---
src/views/Register.vue | 134 ++++++++++++++++++++++++++++++++++-------
src/views/Setting.vue | 2 +-
2 files changed, 112 insertions(+), 24 deletions(-)
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 2b4040e..a67fd5e 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -3,32 +3,87 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- สมัครสมาชิค
+
+
+
ระบบนำทางสำหรับ Micromobility
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ฉันได้อ่านและยอมรับ
+ นโยบายความเป็นส่วนตัว
+
+
+
+
+ สมัครสมาชิก
+
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Setting.vue b/src/views/Setting.vue
index a652aa6..6fd6a0b 100644
--- a/src/views/Setting.vue
+++ b/src/views/Setting.vue
@@ -6,7 +6,7 @@
ลงชื่อเข้าใช้เพื่อบันทึกการตั้งค่าอย่างปลอดภัย
ลงชื่อเข้าใช้
- สมัครสมาชิค
+ สมัครสมาชิก
From 930eb2dbde75fdc479bc7f3908316c1722006ed4 Mon Sep 17 00:00:00 2001
From: T-angmo
Date: Sun, 1 Oct 2023 02:03:16 +0700
Subject: [PATCH 09/73] Update Login
---
src/views/Login.vue | 101 ++++++++++++++++++++++++++++++++++-------
src/views/Register.vue | 8 ++--
2 files changed, 89 insertions(+), 20 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 605ee9e..d97a1a5 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -3,31 +3,78 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ ยินดีต้อนรับกลับสู่
+
Little Lines
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ลงชื่อเข้าใช้
- ฉันต้องการสมัครสมาชิก
+
+
+
+ ลงชื่อเข้าใช้
+
+
+
+ ลงชื่อเข้าใช้ด้วย Google
+
+
+
+ ฉันต้องการสมัครสมาชิก
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Register.vue b/src/views/Register.vue
index a67fd5e..3c4db0b 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -15,7 +15,7 @@
@@ -29,7 +29,7 @@
@@ -47,7 +47,7 @@
@@ -150,7 +150,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
}
.check {
display: flex;
- justify-content:space-around;
+ justify-content:center;
padding-top: 5%;
padding-bottom: 5%;
}
From f5630ba590a8f316634b8b9e984d362099d6ae88 Mon Sep 17 00:00:00 2001
From: T-angmo
Date: Sun, 1 Oct 2023 03:22:38 +0700
Subject: [PATCH 10/73] Fix button collapse between Login and Register
---
src/views/Register.vue | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 3c4db0b..c4319ea 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -70,8 +70,11 @@
-
+
+
สมัครสมาชิก
+
+
@@ -154,7 +157,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
padding-top: 5%;
padding-bottom: 5%;
}
-.text-white {
+.button-register {
margin: 0;
position: absolute;
left: 50%;
From 53b593086cce3710e814f10ad40ffbf20b58ffde Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Thu, 12 Oct 2023 17:28:22 +0700
Subject: [PATCH 11/73] change url to https
---
src/views/Login.vue | 2 +-
src/views/Register.vue | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index d97a1a5..4dc146f 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -94,7 +94,7 @@ export default {
login() {
if (this.input.username !== '' && this.input.password !== '') {
console.log('Authenticated: Checking with Backend');
- fetch(`http://test.techtransthai.org:5001/api/users/login`, {
+ fetch(`https://little-lines-backend.techtransthai.org/api/users/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
diff --git a/src/views/Register.vue b/src/views/Register.vue
index c4319ea..64057e3 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -108,7 +108,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
register() {
if (this.input.username !== '' && ((this.input.password !='') && (this.input.password == this.input.passwordConfirm))) {
console.log('Authenticated: Checking with Backend');
- fetch("http://test.techtransthai.org:5001/api/users/create", {
+ fetch("https://little-lines-backend.techtransthai.org/api/users/create", {
method: "POST",
headers: {
'Content-Type': 'application/json',
From 56fc6bca3c76ef7706f71de957305446d8d2f291 Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sun, 12 Nov 2023 16:42:46 +0700
Subject: [PATCH 12/73] upgrade CI to Quadlets
---
.gitlab-ci.yml | 13 ++++++-------
Dockerfile | 12 ++++++------
little-lines-frontend.container | 13 +++++++++++++
3 files changed, 25 insertions(+), 13 deletions(-)
create mode 100644 little-lines-frontend.container
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c027599..281eaff 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,20 +6,19 @@ stages:
remove-old-services:
stage: prepare
script:
- - podman stop little-lines
- - podman rm little-lines
+ - systemctl --user stop little-lines-frontend
+ - podman rm --force little-lines-frontend
+ - cp little-lines-frontend.container ~/.config/containers/systemd
+ - systemctl --user daemon-reload
container-build:
stage: build
script:
- sed -i "s/DATE/$(date -I)/g" ${CI_PROJECT_DIR}/src/views/About.vue
- sed -i "s/VERSION/$(git log -1 --oneline | awk '{print $1}')/g" ${CI_PROJECT_DIR}/src/views/About.vue
- - podman build -t little-lines .
+ - podman build -t little-lines-frontend .
container-deploy:
stage: deploy
script:
- - podman run --name little-lines -p 8081:80 -d little-lines
- - podman generate systemd little-lines > ~/.config/systemd/user/little-lines.service
- - systemctl --user daemon-reload
- - systemctl --user enable little-lines
\ No newline at end of file
+ - systemctl --user start little-lines-frontend
diff --git a/Dockerfile b/Dockerfile
index 2094672..d5a0712 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,16 +1,16 @@
-FROM nginx:alpine
+FROM alpine
# Set up environment for building
RUN apk add yarn nodejs
# Copy files to build environment
-RUN mkdir /opt/micromobility-navigation
-COPY . /opt/micromobility-navigation
+RUN mkdir /opt/little-lines-frontend
+COPY . /opt/little-lines-frontend
# Run Vite production build
-WORKDIR /opt/micromobility-navigation
+WORKDIR /opt/little-lines-frontend
RUN yarn
-RUN yarn run build
+CMD yarn dev
# Copy files to nginx path
-RUN cp -r dist/* icons /usr/share/nginx/html
+#RUN cp -r dist/* icons /usr/share/nginx/html
diff --git a/little-lines-frontend.container b/little-lines-frontend.container
new file mode 100644
index 0000000..3e62b8e
--- /dev/null
+++ b/little-lines-frontend.container
@@ -0,0 +1,13 @@
+[Unit]
+Description=Little Lines frontend container
+
+[Container]
+ContainerName=little-lines-frontend
+Image=localhost/little-lines-frontend
+PublishPort=8081:5173
+
+[Service]
+Restart=always
+
+[Install]
+WantedBy=multi-user.target default.target
From 8e6f0b1d10080183ff72535ce4c0705e72bb2c50 Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sun, 12 Nov 2023 16:50:41 +0700
Subject: [PATCH 13/73] listen to all interfaces
---
Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Dockerfile b/Dockerfile
index d5a0712..958365c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -10,7 +10,7 @@ COPY . /opt/little-lines-frontend
# Run Vite production build
WORKDIR /opt/little-lines-frontend
RUN yarn
-CMD yarn dev
+CMD yarn dev --host
# Copy files to nginx path
#RUN cp -r dist/* icons /usr/share/nginx/html
From b9918347c1592403ec8d6e683656db6660a9dc9c Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sun, 12 Nov 2023 17:20:24 +0700
Subject: [PATCH 14/73] Update Dockerfile and README
---
Dockerfile | 7 +++----
README.md | 3 +++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 958365c..b0d0d8d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine
+FROM docker.io/library/alpine:latest
# Set up environment for building
RUN apk add yarn nodejs
@@ -7,10 +7,9 @@ RUN apk add yarn nodejs
RUN mkdir /opt/little-lines-frontend
COPY . /opt/little-lines-frontend
-# Run Vite production build
+# Start the app
WORKDIR /opt/little-lines-frontend
RUN yarn
CMD yarn dev --host
-# Copy files to nginx path
-#RUN cp -r dist/* icons /usr/share/nginx/html
+
diff --git a/README.md b/README.md
index 6fd2f75..be6d32d 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,9 @@
+
+
+
From 19b4d189411451f5bb4c0bf6493e95ffdca3b9ea Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sat, 18 Nov 2023 04:43:50 +0700
Subject: [PATCH 15/73] Add source code button in about page
---
src/views/About.vue | 59 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 45 insertions(+), 14 deletions(-)
diff --git a/src/views/About.vue b/src/views/About.vue
index 1bed2cd..069248b 100644
--- a/src/views/About.vue
+++ b/src/views/About.vue
@@ -1,32 +1,58 @@
-
+
+
-
+
-
-
+
+
+
- Little Lines
+
+ openKMITL Community
+
+
+
+ DATE-VERSION
+
- >
-
-
- DATE-VERSION
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 48e29ee9fd362fc5fda4b12b948bf487826a9478 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Sat, 18 Nov 2023 18:06:27 +0700
Subject: [PATCH 16/73] fix login and create logout
fix login to login by email password
---
src/views/Login.vue | 12 +-
src/views/Setting.vue | 16 +-
yarn.lock | 774 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 795 insertions(+), 7 deletions(-)
create mode 100644 yarn.lock
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 4dc146f..0bc4f26 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -12,8 +12,8 @@
@@ -85,14 +85,14 @@ export default {
return {
pageTitle: 'ลงชื่อเข้าใช้',
input: {
- username: '',
+ email: '',
password: ''
}
};
},
methods: {
login() {
- if (this.input.username !== '' && this.input.password !== '') {
+ if (this.input.email !== '' && this.input.password !== '') {
console.log('Authenticated: Checking with Backend');
fetch(`https://little-lines-backend.techtransthai.org/api/users/login`, {
method: "POST",
@@ -100,7 +100,7 @@ export default {
"Content-Type": "application/json",
},
body: JSON.stringify({
- username: this.input.username,
+ email: this.input.email,
password: this.input.password,
}),
})
@@ -121,7 +121,7 @@ export default {
// Handle the error, e.g., display an error message to the user
});
} else {
- console.log('Username and Password cannot be empty');
+ console.log('Email and Password cannot be empty');
}
}
}
diff --git a/src/views/Setting.vue b/src/views/Setting.vue
index 6fd6a0b..2ccadff 100644
--- a/src/views/Setting.vue
+++ b/src/views/Setting.vue
@@ -55,7 +55,7 @@
-
ลงชื่อออก
@@ -69,6 +69,8 @@
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..4201a38
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,774 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/parser@^7.23.0":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9"
+ integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==
+
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
+ integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
+"@esbuild/android-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
+ integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
+
+"@esbuild/android-arm@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
+ integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
+
+"@esbuild/android-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
+ integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
+
+"@esbuild/darwin-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
+ integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
+
+"@esbuild/darwin-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
+ integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
+
+"@esbuild/freebsd-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
+ integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
+
+"@esbuild/freebsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
+ integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
+
+"@esbuild/linux-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
+ integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
+
+"@esbuild/linux-arm@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
+ integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
+
+"@esbuild/linux-ia32@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
+ integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
+
+"@esbuild/linux-loong64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
+ integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
+
+"@esbuild/linux-mips64el@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
+ integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
+
+"@esbuild/linux-ppc64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
+ integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
+
+"@esbuild/linux-riscv64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
+ integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
+
+"@esbuild/linux-s390x@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
+ integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
+
+"@esbuild/linux-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
+ integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
+
+"@esbuild/netbsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
+ integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
+
+"@esbuild/openbsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
+ integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
+
+"@esbuild/sunos-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
+ integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
+
+"@esbuild/win32-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
+ integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
+
+"@esbuild/win32-ia32@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
+ integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
+
+"@esbuild/win32-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
+ integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
+
+"@jridgewell/sourcemap-codec@^1.4.15":
+ version "1.4.15"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
+"@mapbox/jsonlint-lines-primitives@~2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
+ integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
+
+"@mapbox/mapbox-gl-style-spec@^13.23.1":
+ version "13.28.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458"
+ integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==
+ dependencies:
+ "@mapbox/jsonlint-lines-primitives" "~2.0.2"
+ "@mapbox/point-geometry" "^0.1.0"
+ "@mapbox/unitbezier" "^0.0.0"
+ csscolorparser "~1.0.2"
+ json-stringify-pretty-compact "^2.0.0"
+ minimist "^1.2.6"
+ rw "^1.3.3"
+ sort-object "^0.3.2"
+
+"@mapbox/point-geometry@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
+ integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==
+
+"@mapbox/unitbezier@^0.0.0":
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
+ integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==
+
+"@petamoriken/float16@^3.4.7":
+ version "3.8.4"
+ resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66"
+ integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ==
+
+"@types/raf@^3.4.0":
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/@types/raf/-/raf-3.4.3.tgz#85f1d1d17569b28b8db45e16e996407a56b0ab04"
+ integrity sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==
+
+"@vitejs/plugin-vue@^4.2.3":
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz#b4569fcb1faac054eba4f5efc1aaf4d39f4379e5"
+ integrity sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==
+
+"@vue/compiler-core@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz#301bb60d0245265a88ed5b30e200fbf223acb313"
+ integrity sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==
+ dependencies:
+ "@babel/parser" "^7.23.0"
+ "@vue/shared" "3.3.8"
+ estree-walker "^2.0.2"
+ source-map-js "^1.0.2"
+
+"@vue/compiler-dom@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz#09d832514b9b8d9415a3816b065d69dbefcc7e9b"
+ integrity sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==
+ dependencies:
+ "@vue/compiler-core" "3.3.8"
+ "@vue/shared" "3.3.8"
+
+"@vue/compiler-sfc@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz#40b18e48aa00260950964d1d72157668521be0e1"
+ integrity sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==
+ dependencies:
+ "@babel/parser" "^7.23.0"
+ "@vue/compiler-core" "3.3.8"
+ "@vue/compiler-dom" "3.3.8"
+ "@vue/compiler-ssr" "3.3.8"
+ "@vue/reactivity-transform" "3.3.8"
+ "@vue/shared" "3.3.8"
+ estree-walker "^2.0.2"
+ magic-string "^0.30.5"
+ postcss "^8.4.31"
+ source-map-js "^1.0.2"
+
+"@vue/compiler-ssr@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz#136eed54411e4694815d961048a237191063fbce"
+ integrity sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==
+ dependencies:
+ "@vue/compiler-dom" "3.3.8"
+ "@vue/shared" "3.3.8"
+
+"@vue/devtools-api@^6.5.0":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697"
+ integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==
+
+"@vue/reactivity-transform@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz#6d07649013b0be5c670f0ab6cc7ddd3150ad03f2"
+ integrity sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==
+ dependencies:
+ "@babel/parser" "^7.23.0"
+ "@vue/compiler-core" "3.3.8"
+ "@vue/shared" "3.3.8"
+ estree-walker "^2.0.2"
+ magic-string "^0.30.5"
+
+"@vue/reactivity@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.8.tgz#cce8a03a3fd3539c3eeda53e277ba365d160dd4d"
+ integrity sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==
+ dependencies:
+ "@vue/shared" "3.3.8"
+
+"@vue/runtime-core@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz#fba5a632cbf2b5d29e171489570149cb6975dcdb"
+ integrity sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==
+ dependencies:
+ "@vue/reactivity" "3.3.8"
+ "@vue/shared" "3.3.8"
+
+"@vue/runtime-dom@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz#e2d7aa795cf50914dda9a951887765a594b38af4"
+ integrity sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==
+ dependencies:
+ "@vue/runtime-core" "3.3.8"
+ "@vue/shared" "3.3.8"
+ csstype "^3.1.2"
+
+"@vue/server-renderer@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz#9b1779010e75783edeed8fcfb97d9c95fc3ac5d2"
+ integrity sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==
+ dependencies:
+ "@vue/compiler-ssr" "3.3.8"
+ "@vue/shared" "3.3.8"
+
+"@vue/shared@3.3.8":
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.8.tgz#f044942142e1d3a395f24132e6203a784838542d"
+ integrity sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+axios@^1.4.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
+ integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
+base64-arraybuffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
+ integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
+
+btoa@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
+ integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
+
+canvg@^3.0.6:
+ version "3.0.10"
+ resolved "https://registry.yarnpkg.com/canvg/-/canvg-3.0.10.tgz#8e52a2d088b6ffa23ac78970b2a9eebfae0ef4b3"
+ integrity sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ "@types/raf" "^3.4.0"
+ core-js "^3.8.3"
+ raf "^3.4.1"
+ regenerator-runtime "^0.13.7"
+ rgbcolor "^1.0.1"
+ stackblur-canvas "^2.0.0"
+ svg-pathdata "^6.0.3"
+
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+core-js@^3.6.0, core-js@^3.8.3:
+ version "3.33.2"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.2.tgz#312bbf6996a3a517c04c99b9909cdd27138d1ceb"
+ integrity sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==
+
+css-line-break@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
+ integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
+ dependencies:
+ utrie "^1.0.2"
+
+csscolorparser@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
+ integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==
+
+csstype@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
+ integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+dompurify@^2.2.0:
+ version "2.4.7"
+ resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc"
+ integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==
+
+earcut@^2.2.3:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
+ integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
+
+esbuild@^0.18.10:
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
+ integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
+ optionalDependencies:
+ "@esbuild/android-arm" "0.18.20"
+ "@esbuild/android-arm64" "0.18.20"
+ "@esbuild/android-x64" "0.18.20"
+ "@esbuild/darwin-arm64" "0.18.20"
+ "@esbuild/darwin-x64" "0.18.20"
+ "@esbuild/freebsd-arm64" "0.18.20"
+ "@esbuild/freebsd-x64" "0.18.20"
+ "@esbuild/linux-arm" "0.18.20"
+ "@esbuild/linux-arm64" "0.18.20"
+ "@esbuild/linux-ia32" "0.18.20"
+ "@esbuild/linux-loong64" "0.18.20"
+ "@esbuild/linux-mips64el" "0.18.20"
+ "@esbuild/linux-ppc64" "0.18.20"
+ "@esbuild/linux-riscv64" "0.18.20"
+ "@esbuild/linux-s390x" "0.18.20"
+ "@esbuild/linux-x64" "0.18.20"
+ "@esbuild/netbsd-x64" "0.18.20"
+ "@esbuild/openbsd-x64" "0.18.20"
+ "@esbuild/sunos-x64" "0.18.20"
+ "@esbuild/win32-arm64" "0.18.20"
+ "@esbuild/win32-ia32" "0.18.20"
+ "@esbuild/win32-x64" "0.18.20"
+
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+fflate@^0.4.8:
+ version "0.4.8"
+ resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae"
+ integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==
+
+file-saver@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
+ integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
+
+follow-redirects@^1.15.0:
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
+ integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
+
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+fsevents@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+geotiff@^2.0.7:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.0.tgz#8e06fd1aa950fba8910ac63dc65cb77b766f4b58"
+ integrity sha512-B/iFJuFfRpmPHXf8aIRPRgUWwfaNb6dlsynkM8SWeHAPu7CpyvfqEa43KlBt7xxq5OTVysQacFHxhCn3SZhRKQ==
+ dependencies:
+ "@petamoriken/float16" "^3.4.7"
+ lerc "^3.0.0"
+ pako "^2.0.4"
+ parse-headers "^2.0.2"
+ quick-lru "^6.1.1"
+ web-worker "^1.2.0"
+ xml-utils "^1.0.2"
+ zstddec "^0.1.0"
+
+html2canvas@^1.0.0-rc.5:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
+ integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
+ dependencies:
+ css-line-break "^2.1.0"
+ text-segmentation "^1.0.3"
+
+ieee754@^1.1.12:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+json-stringify-pretty-compact@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885"
+ integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==
+
+jspdf@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/jspdf/-/jspdf-2.5.1.tgz#00c85250abf5447a05f3b32ab9935ab4a56592cc"
+ integrity sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ atob "^2.1.2"
+ btoa "^1.2.1"
+ fflate "^0.4.8"
+ optionalDependencies:
+ canvg "^3.0.6"
+ core-js "^3.6.0"
+ dompurify "^2.2.0"
+ html2canvas "^1.0.0-rc.5"
+
+lerc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb"
+ integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==
+
+magic-string@^0.30.5:
+ version "0.30.5"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
+ integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.15"
+
+mapbox-to-css-font@^2.4.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd"
+ integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA==
+
+mgrs@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mgrs/-/mgrs-1.0.0.tgz#fb91588e78c90025672395cb40b25f7cd6ad1829"
+ integrity sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+minimist@^1.2.6:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+nanoid@^3.3.6:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
+ol-contextmenu@^5.2.1:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/ol-contextmenu/-/ol-contextmenu-5.3.0.tgz#c819924f0d96274512cea5d34c712f007e98aad2"
+ integrity sha512-AO9rGKaQpLAzqpEva7mukhkWrGkL/o1s8tXPsYuYBGMoiTBbXffgTikXjTmq1m7l3gDwXWWWi6R2ROda5lgXNw==
+ dependencies:
+ tiny-emitter "^2.1.0"
+
+ol-ext@^4.0.10:
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/ol-ext/-/ol-ext-4.0.11.tgz#402334d79bfc0a4705dea4805d080e7bdf79936f"
+ integrity sha512-zorUn71RsahiA/kbf+tRDbv19wqdLCclxd3gkjsFMnqCbdgl+P59CSJCqMO4O7b2bvaHrw5FEmep7FNFnGGQXg==
+
+ol-geocoder@^4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/ol-geocoder/-/ol-geocoder-4.3.1.tgz#534ad4e3c981cffbd432ece96da8cd6d032f2ee6"
+ integrity sha512-058XXp6ZWCkz/g0B/aU1SZeMx/TClxo7Ns7XwbdZ0X/xlwt4XHoyTjsfe2mghg+uaY9olLYllhPD3vq5IRlggw==
+
+ol-mapbox-style@^10.1.0:
+ version "10.7.0"
+ resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz#8837912da2a16fbd22992d76cbc4f491c838b973"
+ integrity sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw==
+ dependencies:
+ "@mapbox/mapbox-gl-style-spec" "^13.23.1"
+ mapbox-to-css-font "^2.4.1"
+ ol "^7.3.0"
+
+ol@^7.3.0, ol@^7.4.0:
+ version "7.5.2"
+ resolved "https://registry.yarnpkg.com/ol/-/ol-7.5.2.tgz#2e40a16b45331dbee86ca86876fcc7846be0dbb7"
+ integrity sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ==
+ dependencies:
+ earcut "^2.2.3"
+ geotiff "^2.0.7"
+ ol-mapbox-style "^10.1.0"
+ pbf "3.2.1"
+ rbush "^3.0.1"
+
+pako@^2.0.4:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86"
+ integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==
+
+parse-headers@^2.0.2:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
+ integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
+
+pbf@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
+ integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
+ dependencies:
+ ieee754 "^1.1.12"
+ resolve-protobuf-schema "^2.1.0"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+postcss@^8.4.27, postcss@^8.4.31:
+ version "8.4.31"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
+ integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
+ dependencies:
+ nanoid "^3.3.6"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+proj4@^2.9.0:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/proj4/-/proj4-2.9.2.tgz#5f6fe8c2db0f7f9a265546991adcd7b00961ef2e"
+ integrity sha512-bdyfNmtlWjQN/rHEHEiqFvpTUHhuzDaeQ6Uu1G4sPGqk+Xkxae6ahh865fClJokSGPBmlDOQWWaO6465TCfv5Q==
+ dependencies:
+ mgrs "1.0.0"
+ wkt-parser "^1.3.3"
+
+protocol-buffers-schema@^3.3.1:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
+ integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
+
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+quick-lru@^6.1.1:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e"
+ integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==
+
+quickselect@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
+ integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
+
+raf@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
+ integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
+ dependencies:
+ performance-now "^2.1.0"
+
+rbush@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
+ integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
+ dependencies:
+ quickselect "^2.0.0"
+
+regenerator-runtime@^0.13.7:
+ version "0.13.11"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
+ integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
+
+regenerator-runtime@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+
+resolve-protobuf-schema@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
+ integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
+ dependencies:
+ protocol-buffers-schema "^3.3.1"
+
+rgbcolor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/rgbcolor/-/rgbcolor-1.0.1.tgz#d6505ecdb304a6595da26fa4b43307306775945d"
+ integrity sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==
+
+rollup@^3.27.1:
+ version "3.29.4"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
+ integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+rw@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
+ integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==
+
+sort-asc@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9"
+ integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==
+
+sort-desc@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee"
+ integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==
+
+sort-object@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2"
+ integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==
+ dependencies:
+ sort-asc "^0.1.0"
+ sort-desc "^0.1.1"
+
+source-map-js@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+stackblur-canvas@^2.0.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz#7876bab4ea99bfc97b69ce662614d7a1afb2d71b"
+ integrity sha512-8S1aIA+UoF6erJYnglGPug6MaHYGo1Ot7h5fuXx4fUPvcvQfcdw2o/ppCse63+eZf8PPidSu4v1JnmEVtEDnpg==
+
+svg-pathdata@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz#80b0e0283b652ccbafb69ad4f8f73e8d3fbf2cac"
+ integrity sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==
+
+text-segmentation@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
+ integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
+ dependencies:
+ utrie "^1.0.2"
+
+tiny-emitter@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+utrie@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
+ integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
+ dependencies:
+ base64-arraybuffer "^1.0.2"
+
+vite@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26"
+ integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==
+ dependencies:
+ esbuild "^0.18.10"
+ postcss "^8.4.27"
+ rollup "^3.27.1"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+vue-router@^4.2.4:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.5.tgz#b9e3e08f1bd9ea363fdd173032620bc50cf0e98a"
+ integrity sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==
+ dependencies:
+ "@vue/devtools-api" "^6.5.0"
+
+vue3-openlayers@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/vue3-openlayers/-/vue3-openlayers-1.3.0.tgz#064f854cacffed900f5e99b3f0f82c70a0daf346"
+ integrity sha512-xpppGTBDqSmvoVhxVeMENAGUfQLCL7MUKwj/XM+Bq/X6jIOgmRwa6MUObfY5Rt/XzrneJwVEAbj9pyzgWB1nlw==
+ dependencies:
+ file-saver "^2.0.5"
+ jspdf "^2.5.1"
+ proj4 "^2.9.0"
+
+vue@^3.3.4:
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.8.tgz#532ff071af24f6a69e5ecc53a66858a9ee874ffc"
+ integrity sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==
+ dependencies:
+ "@vue/compiler-dom" "3.3.8"
+ "@vue/compiler-sfc" "3.3.8"
+ "@vue/runtime-dom" "3.3.8"
+ "@vue/server-renderer" "3.3.8"
+ "@vue/shared" "3.3.8"
+
+vuetify@^3.3.8:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.4.2.tgz#439115ef71867d8358585cc499c21bb7f1cdbcab"
+ integrity sha512-WvfVmES1SkhrCfYcfzPp8jpfIM+L+OcN9EYiBM+4bpmsIXLNJyMv42QhoDDWihSO6/zbE8RqCtyHawpu4ApyzA==
+
+web-worker@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da"
+ integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==
+
+wkt-parser@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/wkt-parser/-/wkt-parser-1.3.3.tgz#46b4e3032dd9c86907f7e630b57e3c6ea2bb772b"
+ integrity sha512-ZnV3yH8/k58ZPACOXeiHaMuXIiaTk1t0hSUVisbO0t4RjA5wPpUytcxeyiN2h+LZRrmuHIh/1UlrR9e7DHDvTw==
+
+xml-utils@^1.0.2:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f"
+ integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw==
+
+zstddec@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec"
+ integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==
From 196531b34254e0c3f02e73aadeffb65c415ce2ce Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sat, 18 Nov 2023 18:53:50 +0700
Subject: [PATCH 17/73] Add dotenv to package.json
---
package.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/package.json b/package.json
index 5cddd15..32364b2 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
},
"dependencies": {
"axios": "^1.4.0",
+ "dotenv": "^16.3.1",
"ol": "^7.4.0",
"ol-contextmenu": "^5.2.1",
"ol-ext": "^4.0.10",
From 419d6d98136ac51a18c26334436bca7c060a8467 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Sun, 19 Nov 2023 03:50:10 +0700
Subject: [PATCH 18/73] create .env and login by Google
---
.gitignore | 3 +++
package.json | 4 +++-
src/main.js | 4 +++-
src/views/Login.vue | 43 ++++++++++++++++++++++++++++++++++++++++++-
yarn.lock | 17 ++++++++++++++++-
5 files changed, 67 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index a547bf3..025cdbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,6 @@ dist-ssr
*.njsproj
*.sln
*.sw?
+
+#env
+.env
diff --git a/package.json b/package.json
index 32364b2..7c85610 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "axios": "^1.4.0",
+ "axios": "^1.6.2",
"dotenv": "^16.3.1",
"ol": "^7.4.0",
"ol-contextmenu": "^5.2.1",
@@ -17,6 +17,8 @@
"ol-geocoder": "^4.3.0",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
+ "vue3-google-login": "^2.0.25",
+ "vue3-google-oauth2": "^1.0.7",
"vue3-openlayers": "^1.0.0",
"vuetify": "^3.3.8"
},
diff --git a/src/main.js b/src/main.js
index 04197e6..e945fa1 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,6 +1,7 @@
import { createApp } from 'vue'
import '@/style.css'
+
// Vuetify
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
@@ -12,10 +13,11 @@ import OpenLayersMap from "vue3-openlayers";
import App from '@/App.vue'
import router from '@/plugins/router'
+import vue3GoogleLogin from 'vue3-google-login'
const vuetify = createVuetify({
components,
directives,
})
-createApp(App).use(router).use(vuetify).use(OpenLayersMap).mount('#app')
\ No newline at end of file
+createApp(App).use(router).use(vuetify).use(OpenLayersMap).use(vue3GoogleLogin,{ clientId: import.meta.env.VITE_CLIENT_ID }).mount('#app')
\ No newline at end of file
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 0bc4f26..8fc7346 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -50,7 +50,7 @@
ลงชื่อเข้าใช้
-
+
ลงชื่อเข้าใช้ด้วย Google
@@ -76,6 +76,10 @@ import {RouterLink} from 'vue-router';
import TopBar from '@/components/TopBar.vue';
import { VContainer } from 'vuetify/lib/components/index.mjs';
+import { googleSdkLoaded } from "vue3-google-login";
+import axios from 'axios'
+
+
export default {
components: {
TopBar
@@ -123,6 +127,43 @@ export default {
} else {
console.log('Email and Password cannot be empty');
}
+ },
+
+ loginGoogle(){
+ googleSdkLoaded(google => {
+ google.accounts.oauth2
+ .initCodeClient({
+ client_id:
+ import.meta.env.VITE_CLIENT_ID,
+ scope: "email profile openid",
+ redirect_uri: "http://localhost:5000/api/users/googleAuth/callback",
+ callback: response => {
+ if (response.code) {
+ this.sendCodeToBackend(response.code);
+ }
+ }
+ })
+ .requestCode();
+ });
+ },
+ async sendCodeToBackend(code) {
+ try {
+ const headers = {
+ Authorization: code
+ };
+ const response = await axios.post("http://localhost:5000/api/users/googleAuth", null, { headers });
+ const userDetails = response.data;
+ console.log("User Details:", userDetails);
+ this.userDetails = userDetails;
+
+ sessionStorage.setItem('current_user', userDetails.user.username);
+ this.$router.push({ name: 'home' });
+
+ // Redirect to the homepage ("/")
+ // this.$router.push({ name: 'home' });
+ } catch (error) {
+ console.error("Failed to send authorization code:", error);
+ }
}
}
};
diff --git a/yarn.lock b/yarn.lock
index 4201a38..6850825 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -278,7 +278,7 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-axios@^1.4.0:
+axios@^1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
@@ -350,6 +350,11 @@ dompurify@^2.2.0:
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc"
integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==
+dotenv@^16.3.1:
+ version "16.3.1"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
+ integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
+
earcut@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
@@ -728,6 +733,16 @@ vue-router@^4.2.4:
dependencies:
"@vue/devtools-api" "^6.5.0"
+vue3-google-login@^2.0.25:
+ version "2.0.25"
+ resolved "https://registry.yarnpkg.com/vue3-google-login/-/vue3-google-login-2.0.25.tgz#ee5dbd758a4ff658faab4f7faf1637423301df30"
+ integrity sha512-b6EfYFF2KH1qSiiCKI9WmPB79GdXifPB8qOt48RRmo1F5h3UcigrrqzQCosjcRLcTqUpRQcZ9TeKYP4ZVroNHQ==
+
+vue3-google-oauth2@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/vue3-google-oauth2/-/vue3-google-oauth2-1.0.7.tgz#2b229d438aa581467d40ab7acdf2925cb37b3b20"
+ integrity sha512-XZv5+IVRLqKrsfm6DamD75e4LPynDt3xpmEw3SQBKfnUvpaIq6YuimOCPoXMfedR6nQHJeZkw62E/ii2disppA==
+
vue3-openlayers@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/vue3-openlayers/-/vue3-openlayers-1.3.0.tgz#064f854cacffed900f5e99b3f0f82c70a0daf346"
From 9cff6bd7ecbd95cfb1508d0c05d771a671c8b4d6 Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Sun, 19 Nov 2023 04:01:06 +0700
Subject: [PATCH 19/73] Change from localhost to actual LL backend
---
src/views/Login.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 8fc7346..503f3ef 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -136,7 +136,7 @@ export default {
client_id:
import.meta.env.VITE_CLIENT_ID,
scope: "email profile openid",
- redirect_uri: "http://localhost:5000/api/users/googleAuth/callback",
+ redirect_uri: "https://little-lines-backend.techtransthai.org/api/users/googleAuth/callback",
callback: response => {
if (response.code) {
this.sendCodeToBackend(response.code);
@@ -151,7 +151,7 @@ export default {
const headers = {
Authorization: code
};
- const response = await axios.post("http://localhost:5000/api/users/googleAuth", null, { headers });
+ const response = await axios.post("https://little-lines-backend.techtransthai.org/api/users/googleAuth", null, { headers });
const userDetails = response.data;
console.log("User Details:", userDetails);
this.userDetails = userDetails;
@@ -190,4 +190,4 @@ export default {
justify-content: center;
align-content: center;
}
-
\ No newline at end of file
+
From 58fcf52cd445180aa15f05087fdca7f5a52f93ed Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Tue, 21 Nov 2023 00:39:14 +0700
Subject: [PATCH 20/73] toggle destination card and move when click location on
search bar list
---
src/components/NavigationMapCard.vue | 38 ++++++++++++++++++++++++++++
src/views/Home.vue | 1 +
2 files changed, 39 insertions(+)
create mode 100644 src/components/NavigationMapCard.vue
diff --git a/src/components/NavigationMapCard.vue b/src/components/NavigationMapCard.vue
new file mode 100644
index 0000000..860c01c
--- /dev/null
+++ b/src/components/NavigationMapCard.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Home.vue b/src/views/Home.vue
index d6d0e65..86c00a9 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -121,6 +121,7 @@ const moveToLocation = (result) => {
const lon = parseFloat(result.lon);
center.value = [lon, lat];
showSearchBar.value = false;
+ popupData.value = result; // Set the selected search result as popupData
};
const performSearch = async () => {
From fab2a6d2b63afe64cfdead61c362ac6627de61a6 Mon Sep 17 00:00:00 2001
From: |NekoVari|
Date: Wed, 22 Nov 2023 15:08:28 +0000
Subject: [PATCH 21/73] Fix bug register
---
src/views/Register.vue | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/views/Register.vue b/src/views/Register.vue
index 64057e3..8ce68be 100644
--- a/src/views/Register.vue
+++ b/src/views/Register.vue
@@ -13,8 +13,8 @@
@@ -98,7 +98,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
return {
pageTitle: 'สมัครสมาชิก',
input: {
- username: '',
+ email: '',
password: '',
passwordConfirm:''
}
@@ -114,9 +114,9 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
'Content-Type': 'application/json',
},
body: JSON.stringify({
- username: this.input.username,
+ username: "temp",
password: this.input.password,
- email: "asdf",
+ email: this.input.email,
isGoogleAccount: false
})
})
@@ -137,7 +137,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
})
console.log("fisnished fetch");
} else {
- console.log('Username and Password cannot be empty');
+ console.log('Email and Password cannot be empty');
}
}
},
@@ -148,7 +148,7 @@ import eyeNotLooking from '../../icons/Material/eye-not-looking.svg';
.user {
background-color: aqua;
}
-.username, .password {
+.email, .password {
margin-bottom: -21px;
}
.check {
From fe568132a13a9a10e07d437f7aac4f8a122c0e76 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Thu, 23 Nov 2023 01:39:14 +0700
Subject: [PATCH 22/73] add next stage of destinationcard
---
src/components/DestinationInfoCard.vue | 248 ++++++++++++++++++++++++-
src/iconsets/adwaita.ts | 0
src/views/Home.vue | 8 +-
3 files changed, 240 insertions(+), 16 deletions(-)
create mode 100644 src/iconsets/adwaita.ts
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index c453c03..f4b2f9d 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -2,13 +2,18 @@
-
+
+
+
+
+ {{nearestStructureData.display_name}}
+ {{destination.subTitle}}
+
+
@@ -29,7 +34,7 @@
/>
- {{detial[1].title}}
+ {{nearestStructureData.lat}} , {{nearestStructureData.lon}}
@@ -49,15 +54,150 @@
เพิ่มลงในสถานที่โปรด
-
+
ดูเส้นทาง
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 นาที
+
+
+
+
+ ย้อนกลับ
+
+ เริ่มการนำทาง
+
+
+
+
+
-
@@ -65,6 +205,7 @@
import findLocation from '../../icons/Material/find-location.svg';
import clock from '../../icons/Material/clock.svg';
import check from '../../icons/Material/check-round.svg';
+import DestinationInfoCard from '@/components/DestinationInfoCard.vue';
const destination = {
title: "อนุสาวรีย์ชัยสมรภูมิ",
subTitle: "ราชเทวี , กรุงเทพมหานคร"
@@ -97,14 +238,28 @@ export default {
data() {
return {
showPopup: true,
+ showRoute: false,
};
},
+ computed: {
+ cardHeight() {
+ return this.showRoute ? '45vh' : '60vh';
+ },
+ },
methods: {
closePopup() {
this.showPopup = false;
this.onClose();
},
+ viewRoute() {
+ this.showRoute = true;
+ },
+ viewPopup(){
+ this.showPopup = true;
+ this.showRoute = false;
+ }
},
+
};
@@ -145,5 +300,80 @@ export default {
width: 100%;
height: 45vh;
}
+
+.title-text
+{
+ color: rgba(0, 0, 0, 1);
+ font-style: normal;
+ font-size: 24px;
+ font-weight: 700;
+ line-height: 1.2;
+ letter-spacing: 0px;
+ text-decoration: none;
+ text-transform: none;
+}
+
+.sutitle-text{
+ color: rgba(155, 155, 155, 1);
+ font-style: normal;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.2;
+ letter-spacing: 0px;
+ text-decoration: none;
+ text-transform: none;
+}
+
+.icon-walk {
+ background-color: #000000;
+ -webkit-mask: url(icons/Adwaita/walk.svg) no-repeat center;
+ mask: url(icons/Adwaita/walk.svg) no-repeat center;
+}
+.icon-wheelchair {
+ background-color: #000000;
+ -webkit-mask: url(icons/Adwaita/wheelchair.svg) no-repeat center;
+ mask: url(icons/Adwaita/wheelchair.svg) no-repeat center;
+}
+.icon-plus {
+ background-color: #000000;
+ -webkit-mask: url(icons/Adwaita/plus.svg) no-repeat center;
+ mask: url(icons/Adwaita/plus.svg) no-repeat center;
+}
+.icon-vertical-arrows {
+ background-color: #000000;
+ -webkit-mask: url(icons/Adwaita/vertical-arrows.svg) no-repeat center;
+ mask: url(icons/Adwaita/vertical-arrows.svg) no-repeat center;
+}
+.icon-flag {
+ background-color: #000000;
+ -webkit-mask: url(icons/Adwaita/flag.svg) no-repeat center;
+ mask: url(icons/Adwaita/flag.svg) no-repeat center;
+}
+
+.btn-toggle
+{
+ border-radius: 10px;
+ background-color: rgba(230, 230, 230, 1);
+}
+
+.btn-toggle .btn
+{
+ border-radius: 0px;
+ background-color: rgba(230, 230, 230, 1);
+}
+
+.v-input__control
+{
+
+ max-height: 6vh;
+ max-width: 50vw;
+}
+
+.v-field__input
+{
+ /* font-size: 14px; */
+ padding: 0;
+}
+
\ No newline at end of file
diff --git a/src/iconsets/adwaita.ts b/src/iconsets/adwaita.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 86c00a9..71bf7c1 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -5,12 +5,6 @@
class="router-view"
/>
-
-
{
const lon = parseFloat(result.lon);
center.value = [lon, lat];
showSearchBar.value = false;
- popupData.value = result; // Set the selected search result as popupData
+ popupData.value = result;
};
const performSearch = async () => {
From 725a999e9a2df0f496406c1a3a032fafd97e7440 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Thu, 23 Nov 2023 01:46:40 +0700
Subject: [PATCH 23/73] fix some bug (css)
---
src/components/DestinationInfoCard.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index f4b2f9d..085345b 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -1,6 +1,6 @@
Date: Thu, 23 Nov 2023 22:54:01 +0700
Subject: [PATCH 24/73] change sessionStorage item
---
src/views/Login.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 503f3ef..baa3339 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -117,7 +117,7 @@ export default {
})
.then((data) => {
console.log(data.success);
- sessionStorage.setItem('current_user', data.user.username);
+ sessionStorage.setItem('current_user', JSON.stringify({id:data.user._id,username:data.user.username,email:data.user.email}));
this.$router.push({ name: 'home' });
})
.catch((err) => {
From 381b2088ac737ee21c9ac32b502bbda23aea3263 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Fri, 24 Nov 2023 01:08:00 +0700
Subject: [PATCH 25/73] remove subtitle from destination card
---
src/components/DestinationInfoCard.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 085345b..6e23193 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -11,7 +11,7 @@
{{nearestStructureData.display_name}}
- {{destination.subTitle}}
+
From 0f8b04bf15ee683f8c5d6d85f7f59e9a153b1da0 Mon Sep 17 00:00:00 2001
From: p11037
Date: Fri, 24 Nov 2023 10:55:09 +0700
Subject: [PATCH 26/73] addToFavorite
---
package-lock.json | 35 +-
src/components/DestinationInfoCard.vue | 36 +-
src/views/Login.vue | 2 +
yarn.lock | 544 ++++++++++---------------
4 files changed, 280 insertions(+), 337 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 46e9bfa..c012684 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,13 +8,16 @@
"name": "micromobility-navigation",
"version": "0.0.0",
"dependencies": {
- "axios": "^1.4.0",
+ "axios": "^1.6.2",
+ "dotenv": "^16.3.1",
"ol": "^7.4.0",
"ol-contextmenu": "^5.2.1",
"ol-ext": "^4.0.10",
"ol-geocoder": "^4.3.0",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
+ "vue3-google-login": "^2.0.25",
+ "vue3-google-oauth2": "^1.0.7",
"vue3-openlayers": "^1.0.0",
"vuetify": "^3.3.8"
},
@@ -589,9 +592,9 @@
}
},
"node_modules/axios": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz",
- "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==",
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
+ "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
@@ -698,6 +701,17 @@
"integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==",
"optional": true
},
+ "node_modules/dotenv": {
+ "version": "16.3.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
+ "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ }
+ },
"node_modules/earcut": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz",
@@ -1312,6 +1326,19 @@
"vue": "^3.2.0"
}
},
+ "node_modules/vue3-google-login": {
+ "version": "2.0.25",
+ "resolved": "https://registry.npmjs.org/vue3-google-login/-/vue3-google-login-2.0.25.tgz",
+ "integrity": "sha512-b6EfYFF2KH1qSiiCKI9WmPB79GdXifPB8qOt48RRmo1F5h3UcigrrqzQCosjcRLcTqUpRQcZ9TeKYP4ZVroNHQ==",
+ "peerDependencies": {
+ "vue": "^3.0.3"
+ }
+ },
+ "node_modules/vue3-google-oauth2": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/vue3-google-oauth2/-/vue3-google-oauth2-1.0.7.tgz",
+ "integrity": "sha512-XZv5+IVRLqKrsfm6DamD75e4LPynDt3xpmEw3SQBKfnUvpaIq6YuimOCPoXMfedR6nQHJeZkw62E/ii2disppA=="
+ },
"node_modules/vue3-openlayers": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/vue3-openlayers/-/vue3-openlayers-1.2.1.tgz",
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 085345b..653e6ff 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -34,7 +34,7 @@
/>
- {{nearestStructureData.lat}} , {{nearestStructureData.lon}}
+ {{nearestStructureData.lon}} , {{nearestStructureData.lat}}
@@ -52,7 +52,7 @@
-
+
เพิ่มลงในสถานที่โปรด
ดูเส้นทาง
@@ -238,7 +238,7 @@ export default {
data() {
return {
showPopup: true,
- showRoute: false,
+ showRoute: false
};
},
computed: {
@@ -257,6 +257,36 @@ export default {
viewPopup(){
this.showPopup = true;
this.showRoute = false;
+ },
+ addToFavorites() {
+ console.log('on click');
+ fetch("https://little-lines-backend.techtransthai.org/api/favorites/create",{
+ method: "POST",
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ user_id: '123456789',
+ place_name: this.nearestStructureData.display_name,
+ location: {
+ type: "Point",
+ coordinates: [parseFloat(this.nearestStructureData.lon), parseFloat(this.nearestStructureData.lat)]
+ },
+ wheelchair_access: 'Accessible',
+ highway_type: 'Highway'
+ })
+ })
+ .then((res) => {
+ if (res.ok) {
+ console.log('Add to favorites success');
+ return res.json();
+ } else {
+ throw Error(`Add to favorited faild (${res.status})`);
+ }
+ })
+ .catch((err) => {
+ console.log(err);
+ });
}
},
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 503f3ef..260708f 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -116,6 +116,8 @@ export default {
}
})
.then((data) => {
+ // localStorage.setItem('isLoggedIn', true);
+ // console.log(isLoggedIn);
console.log(data.success);
sessionStorage.setItem('current_user', data.user.username);
this.$router.push({ name: 'home' });
diff --git a/yarn.lock b/yarn.lock
index 6850825..c9b859a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,141 +2,36 @@
# yarn lockfile v1
-"@babel/parser@^7.23.0":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9"
- integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==
+"@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
+ version "7.22.14"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.14.tgz"
+ integrity sha512-1KucTHgOvaw/LzCVrEOAyXkr9rQlp0A1HiHRYnSUE9dmb8PvPW7o5sscg+5169r54n3vGlbx6GevTE/Iw/P3AQ==
"@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
- integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+ version "7.22.11"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz"
+ integrity sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==
dependencies:
regenerator-runtime "^0.14.0"
-"@esbuild/android-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
- integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
-
-"@esbuild/android-arm@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
- integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
-
-"@esbuild/android-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
- integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
-
-"@esbuild/darwin-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
- integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
-
-"@esbuild/darwin-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
- integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
-
-"@esbuild/freebsd-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
- integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
-
-"@esbuild/freebsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
- integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
-
-"@esbuild/linux-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
- integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
-
-"@esbuild/linux-arm@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
- integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
-
-"@esbuild/linux-ia32@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
- integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
-
-"@esbuild/linux-loong64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
- integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
-
-"@esbuild/linux-mips64el@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
- integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
-
-"@esbuild/linux-ppc64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
- integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
-
-"@esbuild/linux-riscv64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
- integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
-
-"@esbuild/linux-s390x@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
- integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
-
-"@esbuild/linux-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
- integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
-
-"@esbuild/netbsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
- integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
-
-"@esbuild/openbsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
- integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
-
-"@esbuild/sunos-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
- integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
-
-"@esbuild/win32-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
- integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
-
-"@esbuild/win32-ia32@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
- integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
-
"@esbuild/win32-x64@0.18.20":
version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
+ resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz"
integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
"@jridgewell/sourcemap-codec@^1.4.15":
version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@mapbox/jsonlint-lines-primitives@~2.0.2":
version "2.0.2"
- resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
+ resolved "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz"
integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
"@mapbox/mapbox-gl-style-spec@^13.23.1":
version "13.28.0"
- resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458"
+ resolved "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz"
integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==
dependencies:
"@mapbox/jsonlint-lines-primitives" "~2.0.2"
@@ -150,137 +45,137 @@
"@mapbox/point-geometry@^0.1.0":
version "0.1.0"
- resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
+ resolved "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz"
integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==
"@mapbox/unitbezier@^0.0.0":
version "0.0.0"
- resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
+ resolved "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz"
integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==
"@petamoriken/float16@^3.4.7":
- version "3.8.4"
- resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66"
- integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ==
+ version "3.8.3"
+ resolved "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.8.3.tgz"
+ integrity sha512-an2OZ7/6er9Jja8EDUvU/tmtGIutdlb6LwXOwgjzoCjDRAsUd8sRZMBjoPEy78Xa9iOp+Kglk2CHgVwZuZbWbw==
"@types/raf@^3.4.0":
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/@types/raf/-/raf-3.4.3.tgz#85f1d1d17569b28b8db45e16e996407a56b0ab04"
- integrity sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==
+ version "3.4.0"
+ resolved "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz"
+ integrity sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==
"@vitejs/plugin-vue@^4.2.3":
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz#b4569fcb1faac054eba4f5efc1aaf4d39f4379e5"
- integrity sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==
+ version "4.3.4"
+ resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz"
+ integrity sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==
-"@vue/compiler-core@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz#301bb60d0245265a88ed5b30e200fbf223acb313"
- integrity sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==
+"@vue/compiler-core@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz"
+ integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
dependencies:
- "@babel/parser" "^7.23.0"
- "@vue/shared" "3.3.8"
+ "@babel/parser" "^7.21.3"
+ "@vue/shared" "3.3.4"
estree-walker "^2.0.2"
source-map-js "^1.0.2"
-"@vue/compiler-dom@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz#09d832514b9b8d9415a3816b065d69dbefcc7e9b"
- integrity sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==
+"@vue/compiler-dom@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz"
+ integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
dependencies:
- "@vue/compiler-core" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@vue/compiler-core" "3.3.4"
+ "@vue/shared" "3.3.4"
-"@vue/compiler-sfc@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz#40b18e48aa00260950964d1d72157668521be0e1"
- integrity sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==
+"@vue/compiler-sfc@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz"
+ integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
dependencies:
- "@babel/parser" "^7.23.0"
- "@vue/compiler-core" "3.3.8"
- "@vue/compiler-dom" "3.3.8"
- "@vue/compiler-ssr" "3.3.8"
- "@vue/reactivity-transform" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@babel/parser" "^7.20.15"
+ "@vue/compiler-core" "3.3.4"
+ "@vue/compiler-dom" "3.3.4"
+ "@vue/compiler-ssr" "3.3.4"
+ "@vue/reactivity-transform" "3.3.4"
+ "@vue/shared" "3.3.4"
estree-walker "^2.0.2"
- magic-string "^0.30.5"
- postcss "^8.4.31"
+ magic-string "^0.30.0"
+ postcss "^8.1.10"
source-map-js "^1.0.2"
-"@vue/compiler-ssr@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz#136eed54411e4694815d961048a237191063fbce"
- integrity sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==
+"@vue/compiler-ssr@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz"
+ integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
dependencies:
- "@vue/compiler-dom" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@vue/compiler-dom" "3.3.4"
+ "@vue/shared" "3.3.4"
"@vue/devtools-api@^6.5.0":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697"
- integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==
+ version "6.5.0"
+ resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
+ integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
-"@vue/reactivity-transform@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz#6d07649013b0be5c670f0ab6cc7ddd3150ad03f2"
- integrity sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==
+"@vue/reactivity-transform@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz"
+ integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
dependencies:
- "@babel/parser" "^7.23.0"
- "@vue/compiler-core" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@babel/parser" "^7.20.15"
+ "@vue/compiler-core" "3.3.4"
+ "@vue/shared" "3.3.4"
estree-walker "^2.0.2"
- magic-string "^0.30.5"
+ magic-string "^0.30.0"
-"@vue/reactivity@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.8.tgz#cce8a03a3fd3539c3eeda53e277ba365d160dd4d"
- integrity sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==
+"@vue/reactivity@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz"
+ integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
dependencies:
- "@vue/shared" "3.3.8"
+ "@vue/shared" "3.3.4"
-"@vue/runtime-core@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz#fba5a632cbf2b5d29e171489570149cb6975dcdb"
- integrity sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==
+"@vue/runtime-core@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz"
+ integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
dependencies:
- "@vue/reactivity" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@vue/reactivity" "3.3.4"
+ "@vue/shared" "3.3.4"
-"@vue/runtime-dom@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz#e2d7aa795cf50914dda9a951887765a594b38af4"
- integrity sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==
+"@vue/runtime-dom@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz"
+ integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
dependencies:
- "@vue/runtime-core" "3.3.8"
- "@vue/shared" "3.3.8"
- csstype "^3.1.2"
+ "@vue/runtime-core" "3.3.4"
+ "@vue/shared" "3.3.4"
+ csstype "^3.1.1"
-"@vue/server-renderer@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz#9b1779010e75783edeed8fcfb97d9c95fc3ac5d2"
- integrity sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==
+"@vue/server-renderer@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz"
+ integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
dependencies:
- "@vue/compiler-ssr" "3.3.8"
- "@vue/shared" "3.3.8"
+ "@vue/compiler-ssr" "3.3.4"
+ "@vue/shared" "3.3.4"
-"@vue/shared@3.3.8":
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.8.tgz#f044942142e1d3a395f24132e6203a784838542d"
- integrity sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==
+"@vue/shared@3.3.4":
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz"
+ integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
asynckit@^0.4.0:
version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
atob@^2.1.2:
version "2.1.2"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
axios@^1.6.2:
version "1.6.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
+ resolved "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz"
integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
dependencies:
follow-redirects "^1.15.0"
@@ -289,17 +184,17 @@ axios@^1.6.2:
base64-arraybuffer@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
+ resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz"
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
btoa@^1.2.1:
version "1.2.1"
- resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
+ resolved "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz"
integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
canvg@^3.0.6:
version "3.0.10"
- resolved "https://registry.yarnpkg.com/canvg/-/canvg-3.0.10.tgz#8e52a2d088b6ffa23ac78970b2a9eebfae0ef4b3"
+ resolved "https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz"
integrity sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==
dependencies:
"@babel/runtime" "^7.12.5"
@@ -313,56 +208,56 @@ canvg@^3.0.6:
combined-stream@^1.0.8:
version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
core-js@^3.6.0, core-js@^3.8.3:
- version "3.33.2"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.2.tgz#312bbf6996a3a517c04c99b9909cdd27138d1ceb"
- integrity sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==
+ version "3.32.1"
+ resolved "https://registry.npmjs.org/core-js/-/core-js-3.32.1.tgz"
+ integrity sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==
css-line-break@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
+ resolved "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz"
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
dependencies:
utrie "^1.0.2"
csscolorparser@~1.0.2:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
+ resolved "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz"
integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==
-csstype@^3.1.2:
+csstype@^3.1.1:
version "3.1.2"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
+ resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
delayed-stream@~1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
dompurify@^2.2.0:
version "2.4.7"
- resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc"
+ resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz"
integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==
dotenv@^16.3.1:
version "16.3.1"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
+ resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz"
integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
earcut@^2.2.3:
version "2.2.4"
- resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
+ resolved "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz"
integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
esbuild@^0.18.10:
version "0.18.20"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz"
integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
optionalDependencies:
"@esbuild/android-arm" "0.18.20"
@@ -390,42 +285,37 @@ esbuild@^0.18.10:
estree-walker@^2.0.2:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fflate@^0.4.8:
version "0.4.8"
- resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae"
+ resolved "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz"
integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==
file-saver@^2.0.5:
version "2.0.5"
- resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
+ resolved "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz"
integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
follow-redirects@^1.15.0:
- version "1.15.3"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
- integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
+ version "1.15.2"
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz"
+ integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
form-data@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz"
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
-fsevents@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
geotiff@^2.0.7:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.0.tgz#8e06fd1aa950fba8910ac63dc65cb77b766f4b58"
- integrity sha512-B/iFJuFfRpmPHXf8aIRPRgUWwfaNb6dlsynkM8SWeHAPu7CpyvfqEa43KlBt7xxq5OTVysQacFHxhCn3SZhRKQ==
+ version "2.0.7"
+ resolved "https://registry.npmjs.org/geotiff/-/geotiff-2.0.7.tgz"
+ integrity sha512-FKvFTNowMU5K6lHYY2f83d4lS2rsCNdpUC28AX61x9ZzzqPNaWFElWv93xj0eJFaNyOYA63ic5OzJ88dHpoA5Q==
dependencies:
"@petamoriken/float16" "^3.4.7"
lerc "^3.0.0"
@@ -434,11 +324,10 @@ geotiff@^2.0.7:
quick-lru "^6.1.1"
web-worker "^1.2.0"
xml-utils "^1.0.2"
- zstddec "^0.1.0"
html2canvas@^1.0.0-rc.5:
version "1.4.1"
- resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
+ resolved "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz"
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
dependencies:
css-line-break "^2.1.0"
@@ -446,17 +335,17 @@ html2canvas@^1.0.0-rc.5:
ieee754@^1.1.12:
version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
json-stringify-pretty-compact@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885"
+ resolved "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz"
integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==
jspdf@^2.5.1:
version "2.5.1"
- resolved "https://registry.yarnpkg.com/jspdf/-/jspdf-2.5.1.tgz#00c85250abf5447a05f3b32ab9935ab4a56592cc"
+ resolved "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz"
integrity sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==
dependencies:
"@babel/runtime" "^7.14.0"
@@ -471,77 +360,77 @@ jspdf@^2.5.1:
lerc@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb"
+ resolved "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz"
integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==
-magic-string@^0.30.5:
- version "0.30.5"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
- integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
+magic-string@^0.30.0:
+ version "0.30.3"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz"
+ integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
mapbox-to-css-font@^2.4.1:
version "2.4.2"
- resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd"
+ resolved "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz"
integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA==
mgrs@1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/mgrs/-/mgrs-1.0.0.tgz#fb91588e78c90025672395cb40b25f7cd6ad1829"
+ resolved "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz"
integrity sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==
mime-db@1.52.0:
version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
mime-types@^2.1.12:
version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
minimist@^1.2.6:
version "1.2.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
nanoid@^3.3.6:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
- integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+ version "3.3.6"
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz"
+ integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
ol-contextmenu@^5.2.1:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/ol-contextmenu/-/ol-contextmenu-5.3.0.tgz#c819924f0d96274512cea5d34c712f007e98aad2"
- integrity sha512-AO9rGKaQpLAzqpEva7mukhkWrGkL/o1s8tXPsYuYBGMoiTBbXffgTikXjTmq1m7l3gDwXWWWi6R2ROda5lgXNw==
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/ol-contextmenu/-/ol-contextmenu-5.2.1.tgz"
+ integrity sha512-By1ShS/BkzQjGoE3aBOzAc5CELSdymjqokwdBrGLC4C6UBmxD8pRVWGcqMZWfsNWNkk4bYYy/osNfFr3DOScVQ==
dependencies:
tiny-emitter "^2.1.0"
-ol-ext@^4.0.10:
+ol-ext@^4.0.10, ol-ext@^4.0.8:
version "4.0.11"
- resolved "https://registry.yarnpkg.com/ol-ext/-/ol-ext-4.0.11.tgz#402334d79bfc0a4705dea4805d080e7bdf79936f"
+ resolved "https://registry.npmjs.org/ol-ext/-/ol-ext-4.0.11.tgz"
integrity sha512-zorUn71RsahiA/kbf+tRDbv19wqdLCclxd3gkjsFMnqCbdgl+P59CSJCqMO4O7b2bvaHrw5FEmep7FNFnGGQXg==
ol-geocoder@^4.3.0:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/ol-geocoder/-/ol-geocoder-4.3.1.tgz#534ad4e3c981cffbd432ece96da8cd6d032f2ee6"
- integrity sha512-058XXp6ZWCkz/g0B/aU1SZeMx/TClxo7Ns7XwbdZ0X/xlwt4XHoyTjsfe2mghg+uaY9olLYllhPD3vq5IRlggw==
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ol-geocoder/-/ol-geocoder-4.3.0.tgz"
+ integrity sha512-CcuoebLrUiS5ejefd9y4F3eyw8aZhUE9NPHn8fcVuvM8PSh/lwhWrQE4XPRMGnuPDoh9CZEv5volUkqnx5h3Sg==
ol-mapbox-style@^10.1.0:
version "10.7.0"
- resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz#8837912da2a16fbd22992d76cbc4f491c838b973"
+ resolved "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz"
integrity sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw==
dependencies:
"@mapbox/mapbox-gl-style-spec" "^13.23.1"
mapbox-to-css-font "^2.4.1"
ol "^7.3.0"
-ol@^7.3.0, ol@^7.4.0:
+ol@^7.1.0, ol@^7.3.0, ol@^7.4.0, "ol@>= 5.3.0", ol@>8.0.0:
version "7.5.2"
- resolved "https://registry.yarnpkg.com/ol/-/ol-7.5.2.tgz#2e40a16b45331dbee86ca86876fcc7846be0dbb7"
+ resolved "https://registry.npmjs.org/ol/-/ol-7.5.2.tgz"
integrity sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ==
dependencies:
earcut "^2.2.3"
@@ -552,17 +441,17 @@ ol@^7.3.0, ol@^7.4.0:
pako@^2.0.4:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86"
+ resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz"
integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==
parse-headers@^2.0.2:
version "2.0.5"
- resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
+ resolved "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz"
integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
pbf@3.2.1:
version "3.2.1"
- resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
+ resolved "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz"
integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
dependencies:
ieee754 "^1.1.12"
@@ -570,112 +459,112 @@ pbf@3.2.1:
performance-now@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
picocolors@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-postcss@^8.4.27, postcss@^8.4.31:
- version "8.4.31"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
- integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
+postcss@^8.1.10, postcss@^8.4.27:
+ version "8.4.29"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz"
+ integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
proj4@^2.9.0:
- version "2.9.2"
- resolved "https://registry.yarnpkg.com/proj4/-/proj4-2.9.2.tgz#5f6fe8c2db0f7f9a265546991adcd7b00961ef2e"
- integrity sha512-bdyfNmtlWjQN/rHEHEiqFvpTUHhuzDaeQ6Uu1G4sPGqk+Xkxae6ahh865fClJokSGPBmlDOQWWaO6465TCfv5Q==
+ version "2.9.0"
+ resolved "https://registry.npmjs.org/proj4/-/proj4-2.9.0.tgz"
+ integrity sha512-BoDXEzCVnRJVZoOKA0QHTFtYoE8lUxtX1jST38DJ8U+v1ixY70Kpwi0Llu6YqSWEH2xqu4XMEBNGcgeRIEywoA==
dependencies:
mgrs "1.0.0"
- wkt-parser "^1.3.3"
+ wkt-parser "^1.3.1"
protocol-buffers-schema@^3.3.1:
version "3.6.0"
- resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
+ resolved "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz"
integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
proxy-from-env@^1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
quick-lru@^6.1.1:
version "6.1.2"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e"
+ resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz"
integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==
quickselect@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
+ resolved "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz"
integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
raf@^3.4.1:
version "3.4.1"
- resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
+ resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz"
integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
dependencies:
performance-now "^2.1.0"
rbush@^3.0.1:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
+ resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz"
integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
dependencies:
quickselect "^2.0.0"
regenerator-runtime@^0.13.7:
version "0.13.11"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-runtime@^0.14.0:
version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz"
integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
resolve-protobuf-schema@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
+ resolved "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz"
integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
dependencies:
protocol-buffers-schema "^3.3.1"
rgbcolor@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/rgbcolor/-/rgbcolor-1.0.1.tgz#d6505ecdb304a6595da26fa4b43307306775945d"
+ resolved "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz"
integrity sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==
rollup@^3.27.1:
- version "3.29.4"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
- integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
+ version "3.28.1"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz"
+ integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==
optionalDependencies:
fsevents "~2.3.2"
rw@^1.3.3:
version "1.3.3"
- resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
+ resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz"
integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==
sort-asc@^0.1.0:
version "0.1.0"
- resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9"
+ resolved "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz"
integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==
sort-desc@^0.1.1:
version "0.1.1"
- resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee"
+ resolved "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz"
integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==
sort-object@^0.3.2:
version "0.3.2"
- resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2"
+ resolved "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz"
integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==
dependencies:
sort-asc "^0.1.0"
@@ -683,42 +572,42 @@ sort-object@^0.3.2:
source-map-js@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
stackblur-canvas@^2.0.0:
version "2.6.0"
- resolved "https://registry.yarnpkg.com/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz#7876bab4ea99bfc97b69ce662614d7a1afb2d71b"
+ resolved "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz"
integrity sha512-8S1aIA+UoF6erJYnglGPug6MaHYGo1Ot7h5fuXx4fUPvcvQfcdw2o/ppCse63+eZf8PPidSu4v1JnmEVtEDnpg==
svg-pathdata@^6.0.3:
version "6.0.3"
- resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz#80b0e0283b652ccbafb69ad4f8f73e8d3fbf2cac"
+ resolved "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz"
integrity sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==
text-segmentation@^1.0.3:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
+ resolved "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz"
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
dependencies:
utrie "^1.0.2"
tiny-emitter@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ resolved "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
utrie@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
+ resolved "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz"
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
dependencies:
base64-arraybuffer "^1.0.2"
-vite@^4.4.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26"
- integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==
+vite@^4.0.0, vite@^4.4.0:
+ version "4.4.9"
+ resolved "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz"
+ integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
dependencies:
esbuild "^0.18.10"
postcss "^8.4.27"
@@ -727,63 +616,58 @@ vite@^4.4.0:
fsevents "~2.3.2"
vue-router@^4.2.4:
- version "4.2.5"
- resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.5.tgz#b9e3e08f1bd9ea363fdd173032620bc50cf0e98a"
- integrity sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==
+ version "4.2.4"
+ resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz"
+ integrity sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==
dependencies:
"@vue/devtools-api" "^6.5.0"
+vue@^3.0.0, vue@^3.0.3, vue@^3.2.0, vue@^3.2.25, vue@^3.3.4, vue@3.3.4:
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz"
+ integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
+ dependencies:
+ "@vue/compiler-dom" "3.3.4"
+ "@vue/compiler-sfc" "3.3.4"
+ "@vue/runtime-dom" "3.3.4"
+ "@vue/server-renderer" "3.3.4"
+ "@vue/shared" "3.3.4"
+
vue3-google-login@^2.0.25:
version "2.0.25"
- resolved "https://registry.yarnpkg.com/vue3-google-login/-/vue3-google-login-2.0.25.tgz#ee5dbd758a4ff658faab4f7faf1637423301df30"
+ resolved "https://registry.npmjs.org/vue3-google-login/-/vue3-google-login-2.0.25.tgz"
integrity sha512-b6EfYFF2KH1qSiiCKI9WmPB79GdXifPB8qOt48RRmo1F5h3UcigrrqzQCosjcRLcTqUpRQcZ9TeKYP4ZVroNHQ==
vue3-google-oauth2@^1.0.7:
version "1.0.7"
- resolved "https://registry.yarnpkg.com/vue3-google-oauth2/-/vue3-google-oauth2-1.0.7.tgz#2b229d438aa581467d40ab7acdf2925cb37b3b20"
+ resolved "https://registry.npmjs.org/vue3-google-oauth2/-/vue3-google-oauth2-1.0.7.tgz"
integrity sha512-XZv5+IVRLqKrsfm6DamD75e4LPynDt3xpmEw3SQBKfnUvpaIq6YuimOCPoXMfedR6nQHJeZkw62E/ii2disppA==
vue3-openlayers@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/vue3-openlayers/-/vue3-openlayers-1.3.0.tgz#064f854cacffed900f5e99b3f0f82c70a0daf346"
- integrity sha512-xpppGTBDqSmvoVhxVeMENAGUfQLCL7MUKwj/XM+Bq/X6jIOgmRwa6MUObfY5Rt/XzrneJwVEAbj9pyzgWB1nlw==
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/vue3-openlayers/-/vue3-openlayers-1.2.1.tgz"
+ integrity sha512-8Z+kzLn20E7JxI5To26IiBk9h4lZZ6TG9cBKEMJcFlGzAOd2cMVpOf+wXV8bVJqugwoPN+J2ojZt2mPG6FflMQ==
dependencies:
file-saver "^2.0.5"
jspdf "^2.5.1"
proj4 "^2.9.0"
-vue@^3.3.4:
- version "3.3.8"
- resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.8.tgz#532ff071af24f6a69e5ecc53a66858a9ee874ffc"
- integrity sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==
- dependencies:
- "@vue/compiler-dom" "3.3.8"
- "@vue/compiler-sfc" "3.3.8"
- "@vue/runtime-dom" "3.3.8"
- "@vue/server-renderer" "3.3.8"
- "@vue/shared" "3.3.8"
-
vuetify@^3.3.8:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.4.2.tgz#439115ef71867d8358585cc499c21bb7f1cdbcab"
- integrity sha512-WvfVmES1SkhrCfYcfzPp8jpfIM+L+OcN9EYiBM+4bpmsIXLNJyMv42QhoDDWihSO6/zbE8RqCtyHawpu4ApyzA==
+ version "3.3.15"
+ resolved "https://registry.npmjs.org/vuetify/-/vuetify-3.3.15.tgz"
+ integrity sha512-n7GYBO31k8vA9UfvRwLNyBlkq1WoN3IJ9wNnIBFeV4axleSjFAzzR4WUw7rgj6Ba3q6N2hxXoyxJM21tseQTfQ==
web-worker@^1.2.0:
version "1.2.0"
- resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da"
+ resolved "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz"
integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==
-wkt-parser@^1.3.3:
+wkt-parser@^1.3.1:
version "1.3.3"
- resolved "https://registry.yarnpkg.com/wkt-parser/-/wkt-parser-1.3.3.tgz#46b4e3032dd9c86907f7e630b57e3c6ea2bb772b"
+ resolved "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.3.tgz"
integrity sha512-ZnV3yH8/k58ZPACOXeiHaMuXIiaTk1t0hSUVisbO0t4RjA5wPpUytcxeyiN2h+LZRrmuHIh/1UlrR9e7DHDvTw==
xml-utils@^1.0.2:
version "1.7.0"
- resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f"
+ resolved "https://registry.npmjs.org/xml-utils/-/xml-utils-1.7.0.tgz"
integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw==
-
-zstddec@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec"
- integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==
From 82e1e4e86a83401ffeff2c5d344e206210862369 Mon Sep 17 00:00:00 2001
From: p11037
Date: Fri, 24 Nov 2023 11:32:54 +0700
Subject: [PATCH 27/73] Check login status and disable button on setting
---
src/components/DestinationInfoCard.vue | 63 +++++++++++++++-----------
src/views/Login.vue | 4 +-
src/views/Setting.vue | 12 ++++-
3 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 6346791..ddd0003 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -259,35 +259,44 @@ export default {
this.showRoute = false;
},
addToFavorites() {
- console.log('on click');
- fetch("https://little-lines-backend.techtransthai.org/api/favorites/create",{
- method: "POST",
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- user_id: '123456789',
- place_name: this.nearestStructureData.display_name,
- location: {
- type: "Point",
- coordinates: [parseFloat(this.nearestStructureData.lon), parseFloat(this.nearestStructureData.lat)]
- },
- wheelchair_access: 'Accessible',
- highway_type: 'Highway'
- })
+ const currentUser = JSON.parse(sessionStorage.getItem('current_user'));
+
+ if (currentUser) {
+ console.log('Logged in. Proceed to add to favorites.');
+
+ fetch("https://little-lines-backend.techtransthai.org/api/favorites/create", {
+ method: "POST",
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ user_id: currentUser.id, // ใช้ userId ของผู้ใช้ที่ล็อกอินอยู่
+ place_name: this.nearestStructureData.display_name,
+ location: {
+ type: "Point",
+ coordinates: [parseFloat(this.nearestStructureData.lon), parseFloat(this.nearestStructureData.lat)]
+ },
+ wheelchair_access: 'Accessible',
+ highway_type: 'Highway'
})
+ })
.then((res) => {
- if (res.ok) {
- console.log('Add to favorites success');
- return res.json();
- } else {
- throw Error(`Add to favorited faild (${res.status})`);
- }
- })
- .catch((err) => {
- console.log(err);
- });
- }
+ if (res.ok) {
+ console.log('Add to favorites success');
+ return res.json();
+ } else {
+ throw Error(`Add to favorites failed (${res.status})`);
+ }
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ } else {
+ console.log('User not logged in. Unable to add to favorites.');
+ this.$router.push({ name: 'login' });
+ }
+}
+
},
};
diff --git a/src/views/Login.vue b/src/views/Login.vue
index d847f21..e7eab55 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -116,10 +116,10 @@ export default {
}
})
.then((data) => {
- // localStorage.setItem('isLoggedIn', true);
- // console.log(isLoggedIn);
+
console.log(data.success);
sessionStorage.setItem('current_user', JSON.stringify({id:data.user._id,username:data.user.username,email:data.user.email}));
+
this.$router.push({ name: 'home' });
})
.catch((err) => {
diff --git a/src/views/Setting.vue b/src/views/Setting.vue
index 2ccadff..93fb7a4 100644
--- a/src/views/Setting.vue
+++ b/src/views/Setting.vue
@@ -1,7 +1,7 @@
-
+
ยังไม่ได้ลงชื่อเข้าใช้
ลงชื่อเข้าใช้เพื่อบันทึกการตั้งค่าอย่างปลอดภัย
@@ -106,3 +106,13 @@ const display_items = [
}
+
+
From e2075b96d49472c611f9ca177bb4614c6fc8fab3 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Wed, 29 Nov 2023 17:09:10 +0700
Subject: [PATCH 28/73] feature: add user location
---
src/components/DestinationInfoCard.vue | 29 +++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index ddd0003..b600c5c 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -104,6 +104,7 @@
background-color: rgba(230, 230, 230, 1);
padding-left: 2vw;"
variant="invert-solo"
+ :model-value="formattedLocation"
flat
>
Date: Wed, 29 Nov 2023 17:19:06 +0700
Subject: [PATCH 29/73] fix: fixed minor bug
---
src/components/DestinationInfoCard.vue | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index b600c5c..a6b60b6 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -189,7 +189,7 @@
ย้อนกลับ
-
+
เริ่มการนำทาง
@@ -240,7 +240,9 @@ export default {
return {
showPopup: true,
showRoute: false,
- userLocation: null
+ userLocation: null,
+ isLocationRequested: false,
+
};
},
computed: {
@@ -248,7 +250,9 @@ export default {
return this.showRoute ? '45vh' : '60vh';
},
formattedLocation() {
- if (this.userLocation) {
+ if (this.isLocationRequested && !this.userLocation) {
+ return 'Requesting location...';
+ } else if (this.userLocation) {
return `${this.userLocation.lat.toFixed(6)}, ${this.userLocation.lon.toFixed(6)}`;
}
return 'Location not available';
@@ -263,7 +267,11 @@ export default {
this.getUserLocation();
this.showRoute = true;
},
+ enterRoute() {
+ console.log("Enter Route");
+ },
getUserLocation() {
+ this.isLocationRequested = true;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(this.setLocation, this.handleLocationError);
} else {
From d75174d06462657101f139139fbf6d3c6ce43cd1 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Wed, 29 Nov 2023 18:50:44 +0700
Subject: [PATCH 30/73] use openrouteservice api
---
src/components/DestinationInfoCard.vue | 115 ++++++++++++++++---------
1 file changed, 76 insertions(+), 39 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index a6b60b6..b63e760 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -231,6 +231,7 @@ const detial = [
-
-
\ No newline at end of file
+
+
My Favorites
+
+ -
+
Favorite {{ index + 1 }}:
+ Favorite ID: {{ favorite.place_name }}
+ Favorite Name: {{ favorite.place_name }}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 19ba190ced1bc9d42f741f99a52ab1271bdf478a Mon Sep 17 00:00:00 2001
From: p11037
Date: Thu, 30 Nov 2023 00:07:02 +0700
Subject: [PATCH 33/73] show each data for favorites page
---
src/components/DestinationInfoCard.vue | 6 +-
src/views/Favorite.vue | 113 ++++++++++++-------------
2 files changed, 57 insertions(+), 62 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 6489999..e166731 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -37,7 +37,7 @@
{{nearestStructureData.lon}} , {{nearestStructureData.lat}}
-
+
@@ -254,7 +254,7 @@ export default {
if (this.isLocationRequested && !this.userLocation) {
return 'Requesting location...';
} else if (this.userLocation) {
- return `${this.userLocation.lat.toFixed(6)}, ${this.userLocation.lon.toFixed(6)}`;
+ return `${this.userLocation.lon.toFixed(6)}, ${this.userLocation.lat.toFixed(6)}`;
}
return 'Location not available';
},
diff --git a/src/views/Favorite.vue b/src/views/Favorite.vue
index 7146f57..521fe44 100644
--- a/src/views/Favorite.vue
+++ b/src/views/Favorite.vue
@@ -1,63 +1,58 @@
-
-
My Favorites
-
- -
-
Favorite {{ index + 1 }}:
- Favorite ID: {{ favorite.place_name }}
- Favorite Name: {{ favorite.place_name }}
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+};
+
+
+
From cea70a1d42b7da791d6d08c2296a13010cc57d81 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Thu, 30 Nov 2023 19:55:56 +0700
Subject: [PATCH 34/73] emit data from destCard to Home
---
src/components/DestinationInfoCard.vue | 1 +
src/views/Home.vue | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index e166731..bce9749 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -282,6 +282,7 @@ export default {
lon: position.coords.longitude
};
console.log('User Location:', this.userLocation);
+ this.$emit('updateLocation', this.userLocation);
},
handleLocationError(error) {
console.error('Error getting location:', error);
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 71bf7c1..eae7370 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -10,7 +10,7 @@
v-if="popupData"
:nearestStructureData="popupData"
:onClose="closePopup"
-
+ @updateLocation="handleUserLocation"
/>
@@ -94,6 +94,7 @@ import { ref } from "vue";
import axios from "axios";
import DestinationInfoCard from '@/components/DestinationInfoCard.vue';
+
const center = ref([100.538611, 13.764722]);
const projection = ref("EPSG:4326");
const zoom = ref(19);
@@ -151,6 +152,11 @@ const closePopup = () => {
popupData.value = null; // Hide popup
};
+const handleUserLocation = (location) => {
+ console.log("Received user location:", location);
+};
+
+
From b0d6784462b75b8d1046c841c86312b29c67ff9b Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Wed, 6 Dec 2023 20:44:09 +0700
Subject: [PATCH 43/73] fix handleClick
---
src/views/Favorite.vue | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/src/views/Favorite.vue b/src/views/Favorite.vue
index 8059a81..d3c4706 100644
--- a/src/views/Favorite.vue
+++ b/src/views/Favorite.vue
@@ -17,10 +17,6 @@
@click="handleClick(favorite)"
>
-
-
@@ -41,6 +37,10 @@ export default {
setup() {
const favorite = ref([]);
+ const handleClick = (favoriteItem) => {
+ console.log('Clicked:', favoriteItem);
+ };
+
onMounted(async () => {
try {
const currentUser = JSON.parse(sessionStorage.getItem('current_user'));
@@ -58,15 +58,11 @@ export default {
} catch (error) {
console.error(error);
}
-
- const handleClick = (favorite) => {
- console.log('Clicked:', favorite);
- };
-
});
return {
- favorite
+ favorite,
+ handleClick
};
}
};
From 6317422824db9280be92aa7c2fb54aa4f6e58d06 Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Wed, 6 Dec 2023 22:13:26 +0700
Subject: [PATCH 44/73] Use .env on server side
---
little-lines-frontend.container | 1 +
1 file changed, 1 insertion(+)
diff --git a/little-lines-frontend.container b/little-lines-frontend.container
index 3e62b8e..6d515f9 100644
--- a/little-lines-frontend.container
+++ b/little-lines-frontend.container
@@ -5,6 +5,7 @@ Description=Little Lines frontend container
ContainerName=little-lines-frontend
Image=localhost/little-lines-frontend
PublishPort=8081:5173
+Volume=/media/sasha/Data1/Apps/ll-frontend/.env:/opt/little-lines-frontend/.env
[Service]
Restart=always
From 760d868dc201703ab68388982b236e331356f34a Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Thu, 7 Dec 2023 21:24:23 +0700
Subject: [PATCH 45/73] implement stop routing
---
src/components/DestinationInfoCard.vue | 49 +++++++++++++++-----------
src/views/Home.vue | 2 +-
2 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 5bf3c95..a3e846f 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -243,7 +243,7 @@ export default {
showRoute: false,
userLocation: null,
isLocationRequested: false,
-
+ isRouting: false,
};
},
computed: {
@@ -262,6 +262,10 @@ export default {
methods: {
closePopup() {
this.showPopup = false;
+
+ this.$emit('updateRouting', {route:null,isRouting:false});
+ this.isRouting = false;
+
this.onClose();
},
viewRoute() {
@@ -291,8 +295,11 @@ export default {
console.error('Error getting location:', error);
},
viewPopup(){
- this.showPopup = true;
- this.showRoute = false;
+ this.showPopup = true;
+ this.showRoute = false;
+
+ this.$emit('updateRouting', {route:null,isRouting:false});
+ this.isRouting = false;
},
addToFavorites() {
const currentUser = JSON.parse(sessionStorage.getItem('current_user'));
@@ -333,24 +340,26 @@ export default {
}
},
Routing(){
- console.log('Start routing!!');
- console.log(`nearestStructureData : ${this.nearestStructureData.lon},${this.nearestStructureData.lat}`);
- console.log(`userLocation : ${this.userLocation.lon},${this.userLocation.lat}`);
- // Make a request to OpenRouteService API for a sample route
- const apiKey = import.meta.env.VITE_OPENROUTESERVICE_API_KEY;
- const startCoord = `${this.userLocation.lon},${this.userLocation.lat}`;//'100.53860,13.76410';
- const endCoord = `${this.nearestStructureData.lon},${this.nearestStructureData.lat}`;//'100.53928,13.76526';
+ if(!this.isRouting){
+ console.log('Start routing!!');
+ console.log(`nearestStructureData : ${this.nearestStructureData.lon},${this.nearestStructureData.lat}`);
+ console.log(`userLocation : ${this.userLocation.lon},${this.userLocation.lat}`);
+ // Make a request to OpenRouteService API for a sample route
+ const apiKey = import.meta.env.VITE_OPENROUTESERVICE_API_KEY;
+ const startCoord = `${this.userLocation.lon},${this.userLocation.lat}`;//'100.53860,13.76410';
+ const endCoord = `${this.nearestStructureData.lon},${this.nearestStructureData.lat}`;//'100.53928,13.76526';
- axios.get(`https://api.openrouteservice.org/v2/directions/wheelchair?api_key=${apiKey}&start=${startCoord}&end=${endCoord}`)
- .then(response => {
- const route = response.data.features[0].geometry.coordinates;
- console.log('This is route :',{route:route})
- this.$emit('updateRouting', {route:route});
- // this.plotRoute(route);
- })
- .catch(error => {
- console.error('Error fetching route:', error);
- });
+ axios.get(`https://api.openrouteservice.org/v2/directions/wheelchair?api_key=${apiKey}&start=${startCoord}&end=${endCoord}`)
+ .then(response => {
+ const route = response.data.features[0].geometry.coordinates;
+ console.log('This is route :',{route:route})
+ this.$emit('updateRouting', {route:route,isRouting:true});
+ this.isRouting = true;
+ })
+ .catch(error => {
+ console.error('Error fetching route:', error);
+ });
+ }
},
},
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 9b2255e..fcf55c3 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -189,7 +189,7 @@ const closePopup = () => {
const handleRouting = (res) => {
console.log("Received Route:", res);
route.value = res.route;
- isRouting.value = true;
+ isRouting.value = res.isRouting;
};
From 3c4499cb6698c8ae228dd53660cdd7c033a396d5 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Fri, 8 Dec 2023 13:43:50 +0700
Subject: [PATCH 46/73] access to wheelchar data
---
src/views/Home.vue | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/views/Home.vue b/src/views/Home.vue
index fcf55c3..1a13db0 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -180,6 +180,26 @@ const handleMapClick = async event => {
} catch (error) {
console.error("Error fetching reverse geocoding data:", error);
}
+
+ const overpassQuery = `[out:json];
+(
+ node(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
+ way(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
+ relation(around:1000,${clickedCoordinate[1]},${clickedCoordinate[0]})["wheelchair"="yes"];
+);
+out;`;
+ const overpassUrl = 'https://overpass-api.de/api/interpreter';
+
+ axios.post(overpassUrl, `data=${encodeURIComponent(overpassQuery)}`, {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ },
+ }).then(response => {
+ // Process the data returned by the Overpass API
+ console.log(response.data);
+ }).catch(error => {
+ console.error('Error fetching data from Overpass API:', error);
+ });
};
const closePopup = () => {
From adf008a6bedc17487c0a860871ff5d8524e03501 Mon Sep 17 00:00:00 2001
From: SRP-mango
Date: Fri, 8 Dec 2023 20:03:36 +0700
Subject: [PATCH 47/73] send data from fav to home (not finished)
---
src/components/DestinationInfoCard.vue | 25 +++++-------------------
src/views/Favorite.vue | 27 +++++---------------------
src/views/Home.vue | 4 +---
3 files changed, 11 insertions(+), 45 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 5bf3c95..fbf7fd0 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -11,7 +11,6 @@
{{nearestStructureData.display_name}}
-
@@ -37,18 +36,6 @@
{{nearestStructureData.lon}} , {{nearestStructureData.lat}}
-
-
-
@@ -206,11 +193,11 @@
import findLocation from '../../icons/Material/find-location.svg';
import clock from '../../icons/Material/clock.svg';
import check from '../../icons/Material/check-round.svg';
-import DestinationInfoCard from '@/components/DestinationInfoCard.vue';
-const destination = {
- title: "อนุสาวรีย์ชัยสมรภูมิ",
- subTitle: "ราชเทวี , กรุงเทพมหานคร"
-}
+// import DestinationInfoCard from '@/components/DestinationInfoCard.vue';
+// const destination = {
+// title: "อนุสาวรีย์ชัยสมรภูมิ",
+// subTitle: "ราชเทวี , กรุงเทพมหานคร"
+// }
const detial = [
{
icon: check,
@@ -243,7 +230,6 @@ export default {
showRoute: false,
userLocation: null,
isLocationRequested: false,
-
};
},
computed: {
@@ -465,7 +451,6 @@ export default {
.destination-card .v-field__input
{
- /* font-size: 14px; */
padding: 0;
}
diff --git a/src/views/Favorite.vue b/src/views/Favorite.vue
index d3c4706..23475f9 100644
--- a/src/views/Favorite.vue
+++ b/src/views/Favorite.vue
@@ -1,12 +1,4 @@
-
-
-
-
@@ -32,13 +24,17 @@
\ No newline at end of file
From d07bbb52f74680ba5c860050015243d67dc673e7 Mon Sep 17 00:00:00 2001
From: NekoVari
Date: Sat, 9 Dec 2023 23:48:04 +0700
Subject: [PATCH 51/73] alert can't routing
---
src/components/DestinationInfoCard.vue | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index fe577cc..7290026 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -410,6 +410,7 @@ export default {
this.isRouting = true;
})
.catch(error => {
+ alert(`Can't routing`)
console.error('Error fetching route:', error);
});
}
From 9fd01826f7634633935ed99b8d0218e60cd90bcb Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Mon, 11 Dec 2023 23:23:20 +0700
Subject: [PATCH 52/73] Add env example
---
env.example | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 env.example
diff --git a/env.example b/env.example
new file mode 100644
index 0000000..389a05d
--- /dev/null
+++ b/env.example
@@ -0,0 +1,5 @@
+# OAuth 2.0 Client ID. Create one at Google Cloud Console > APIs & Services > Credentials
+VITE_CLIENT_ID=
+
+# OpenRouteService API key. Create one at OpenRouteService dev dashboard > Tokens
+VITE_OPENROUTESERVICE_API_KEY=
\ No newline at end of file
From e39e4f240610ebc8e17b79726f586246a36b46ec Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Mon, 11 Dec 2023 23:23:46 +0700
Subject: [PATCH 53/73] Add Adwaita wheelchair icons
---
icons/Adwaita/no-wheelchair.svg | 2 ++
icons/Adwaita/wheelchair-limited.svg | 2 ++
icons/Adwaita/wheelchair.svg | 2 +-
3 files changed, 5 insertions(+), 1 deletion(-)
create mode 100644 icons/Adwaita/no-wheelchair.svg
create mode 100644 icons/Adwaita/wheelchair-limited.svg
diff --git a/icons/Adwaita/no-wheelchair.svg b/icons/Adwaita/no-wheelchair.svg
new file mode 100644
index 0000000..576d2d2
--- /dev/null
+++ b/icons/Adwaita/no-wheelchair.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/icons/Adwaita/wheelchair-limited.svg b/icons/Adwaita/wheelchair-limited.svg
new file mode 100644
index 0000000..134ce0a
--- /dev/null
+++ b/icons/Adwaita/wheelchair-limited.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/icons/Adwaita/wheelchair.svg b/icons/Adwaita/wheelchair.svg
index 54db37d..50fda74 100644
--- a/icons/Adwaita/wheelchair.svg
+++ b/icons/Adwaita/wheelchair.svg
@@ -1,2 +1,2 @@
-
+
From 7a1ac02c99b062b1c77b245911547cab8e1c4be1 Mon Sep 17 00:00:00 2001
From: Late Night Defender
Date: Tue, 12 Dec 2023 00:18:33 +0700
Subject: [PATCH 54/73] update wheelchair icons display
---
src/components/DestinationInfoCard.vue | 60 +++++++++++++++++---------
1 file changed, 40 insertions(+), 20 deletions(-)
diff --git a/src/components/DestinationInfoCard.vue b/src/components/DestinationInfoCard.vue
index 7290026..150fd4c 100644
--- a/src/components/DestinationInfoCard.vue
+++ b/src/components/DestinationInfoCard.vue
@@ -199,10 +199,14 @@