diff --git a/package.json b/package.json index 2387378..e29b348 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,7 @@ "devDependencies": { "@changesets/cli": "^2.27.1", "@playwright/test": "^1.28.1", - "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/kit": "^2.0.0", + "@sveltejs/kit": "^2.5.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@types/eslint": "8.56.0", "eslint": "^8.56.0", @@ -34,7 +33,6 @@ }, "type": "module", "dependencies": { - "@sveltejs/adapter-node": "^4.0.1", "@sveltejs/adapter-static": "^3.0.1", "@vincjo/datatables": "^1.14.4", "@yanick/updeep-remeda": "^2.2.0", diff --git a/src/lib/components/BggUser.svelte b/src/lib/components/BggUser.svelte new file mode 100644 index 0000000..655171f --- /dev/null +++ b/src/lib/components/BggUser.svelte @@ -0,0 +1,13 @@ +{username} + + + + diff --git a/src/lib/directives/clickOutside.js b/src/lib/directives/clickOutside.js new file mode 100644 index 0000000..ccaa7de --- /dev/null +++ b/src/lib/directives/clickOutside.js @@ -0,0 +1,15 @@ +export default function clickOutside(node) { + const handleClick = (event) => { + if (node && !node.contains(event.target) && !event.defaultPrevented) { + node.dispatchEvent(new CustomEvent('click_outside', node)); + } + }; + + document.addEventListener('click', handleClick, true); + + return { + destroy() { + document.removeEventListener('click', handleClick, true); + }, + }; +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 3dad5c6..285837c 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,20 +2,23 @@ Ottawa board games, trades and sales
+
+ + diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index fbe1276..624a567 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -1,12 +1,3 @@ -
- -
-

bgg.babyl.ca is an aggregation of board games for sale or diff --git a/src/routes/stats/+page.svelte b/src/routes/stats/+page.svelte new file mode 100644 index 0000000..587ebb3 --- /dev/null +++ b/src/routes/stats/+page.svelte @@ -0,0 +1,50 @@ +

+

Currently listing {nbr_games} games from {nbr_sellers} sellers.

+ + {#each Object.keys($sellers).sort() as username (username)} +
+ + + {#if $sellers[username].neighbourhood} + ({$sellers[username].neighbourhood}) + {/if} + + + {nbr_games_for(username)} + +
+ {/each} +
+ + + +