aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/AppHeader.svelte2
-rw-r--r--src/routes/+layout.server.js12
-rw-r--r--src/routes/+page.server.js1
-rw-r--r--src/routes/locations/+server.js18
4 files changed, 21 insertions, 12 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte
index fb57f27a..2d9c011f 100644
--- a/src/components/AppHeader.svelte
+++ b/src/components/AppHeader.svelte
@@ -16,7 +16,7 @@
{ key: 'nav.profile', icon: 'profile', href: `/${user.username}` },
{ key: 'nav.settings', icon: 'settings', href: `/${user.username}/settings` },
{ key: 'nav.support', icon: 'support', href: `/${user.username}/support` },
- { key: 'nav.signOut', icon: 'logout', href: `/${user.username}/logout` }
+ { key: 'nav.signOut', icon: 'logout', href: `/logout` }
];
let showMenu = false;
diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js
index 324632d4..6af13a06 100644
--- a/src/routes/+layout.server.js
+++ b/src/routes/+layout.server.js
@@ -35,15 +35,5 @@ export async function load({ cookies, locals, request, url, params }) {
let rate = await get('/rate');
rates = await get('/rates');
- let locations = await fetch('https://api.btcmap.org/v2/elements?updated_since=2022-09-19')
- .then((r) => r.text())
- .then((body) => {
- try {
- return JSON.parse(body);
- } catch (e) {
- throw new Error(body);
- }
- });
-
- return { subject, user, token, rate, rates, locations };
+ return { subject, user, token, rate, rates };
}
diff --git a/src/routes/+page.server.js b/src/routes/+page.server.js
new file mode 100644
index 00000000..cfc78363
--- /dev/null
+++ b/src/routes/+page.server.js
@@ -0,0 +1 @@
+ export let load = async ({ fetch }) => (await fetch('/locations')).json();
diff --git a/src/routes/locations/+server.js b/src/routes/locations/+server.js
new file mode 100644
index 00000000..48eb9fc6
--- /dev/null
+++ b/src/routes/locations/+server.js
@@ -0,0 +1,18 @@
+import { json } from '@sveltejs/kit';
+
+export async function GET({ fetch, setHeaders }) {
+ let r = await fetch('https://api.btcmap.org/v2/elements?updated_since=2022-09-19');
+
+ let locations = await r.json();
+ locations = locations.filter(
+ (l) => l['osm_json'].tags && l['osm_json'].tags['payment:coinos'] === 'yes'
+ );
+
+ let headers = {
+ 'cache-control': 'public, max-age=600'
+ };
+
+ setHeaders(headers);
+
+ return json({ locations });
+}