diff --git a/package.json b/package.json
index 8f19182..3cab3e1 100644
--- a/package.json
+++ b/package.json
@@ -30,8 +30,8 @@
"@sveltejs/adapter-vercel": "^1.0.0-next.56",
"@sveltejs/kit": "next",
"@types/animejs": "^3.1.4",
- "@typescript-eslint/eslint-plugin": "^5.26.0",
- "@typescript-eslint/parser": "^5.26.0",
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
+ "@typescript-eslint/parser": "^5.27.0",
"eslint": "^8.16.0",
"eslint-plugin-svelte3": "^4.0.0",
"sass": "^1.52.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7fec795..c71b1b2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,8 +6,8 @@ specifiers:
'@sveltejs/adapter-vercel': ^1.0.0-next.56
'@sveltejs/kit': next
'@types/animejs': ^3.1.4
- '@typescript-eslint/eslint-plugin': ^5.26.0
- '@typescript-eslint/parser': ^5.26.0
+ '@typescript-eslint/eslint-plugin': ^5.27.0
+ '@typescript-eslint/parser': ^5.27.0
animejs: ^3.2.1
dayjs: ^1.11.2
embla-carousel: ^6.2.0
@@ -36,8 +36,8 @@ devDependencies:
'@sveltejs/adapter-vercel': 1.0.0-next.56
'@sveltejs/kit': 1.0.0-next.345_sass@1.52.1+svelte@3.48.0
'@types/animejs': 3.1.4
- '@typescript-eslint/eslint-plugin': 5.26.0_hzuh7e2up357pvq3mkokjvu2lq
- '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle
+ '@typescript-eslint/eslint-plugin': 5.27.0_dszb5tb7atwkjjijmmov4qhi7i
+ '@typescript-eslint/parser': 5.27.0_xztl6dhthcahlo6akmb2bmjmle
eslint: 8.16.0
eslint-plugin-svelte3: 4.0.0_vypdqzeyqutkgs6qzc7qod4c64
sass: 1.52.1
@@ -257,8 +257,8 @@ packages:
'@types/node': 17.0.36
dev: true
- /@typescript-eslint/eslint-plugin/5.26.0_hzuh7e2up357pvq3mkokjvu2lq:
- resolution: {integrity: sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==}
+ /@typescript-eslint/eslint-plugin/5.27.0_dszb5tb7atwkjjijmmov4qhi7i:
+ resolution: {integrity: sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -268,10 +268,10 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle
- '@typescript-eslint/scope-manager': 5.26.0
- '@typescript-eslint/type-utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle
- '@typescript-eslint/utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle
+ '@typescript-eslint/parser': 5.27.0_xztl6dhthcahlo6akmb2bmjmle
+ '@typescript-eslint/scope-manager': 5.27.0
+ '@typescript-eslint/type-utils': 5.27.0_xztl6dhthcahlo6akmb2bmjmle
+ '@typescript-eslint/utils': 5.27.0_xztl6dhthcahlo6akmb2bmjmle
debug: 4.3.4
eslint: 8.16.0
functional-red-black-tree: 1.0.1
@@ -284,8 +284,8 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser/5.26.0_xztl6dhthcahlo6akmb2bmjmle:
- resolution: {integrity: sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==}
+ /@typescript-eslint/parser/5.27.0_xztl6dhthcahlo6akmb2bmjmle:
+ resolution: {integrity: sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -294,9 +294,9 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.26.0
- '@typescript-eslint/types': 5.26.0
- '@typescript-eslint/typescript-estree': 5.26.0_typescript@4.7.2
+ '@typescript-eslint/scope-manager': 5.27.0
+ '@typescript-eslint/types': 5.27.0
+ '@typescript-eslint/typescript-estree': 5.27.0_typescript@4.7.2
debug: 4.3.4
eslint: 8.16.0
typescript: 4.7.2
@@ -304,16 +304,16 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/scope-manager/5.26.0:
- resolution: {integrity: sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==}
+ /@typescript-eslint/scope-manager/5.27.0:
+ resolution: {integrity: sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.26.0
- '@typescript-eslint/visitor-keys': 5.26.0
+ '@typescript-eslint/types': 5.27.0
+ '@typescript-eslint/visitor-keys': 5.27.0
dev: true
- /@typescript-eslint/type-utils/5.26.0_xztl6dhthcahlo6akmb2bmjmle:
- resolution: {integrity: sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==}
+ /@typescript-eslint/type-utils/5.27.0_xztl6dhthcahlo6akmb2bmjmle:
+ resolution: {integrity: sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -322,7 +322,7 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle
+ '@typescript-eslint/utils': 5.27.0_xztl6dhthcahlo6akmb2bmjmle
debug: 4.3.4
eslint: 8.16.0
tsutils: 3.21.0_typescript@4.7.2
@@ -331,13 +331,13 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/types/5.26.0:
- resolution: {integrity: sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==}
+ /@typescript-eslint/types/5.27.0:
+ resolution: {integrity: sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree/5.26.0_typescript@4.7.2:
- resolution: {integrity: sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==}
+ /@typescript-eslint/typescript-estree/5.27.0_typescript@4.7.2:
+ resolution: {integrity: sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -345,8 +345,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.26.0
- '@typescript-eslint/visitor-keys': 5.26.0
+ '@typescript-eslint/types': 5.27.0
+ '@typescript-eslint/visitor-keys': 5.27.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -357,16 +357,16 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils/5.26.0_xztl6dhthcahlo6akmb2bmjmle:
- resolution: {integrity: sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==}
+ /@typescript-eslint/utils/5.27.0_xztl6dhthcahlo6akmb2bmjmle:
+ resolution: {integrity: sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.11
- '@typescript-eslint/scope-manager': 5.26.0
- '@typescript-eslint/types': 5.26.0
- '@typescript-eslint/typescript-estree': 5.26.0_typescript@4.7.2
+ '@typescript-eslint/scope-manager': 5.27.0
+ '@typescript-eslint/types': 5.27.0
+ '@typescript-eslint/typescript-estree': 5.27.0_typescript@4.7.2
eslint: 8.16.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.16.0
@@ -375,11 +375,11 @@ packages:
- typescript
dev: true
- /@typescript-eslint/visitor-keys/5.26.0:
- resolution: {integrity: sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==}
+ /@typescript-eslint/visitor-keys/5.27.0:
+ resolution: {integrity: sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.26.0
+ '@typescript-eslint/types': 5.27.0
eslint-visitor-keys: 3.3.0
dev: true
@@ -2256,7 +2256,7 @@ packages:
/wide-align/1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
dependencies:
- string-width: 4.2.3
+ string-width: 1.0.2
dev: true
/word-wrap/1.2.3:
diff --git a/src/routes/[country]/[location]/[photo].svelte b/src/routes/[country]/[location]/[photo].svelte
index d3795d7..bdad9b7 100644
--- a/src/routes/[country]/[location]/[photo].svelte
+++ b/src/routes/[country]/[location]/[photo].svelte
@@ -6,6 +6,7 @@
import { scale } from 'svelte/transition'
import { quartOut } from 'svelte/easing'
import { getAssetUrlKey } from '$utils/helpers'
+ import { fetchAPI } from '$utils/api'
import { previousPage } from '$utils/stores'
import { throttle } from '$utils/functions'
import { swipe } from '$utils/interactions/swipe'
@@ -398,92 +399,4 @@
{/if}
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/routes/[country]/[location]/[photo].ts b/src/routes/[country]/[location]/[photo].ts
new file mode 100644
index 0000000..dd86698
--- /dev/null
+++ b/src/routes/[country]/[location]/[photo].ts
@@ -0,0 +1,95 @@
+import type { RequestEvent, RequestHandlerOutput } from '@sveltejs/kit'
+import { fetchAPI } from '$utils/api'
+
+export async function get({ params }: RequestEvent): Promise