2024-02-04 19:32:04 +00:00
|
|
|
<svelte:head>
|
|
|
|
<title>Ottawa board games, trades and sales</title>
|
|
|
|
</svelte:head>
|
2024-01-31 18:44:13 +00:00
|
|
|
<main class="responsive">
|
2024-02-04 19:32:04 +00:00
|
|
|
<slot />
|
2024-01-31 18:44:13 +00:00
|
|
|
</main>
|
2024-02-04 19:32:04 +00:00
|
|
|
|
|
|
|
<script>
|
|
|
|
import 'beercss/dist/cdn/beer.min.css';
|
2024-02-05 15:30:23 +00:00
|
|
|
import { setContext } from 'svelte';
|
|
|
|
import { dev, browser } from '$app/environment';
|
|
|
|
import { readable } from 'svelte/store';
|
|
|
|
|
|
|
|
const prefix = dev ? '/dev/' : '/db/';
|
|
|
|
|
|
|
|
const games = readable([], async (set) => {
|
|
|
|
if (!browser) return () => {};
|
|
|
|
|
|
|
|
fetch(prefix + 'games.json')
|
|
|
|
.then((doc) => doc.json())
|
|
|
|
.then(set);
|
|
|
|
|
|
|
|
return () => {};
|
|
|
|
});
|
|
|
|
setContext('games', games);
|
|
|
|
|
|
|
|
const sellers = readable({}, async (set) => {
|
|
|
|
if (!browser) return () => {};
|
|
|
|
|
|
|
|
const sellers_list = await fetch(prefix + 'sellers.json').then((doc) =>
|
|
|
|
doc.json(),
|
|
|
|
);
|
|
|
|
set(
|
|
|
|
Object.fromEntries(
|
|
|
|
sellers_list.map((seller) => [seller.username, seller]),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
return () => {};
|
|
|
|
});
|
|
|
|
setContext('sellers', sellers);
|
2024-02-04 19:32:04 +00:00
|
|
|
</script>
|
2024-02-04 22:08:21 +00:00
|
|
|
|
|
|
|
<style>
|
|
|
|
:global(:root) {
|
|
|
|
--font-size-10: 1rem;
|
|
|
|
--font-size-11: 1.5rem;
|
|
|
|
--font-size-12: 1.75rem;
|
|
|
|
--font-size-13: 2rem;
|
|
|
|
--font-size-14: 2.25rem;
|
|
|
|
}
|
|
|
|
</style>
|