From 1465c8c7ffcefe0cbe3f97d9de3cb0b07556e459 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Fri, 2 Sep 2022 16:38:15 -0500 Subject: [PATCH 01/15] Starting refactor for pagination control in game result display. --- src/lib/components/pagination/index.svelte | 25 ++++++++++++++++------ src/routes/+page.svelte | 8 +++++++ src/routes/api/game/+server.ts | 1 + 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte index 97616b6..b40c6d1 100644 --- a/src/lib/components/pagination/index.svelte +++ b/src/lib/components/pagination/index.svelte @@ -3,11 +3,11 @@ const totalCount = $boredState.search.totalCount; // TODO: Check default value console.log('totalCount', totalCount); - $: pageSize = $boredState.search.pageSize; + const pageSize = $boredState.search.pageSize; console.log('pageSize', pageSize); - $: currentPage = $boredState.search.currentPage; + const currentPage = $boredState.search.currentPage; console.log('currentPage', currentPage); - $: skip = $boredState.search.skip; + let skip = $boredState.search.skip; console.log('skip', skip); const totalPages: number = Math.ceil(totalCount / pageSize); @@ -19,18 +19,29 @@ const itemsLeft: number = totalCount - currentPage * pageSize >= 0 ? totalCount - currentPage * pageSize : 0; - const pageArray = Array.from({ length: 10 }, (_, i) => i + 1); + const maxPaginationButtons = 10; + let addition = maxPaginationButtons; + if (addition <= maxPaginationButtons) { + addition = skip; + } + const pageArray = Array.from({ length: maxPaginationButtons }, (_, i) => i + 1 + addition); // console.log('pageArray', pageArray);
- {#each pageArray as page} + {#each pageArray as page (page)} { + boredState.update((n) => ({ + ...n, + search: { skip: page * pageSize, currentPage: currentPage + 1, pageSize, totalCount } + })); + }}>{page} {/each} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c60749a..dda3d10 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -22,6 +22,14 @@ boredState.update((n) => ({ ...n, loading: false })); gameStore.removeAll(); gameStore.addAll(responseData?.games); + const skip = $boredState?.search?.skip; + const pageSize = $boredState?.search?.pageSize; + const currentPage = $boredState?.search?.currentPage; + const totalCount = responseData?.totalCount; + boredState.update((n) => ({ + ...n, + search: { totalCount, skip, pageSize, currentPage } + })); } let isOpen: boolean = false; diff --git a/src/routes/api/game/+server.ts b/src/routes/api/game/+server.ts index 06baf2f..2a2ca3e 100644 --- a/src/routes/api/game/+server.ts +++ b/src/routes/api/game/+server.ts @@ -54,6 +54,7 @@ export const POST: RequestHandler = async ({ request }) => { }); return json$1({ + totalCount, games }); } From 10aefbf13f72abf2148ccea3c8bc46038f2669d9 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Tue, 13 Sep 2022 15:14:55 -0700 Subject: [PATCH 02/15] Moving to newer SvelteKit RC slowly and updating pagination to not use global store. --- package.json | 24 +- pnpm-lock.yaml | 500 +++++++++++++----- src/db/actions.ts | 65 +++ src/{hooks.ts => hooks.server..ts} | 0 src/lib/apis/game.ts | 0 src/lib/components/GameSearchContainer.svelte | 0 src/lib/components/pagination/index.svelte | 150 ++++-- src/lib/stores/boredState.ts | 2 +- src/routes/+page.server.ts | 0 src/routes/+page.svelte | 38 +- src/routes/api/game/+server.ts | 3 +- src/routes/game/[id]/+page.server.ts | 5 + src/search/actions.ts | 13 + svelte.config.js | 13 +- 14 files changed, 617 insertions(+), 196 deletions(-) create mode 100644 src/db/actions.ts rename src/{hooks.ts => hooks.server..ts} (100%) create mode 100644 src/lib/apis/game.ts create mode 100644 src/lib/components/GameSearchContainer.svelte create mode 100644 src/routes/+page.server.ts create mode 100644 src/search/actions.ts diff --git a/package.json b/package.json index 19e67e8..fd3cf59 100644 --- a/package.json +++ b/package.json @@ -13,16 +13,16 @@ "format": "prettier --write --plugin-search-dir=. ." }, "devDependencies": { - "@playwright/test": "^1.25.1", + "@playwright/test": "^1.25.2", "@rgossiaux/svelte-headlessui": "1.0.2", "@rgossiaux/svelte-heroicons": "^0.1.2", - "@sveltejs/adapter-auto": "1.0.0-next.71", - "@sveltejs/kit": "1.0.0-next.461", + "@sveltejs/adapter-auto": "1.0.0-next.72", + "@sveltejs/kit": "1.0.0-next.480", "@types/cookie": "^0.5.1", - "@types/node": "^18.7.14", - "@typescript-eslint/eslint-plugin": "^5.36.1", - "@typescript-eslint/parser": "^5.36.1", - "carbon-components-svelte": "^0.70.4", + "@types/node": "^18.7.16", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "carbon-components-svelte": "^0.70.6", "carbon-icons-svelte": "^11.2.0", "eslint": "^8.23.0", "eslint-config-prettier": "^8.1.0", @@ -30,13 +30,13 @@ "just-debounce-it": "^3.1.1", "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.7.0", - "sass": "^1.54.8", - "svelte": "^3.49.0", + "sass": "^1.54.9", + "svelte": "^3.50.1", "svelte-check": "^2.9.0", "svelte-preprocess": "^4.10.7", "tslib": "^2.0.0", - "typescript": "^4.8.2", - "vite": "^3.1.0-beta.1" + "typescript": "^4.8.3", + "vite": "^3.1.0" }, "type": "module", "dependencies": { @@ -47,6 +47,6 @@ "@types/feather-icons": "^4.7.0", "cookie": "^0.5.0", "feather-icons": "^4.29.0", - "zod": "^3.18.0" + "zod": "^3.19.0" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 257b328..85d6797 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,17 +5,17 @@ specifiers: '@leveluptuts/svelte-side-menu': ^1.0.5 '@leveluptuts/svelte-toy': ^2.0.3 '@lukeed/uuid': ^2.0.0 - '@playwright/test': ^1.25.1 + '@playwright/test': ^1.25.2 '@rgossiaux/svelte-headlessui': 1.0.2 '@rgossiaux/svelte-heroicons': ^0.1.2 - '@sveltejs/adapter-auto': 1.0.0-next.71 - '@sveltejs/kit': 1.0.0-next.461 + '@sveltejs/adapter-auto': 1.0.0-next.72 + '@sveltejs/kit': 1.0.0-next.480 '@types/cookie': ^0.5.1 '@types/feather-icons': ^4.7.0 - '@types/node': ^18.7.14 - '@typescript-eslint/eslint-plugin': ^5.36.1 - '@typescript-eslint/parser': ^5.36.1 - carbon-components-svelte: ^0.70.4 + '@types/node': ^18.7.16 + '@typescript-eslint/eslint-plugin': ^5.36.2 + '@typescript-eslint/parser': ^5.36.2 + carbon-components-svelte: ^0.70.6 carbon-icons-svelte: ^11.2.0 cookie: ^0.5.0 eslint: ^8.23.0 @@ -25,14 +25,14 @@ specifiers: just-debounce-it: ^3.1.1 prettier: ^2.7.1 prettier-plugin-svelte: ^2.7.0 - sass: ^1.54.8 - svelte: ^3.49.0 + sass: ^1.54.9 + svelte: ^3.50.1 svelte-check: ^2.9.0 svelte-preprocess: ^4.10.7 tslib: ^2.0.0 - typescript: ^4.8.2 - vite: ^3.1.0-beta.1 - zod: ^3.18.0 + typescript: ^4.8.3 + vite: ^3.1.0 + zod: ^3.19.0 dependencies: '@fontsource/fira-mono': 4.5.9 @@ -42,38 +42,38 @@ dependencies: '@types/feather-icons': 4.7.0 cookie: 0.5.0 feather-icons: 4.29.0 - zod: 3.18.0 + zod: 3.19.0 devDependencies: - '@playwright/test': 1.25.1 - '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.49.0 - '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.49.0 - '@sveltejs/adapter-auto': 1.0.0-next.71 - '@sveltejs/kit': 1.0.0-next.461_fhgkwirxvgjw2igda6zmhiisma + '@playwright/test': 1.25.2 + '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.50.1 + '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.50.1 + '@sveltejs/adapter-auto': 1.0.0-next.72 + '@sveltejs/kit': 1.0.0-next.480_svelte@3.50.1+vite@3.1.0 '@types/cookie': 0.5.1 - '@types/node': 18.7.14 - '@typescript-eslint/eslint-plugin': 5.36.1_lbwfnm54o3pmr3ypeqp3btnera - '@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm - carbon-components-svelte: 0.70.4 + '@types/node': 18.7.16 + '@typescript-eslint/eslint-plugin': 5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm + '@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi + carbon-components-svelte: 0.70.6 carbon-icons-svelte: 11.2.0 eslint: 8.23.0 eslint-config-prettier: 8.5.0_eslint@8.23.0 - eslint-plugin-svelte3: 4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e + eslint-plugin-svelte3: 4.0.0_jtvgu4usxe4xoavzb5jpyaoyje just-debounce-it: 3.1.1 prettier: 2.7.1 - prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi - sass: 1.54.8 - svelte: 3.49.0 - svelte-check: 2.9.0_sass@1.54.8+svelte@3.49.0 - svelte-preprocess: 4.10.7_wvqslddg27v5ozoudw2pkwd4de + prettier-plugin-svelte: 2.7.0_nk6d2fkgcllkkdynqbuearcure + sass: 1.54.9 + svelte: 3.50.1 + svelte-check: 2.9.0_sass@1.54.9+svelte@3.50.1 + svelte-preprocess: 4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy tslib: 2.4.0 - typescript: 4.8.2 - vite: 3.1.0-beta.1_sass@1.54.8 + typescript: 4.8.3 + vite: 3.1.0_sass@1.54.9 packages: - /@cloudflare/workers-types/3.15.0: - resolution: {integrity: sha512-meL/Afy5qdIsgfdnlbVfcYUh/YjHk23EWUvgmULf6iDrDbrBcd+fse2os3CC7rxSfScdP1OqJVTHgRSEjUm/Pw==} + /@cloudflare/workers-types/3.16.0: + resolution: {integrity: sha512-gaBUSaKS65mN3iKZEgichbXYEmAa/pXkc5Gbt+1BptYphdGkj09ggdsiE4w8g0F/uI1g36QaTKrzVnBAWMipvQ==} dev: true /@esbuild/linux-loong64/0.14.54: @@ -85,6 +85,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.15.7: + resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@eslint/eslintrc/1.3.1: resolution: {integrity: sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -172,8 +181,8 @@ packages: '@lukeed/csprng': 1.0.1 dev: false - /@mapbox/node-pre-gyp/1.0.9: - resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} + /@mapbox/node-pre-gyp/1.0.10: + resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} hasBin: true dependencies: detect-libc: 2.0.1 @@ -211,33 +220,33 @@ packages: fastq: 1.13.0 dev: true - /@playwright/test/1.25.1: - resolution: {integrity: sha512-IJ4X0yOakXtwkhbnNzKkaIgXe6df7u3H3FnuhI9Jqh+CdO0e/lYQlDLYiyI9cnXK8E7UAppAWP+VqAv6VX7HQg==} + /@playwright/test/1.25.2: + resolution: {integrity: sha512-6qPznIR4Fw02OMbqXUPMG6bFFg1hDVNEdihKy0t9K0dmRbus1DyP5Q5XFQhGwEHQkLG5hrSfBuu9CW/foqhQHQ==} engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 18.7.14 - playwright-core: 1.25.1 + '@types/node': 18.7.16 + playwright-core: 1.25.2 dev: true /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rgossiaux/svelte-headlessui/1.0.2_svelte@3.49.0: + /@rgossiaux/svelte-headlessui/1.0.2_svelte@3.50.1: resolution: {integrity: sha512-sauopYTSivhzXe1kAvgawkhyYJcQlK8Li3p0d2OtcCIVprOzdbard5lbqWB4xHDv83zAobt2mR08oizO2poHLQ==} peerDependencies: svelte: ^3.44.0 dependencies: - svelte: 3.49.0 + svelte: 3.50.1 dev: true - /@rgossiaux/svelte-heroicons/0.1.2_svelte@3.49.0: + /@rgossiaux/svelte-heroicons/0.1.2_svelte@3.50.1: resolution: {integrity: sha512-c5Ep1QDvBo9HD/P0AxbXItDbn6x77fldCjjL0aBjNseUntV4fkdHkBde1IaLr8i0kmrhTSovjkIen8W83jUPzg==} peerDependencies: svelte: ^3.44.0 dependencies: - svelte: 3.49.0 + svelte: 3.50.1 dev: true /@rollup/pluginutils/4.2.1: @@ -248,12 +257,12 @@ packages: picomatch: 2.3.1 dev: true - /@sveltejs/adapter-auto/1.0.0-next.71: - resolution: {integrity: sha512-Qsl82HcehWJbZztXgmU/nTPDeeIaB4jrOQpSvy3Pi8octs+rEf/CO87Wk06EP+M/zUzEHDNENMOx0DgWuHpj7Q==} + /@sveltejs/adapter-auto/1.0.0-next.72: + resolution: {integrity: sha512-SisfQ6adHkkmm6ANVq9V9hemowl9mSVQd+XoNDAhjgf1DtCdJEgpkdJDZ7xq7RB0lsTZTSiAp7c/LlV4lCSTMA==} dependencies: '@sveltejs/adapter-cloudflare': 1.0.0-next.32 '@sveltejs/adapter-netlify': 1.0.0-next.76 - '@sveltejs/adapter-vercel': 1.0.0-next.72 + '@sveltejs/adapter-vercel': 1.0.0-next.73 transitivePeerDependencies: - encoding - supports-color @@ -262,7 +271,7 @@ packages: /@sveltejs/adapter-cloudflare/1.0.0-next.32: resolution: {integrity: sha512-tzkUsdQlBk9xUjcGUOBYos4HKaeaXvz9v4TQ1QS2yIHEtL5xvMEDPZ94/DB2gPL4LZCnYbdY2lsy5HCsoN0hkQ==} dependencies: - '@cloudflare/workers-types': 3.15.0 + '@cloudflare/workers-types': 3.16.0 esbuild: 0.14.54 worktop: 0.8.0-next.14 dev: true @@ -276,28 +285,28 @@ packages: tiny-glob: 0.2.9 dev: true - /@sveltejs/adapter-vercel/1.0.0-next.72: - resolution: {integrity: sha512-oNs8FQaYC2NnwDcvX/jc9MDNqXc9HxwGPQNkd+1vBpFVWZl9mShQgCcOMzfTOIH0ka984jYNa0ZawYYHex79xg==} + /@sveltejs/adapter-vercel/1.0.0-next.73: + resolution: {integrity: sha512-wYm80tDSkwa9YfXHCHqMFMHmGYsQjVWj2oLbQdijQ2k8dnQPq908Pla3IES1cLwtT+fIMbZyh3Xly7mt06FwJg==} dependencies: - '@vercel/nft': 0.22.0 + '@vercel/nft': 0.22.1 esbuild: 0.14.54 transitivePeerDependencies: - encoding - supports-color dev: true - /@sveltejs/kit/1.0.0-next.461_fhgkwirxvgjw2igda6zmhiisma: - resolution: {integrity: sha512-REe/ZIjE9F6ndEtCn4oPXpGWjiyLtOVWKJ73q53I3zxxoohL8OG6Zy0tnrdSvQj0nOBFTyQ4QXeYFn4TAO5oSw==} + /@sveltejs/kit/1.0.0-next.480_svelte@3.50.1+vite@3.1.0: + resolution: {integrity: sha512-RnltVDZFksAkeIZ0wgMQDr4POz3WZxSDy6D/ycIjrz3VXMDYWxKRqmTEI7Yl7TxPgUabeYHGRm/qI+nSXOb/Yw==} engines: {node: '>=16.14'} hasBin: true requiresBuild: true peerDependencies: svelte: ^3.44.0 - vite: ^3.1.0-beta.1 + vite: ^3.1.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.3_fhgkwirxvgjw2igda6zmhiisma + '@sveltejs/vite-plugin-svelte': 1.0.5_svelte@3.50.1+vite@3.1.0 cookie: 0.5.0 - devalue: 3.1.2 + devalue: 3.1.3 kleur: 4.1.5 magic-string: 0.26.3 mime: 3.0.0 @@ -305,17 +314,17 @@ packages: sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.49.0 + svelte: 3.50.1 tiny-glob: 0.2.9 undici: 5.10.0 - vite: 3.1.0-beta.1_sass@1.54.8 + vite: 3.1.0_sass@1.54.9 transitivePeerDependencies: - diff-match-patch - supports-color dev: true - /@sveltejs/vite-plugin-svelte/1.0.3_fhgkwirxvgjw2igda6zmhiisma: - resolution: {integrity: sha512-0Qu51m2W9RBlxWPp8i31KJpnqmjWMOne8vAzgmOX6ZM9uX+/RAv6BNhEMcNoP5MsyLjyW1ZTCiJoaZZ5EeqpFg==} + /@sveltejs/vite-plugin-svelte/1.0.5_svelte@3.50.1+vite@3.1.0: + resolution: {integrity: sha512-CmSdSow0Dr5ua1A11BQMtreWnE0JZmkVIcRU/yG3PKbycKUpXjNdgYTWFSbStLB0vdlGnBbm2+Y4sBVj+C+TIw==} engines: {node: ^14.18.0 || >= 16} peerDependencies: diff-match-patch: ^1.0.5 @@ -330,9 +339,9 @@ packages: deepmerge: 4.2.2 kleur: 4.1.5 magic-string: 0.26.3 - svelte: 3.49.0 - svelte-hmr: 0.14.12_svelte@3.49.0 - vite: 3.1.0-beta.1_sass@1.54.8 + svelte: 3.50.1 + svelte-hmr: 0.14.12_svelte@3.50.1 + vite: 3.1.0_sass@1.54.9 transitivePeerDependencies: - supports-color dev: true @@ -349,8 +358,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.7.14: - resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} + /@types/node/18.7.16: + resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} dev: true /@types/pug/2.0.6: @@ -360,11 +369,11 @@ packages: /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.7.14 + '@types/node': 18.7.16 dev: true - /@typescript-eslint/eslint-plugin/5.36.1_lbwfnm54o3pmr3ypeqp3btnera: - resolution: {integrity: sha512-iC40UK8q1tMepSDwiLbTbMXKDxzNy+4TfPWgIL661Ym0sD42vRcQU93IsZIrmi+x292DBr60UI/gSwfdVYexCA==} + /@typescript-eslint/eslint-plugin/5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm: + resolution: {integrity: sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -374,24 +383,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm - '@typescript-eslint/scope-manager': 5.36.1 - '@typescript-eslint/type-utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm - '@typescript-eslint/utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm + '@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi + '@typescript-eslint/scope-manager': 5.36.2 + '@typescript-eslint/type-utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi + '@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi debug: 4.3.4 eslint: 8.23.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.8.3 + typescript: 4.8.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.36.1_yqf6kl63nyoq5megxukfnom5rm: - resolution: {integrity: sha512-/IsgNGOkBi7CuDfUbwt1eOqUXF9WGVBW9dwEe1pi+L32XrTsZIgmDFIi2RxjzsvB/8i+MIf5JIoTEH8LOZ368A==} + /@typescript-eslint/parser/5.36.2_itqs5654cmlnjraw6gjzqacppi: + resolution: {integrity: sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -400,26 +409,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.36.1 - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 + '@typescript-eslint/scope-manager': 5.36.2 + '@typescript-eslint/types': 5.36.2 + '@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3 debug: 4.3.4 eslint: 8.23.0 - typescript: 4.8.2 + typescript: 4.8.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.36.1: - resolution: {integrity: sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==} + /@typescript-eslint/scope-manager/5.36.2: + resolution: {integrity: sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/visitor-keys': 5.36.1 + '@typescript-eslint/types': 5.36.2 + '@typescript-eslint/visitor-keys': 5.36.2 dev: true - /@typescript-eslint/type-utils/5.36.1_yqf6kl63nyoq5megxukfnom5rm: - resolution: {integrity: sha512-xfZhfmoQT6m3lmlqDvDzv9TiCYdw22cdj06xY0obSznBsT///GK5IEZQdGliXpAOaRL34o8phEvXzEo/VJx13Q==} + /@typescript-eslint/type-utils/5.36.2_itqs5654cmlnjraw6gjzqacppi: + resolution: {integrity: sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -428,23 +437,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 - '@typescript-eslint/utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm + '@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3 + '@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi debug: 4.3.4 eslint: 8.23.0 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.8.3 + typescript: 4.8.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.36.1: - resolution: {integrity: sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==} + /@typescript-eslint/types/5.36.2: + resolution: {integrity: sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.36.1_typescript@4.8.2: - resolution: {integrity: sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==} + /@typescript-eslint/typescript-estree/5.36.2_typescript@4.8.3: + resolution: {integrity: sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -452,28 +461,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/visitor-keys': 5.36.1 + '@typescript-eslint/types': 5.36.2 + '@typescript-eslint/visitor-keys': 5.36.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.8.3 + typescript: 4.8.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.36.1_yqf6kl63nyoq5megxukfnom5rm: - resolution: {integrity: sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==} + /@typescript-eslint/utils/5.36.2_itqs5654cmlnjraw6gjzqacppi: + resolution: {integrity: sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==} 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.36.1 - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 + '@typescript-eslint/scope-manager': 5.36.2 + '@typescript-eslint/types': 5.36.2 + '@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3 eslint: 8.23.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.23.0 @@ -482,19 +491,19 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.36.1: - resolution: {integrity: sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==} + /@typescript-eslint/visitor-keys/5.36.2: + resolution: {integrity: sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.36.1 + '@typescript-eslint/types': 5.36.2 eslint-visitor-keys: 3.3.0 dev: true - /@vercel/nft/0.22.0: - resolution: {integrity: sha512-hB80/093PPiCefN2gVbqv6J93MH+63Zr7uDCwkiS/U4W07DXkLoftbnkBmZoS0Q84LiTSl9DRVSHU4XYCX+sJA==} + /@vercel/nft/0.22.1: + resolution: {integrity: sha512-lYYZIoxRurqDOSoVIdBicGnpUIpfyaS5qVjdPq+EfI285WqtZK3NK/dyCkiyBul+X2U2OEhRyeMdXPCHGJbohw==} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.9 + '@mapbox/node-pre-gyp': 1.0.10 acorn: 8.8.0 async-sema: 3.1.1 bindings: 1.5.0 @@ -629,8 +638,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.70.4: - resolution: {integrity: sha512-XLvGi5lFv1JqcOuUxo02rSIWyT4UVkaHtzqZVHgwM+Gbs86expe3SA2FqE4FzungASoERBr8CaQG5UuoF2aD9w==} + /carbon-components-svelte/0.70.6: + resolution: {integrity: sha512-Nnm7+hELWLP7NnyaN3J4aioxcKlibsYwUeC5+UBWYAV2MtCv4+BwqwGVS6Yrx85NRid+jd83DCm9PSfimoj40Q==} dependencies: flatpickr: 4.6.9 dev: true @@ -753,8 +762,8 @@ packages: engines: {node: '>=8'} dev: true - /devalue/3.1.2: - resolution: {integrity: sha512-wUXbMGPAsBx79UF14nsWSsJlC7RcwPlf2w3bGheODWxKx57e9n68ceoijbqCJCEbjyo0S79nqfPwQgyijwLaqw==} + /devalue/3.1.3: + resolution: {integrity: sha512-9KO89Cb+qjzf2CqdrH+NuLaqdk9GhDP5EhR4zlkR51dvuIaiqtlkDkGzLMShDemwUy21raSMdu+kpX8Enw3yGQ==} dev: true /dir-glob/3.0.1: @@ -788,6 +797,15 @@ packages: dev: true optional: true + /esbuild-android-64/0.15.7: + resolution: {integrity: sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-android-arm64/0.14.54: resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} engines: {node: '>=12'} @@ -797,6 +815,15 @@ packages: dev: true optional: true + /esbuild-android-arm64/0.15.7: + resolution: {integrity: sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-darwin-64/0.14.54: resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} engines: {node: '>=12'} @@ -806,6 +833,15 @@ packages: dev: true optional: true + /esbuild-darwin-64/0.15.7: + resolution: {integrity: sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /esbuild-darwin-arm64/0.14.54: resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} engines: {node: '>=12'} @@ -815,6 +851,15 @@ packages: dev: true optional: true + /esbuild-darwin-arm64/0.15.7: + resolution: {integrity: sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /esbuild-freebsd-64/0.14.54: resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} engines: {node: '>=12'} @@ -824,6 +869,15 @@ packages: dev: true optional: true + /esbuild-freebsd-64/0.15.7: + resolution: {integrity: sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /esbuild-freebsd-arm64/0.14.54: resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} engines: {node: '>=12'} @@ -833,6 +887,15 @@ packages: dev: true optional: true + /esbuild-freebsd-arm64/0.15.7: + resolution: {integrity: sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-32/0.14.54: resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} engines: {node: '>=12'} @@ -842,6 +905,15 @@ packages: dev: true optional: true + /esbuild-linux-32/0.15.7: + resolution: {integrity: sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-64/0.14.54: resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} engines: {node: '>=12'} @@ -851,6 +923,15 @@ packages: dev: true optional: true + /esbuild-linux-64/0.15.7: + resolution: {integrity: sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-arm/0.14.54: resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} engines: {node: '>=12'} @@ -860,6 +941,15 @@ packages: dev: true optional: true + /esbuild-linux-arm/0.15.7: + resolution: {integrity: sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-arm64/0.14.54: resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} engines: {node: '>=12'} @@ -869,6 +959,15 @@ packages: dev: true optional: true + /esbuild-linux-arm64/0.15.7: + resolution: {integrity: sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-mips64le/0.14.54: resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} engines: {node: '>=12'} @@ -878,6 +977,15 @@ packages: dev: true optional: true + /esbuild-linux-mips64le/0.15.7: + resolution: {integrity: sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-ppc64le/0.14.54: resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} engines: {node: '>=12'} @@ -887,6 +995,15 @@ packages: dev: true optional: true + /esbuild-linux-ppc64le/0.15.7: + resolution: {integrity: sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-riscv64/0.14.54: resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} engines: {node: '>=12'} @@ -896,6 +1013,15 @@ packages: dev: true optional: true + /esbuild-linux-riscv64/0.15.7: + resolution: {integrity: sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-s390x/0.14.54: resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} engines: {node: '>=12'} @@ -905,6 +1031,15 @@ packages: dev: true optional: true + /esbuild-linux-s390x/0.15.7: + resolution: {integrity: sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-netbsd-64/0.14.54: resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} engines: {node: '>=12'} @@ -914,6 +1049,15 @@ packages: dev: true optional: true + /esbuild-netbsd-64/0.15.7: + resolution: {integrity: sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /esbuild-openbsd-64/0.14.54: resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} engines: {node: '>=12'} @@ -923,6 +1067,15 @@ packages: dev: true optional: true + /esbuild-openbsd-64/0.15.7: + resolution: {integrity: sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /esbuild-sunos-64/0.14.54: resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} engines: {node: '>=12'} @@ -932,6 +1085,15 @@ packages: dev: true optional: true + /esbuild-sunos-64/0.15.7: + resolution: {integrity: sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-32/0.14.54: resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} engines: {node: '>=12'} @@ -941,6 +1103,15 @@ packages: dev: true optional: true + /esbuild-windows-32/0.15.7: + resolution: {integrity: sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-64/0.14.54: resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} engines: {node: '>=12'} @@ -950,6 +1121,15 @@ packages: dev: true optional: true + /esbuild-windows-64/0.15.7: + resolution: {integrity: sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-arm64/0.14.54: resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} engines: {node: '>=12'} @@ -959,6 +1139,15 @@ packages: dev: true optional: true + /esbuild-windows-arm64/0.15.7: + resolution: {integrity: sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild/0.14.54: resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} engines: {node: '>=12'} @@ -988,6 +1177,35 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true + /esbuild/0.15.7: + resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.15.7 + esbuild-android-64: 0.15.7 + esbuild-android-arm64: 0.15.7 + esbuild-darwin-64: 0.15.7 + esbuild-darwin-arm64: 0.15.7 + esbuild-freebsd-64: 0.15.7 + esbuild-freebsd-arm64: 0.15.7 + esbuild-linux-32: 0.15.7 + esbuild-linux-64: 0.15.7 + esbuild-linux-arm: 0.15.7 + esbuild-linux-arm64: 0.15.7 + esbuild-linux-mips64le: 0.15.7 + esbuild-linux-ppc64le: 0.15.7 + esbuild-linux-riscv64: 0.15.7 + esbuild-linux-s390x: 0.15.7 + esbuild-netbsd-64: 0.15.7 + esbuild-openbsd-64: 0.15.7 + esbuild-sunos-64: 0.15.7 + esbuild-windows-32: 0.15.7 + esbuild-windows-64: 0.15.7 + esbuild-windows-arm64: 0.15.7 + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1002,14 +1220,14 @@ packages: eslint: 8.23.0 dev: true - /eslint-plugin-svelte3/4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e: + /eslint-plugin-svelte3/4.0.0_jtvgu4usxe4xoavzb5jpyaoyje: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: eslint: 8.23.0 - svelte: 3.49.0 + svelte: 3.50.1 dev: true /eslint-scope/5.1.1: @@ -1725,8 +1943,8 @@ packages: engines: {node: '>=8.6'} dev: true - /playwright-core/1.25.1: - resolution: {integrity: sha512-lSvPCmA2n7LawD2Hw7gSCLScZ+vYRkhU8xH0AapMyzwN+ojoDqhkH/KIEUxwNu2PjPoE/fcE0wLAksdOhJ2O5g==} + /playwright-core/1.25.2: + resolution: {integrity: sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==} engines: {node: '>=14'} hasBin: true dev: true @@ -1745,14 +1963,14 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.7.0_o3ioganyptcsrh6x4hnxvjkpqi: + /prettier-plugin-svelte/2.7.0_nk6d2fkgcllkkdynqbuearcure: resolution: {integrity: sha512-fQhhZICprZot2IqEyoiUYLTRdumULGRvw0o4dzl5jt0jfzVWdGqeYW27QTWAeXhoupEZJULmNoH3ueJwUWFLIA==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: prettier: 2.7.1 - svelte: 3.49.0 + svelte: 3.50.1 dev: true /prettier/2.7.1: @@ -1874,8 +2092,8 @@ packages: rimraf: 2.7.1 dev: true - /sass/1.54.8: - resolution: {integrity: sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww==} + /sass/1.54.9: + resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==} engines: {node: '>=12.0.0'} hasBin: true dependencies: @@ -2000,7 +2218,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.9.0_sass@1.54.8+svelte@3.49.0: + /svelte-check/2.9.0_sass@1.54.9+svelte@3.50.1: resolution: {integrity: sha512-9AVrtP7WbfDgCdqTZNPdj5CCCy1OrYMxFVWAWzNw7fl93c9klFJFtqzVXa6fovfQ050CcpUyJE2dPFL9TFAREw==} hasBin: true peerDependencies: @@ -2012,9 +2230,9 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.49.0 - svelte-preprocess: 4.10.7_wvqslddg27v5ozoudw2pkwd4de - typescript: 4.8.2 + svelte: 3.50.1 + svelte-preprocess: 4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy + typescript: 4.8.3 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -2028,16 +2246,16 @@ packages: - sugarss dev: true - /svelte-hmr/0.14.12_svelte@3.49.0: + /svelte-hmr/0.14.12_svelte@3.50.1: resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.49.0 + svelte: 3.50.1 dev: true - /svelte-preprocess/4.10.7_wvqslddg27v5ozoudw2pkwd4de: + /svelte-preprocess/4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -2082,15 +2300,15 @@ packages: '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.25.9 - sass: 1.54.8 + sass: 1.54.9 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.49.0 - typescript: 4.8.2 + svelte: 3.50.1 + typescript: 4.8.3 dev: true - /svelte/3.49.0: - resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==} + /svelte/3.50.1: + resolution: {integrity: sha512-bS4odcsdj5D5jEg6riZuMg5NKelzPtmsCbD9RG+8umU03TeNkdWnP6pqbCm0s8UQNBkqk29w/Bdubn3C+HWSwA==} engines: {node: '>= 8'} dev: true @@ -2141,14 +2359,14 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /tsutils/3.21.0_typescript@4.8.2: + /tsutils/3.21.0_typescript@4.8.3: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.8.2 + typescript: 4.8.3 dev: true /type-check/0.4.0: @@ -2163,8 +2381,8 @@ packages: engines: {node: '>=10'} dev: true - /typescript/4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + /typescript/4.8.3: + resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -2184,8 +2402,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/3.1.0-beta.1_sass@1.54.8: - resolution: {integrity: sha512-JGEnWSC0hfarcduTCQr6wnRjPLbT62iLCK59HBJXYt9oyWSUMtrvcnDqzvLFC+lHV6KGFQkmWlZucyIQmgUnLA==} + /vite/3.1.0_sass@1.54.9: + resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -2203,11 +2421,11 @@ packages: terser: optional: true dependencies: - esbuild: 0.14.54 + esbuild: 0.15.7 postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 - sass: 1.54.8 + sass: 1.54.9 optionalDependencies: fsevents: 2.3.2 dev: true @@ -2268,6 +2486,6 @@ packages: engines: {node: '>=10'} dev: true - /zod/3.18.0: - resolution: {integrity: sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==} + /zod/3.19.0: + resolution: {integrity: sha512-Yw0qvUsCNGBe5YacikdMt5gVYeUuaEFVDIHKMfElrGSaBhwR3CQK6vOzgfAJOjTdGIhEeoaj8GtT+NDZrepZbw==} dev: false diff --git a/src/db/actions.ts b/src/db/actions.ts new file mode 100644 index 0000000..54bc225 --- /dev/null +++ b/src/db/actions.ts @@ -0,0 +1,65 @@ +function isNumber(str: string): boolean { + if (typeof str !== 'string') { + return false; + } + + if (str.trim() === '') { + return false; + } + + return !Number.isNaN(Number(str)); +} + +function convertToBoolean(input: string): boolean | undefined { + try { + return JSON.parse(input.toLowerCase()); + } catch (e) { + return undefined; + } +} + +export async function getFormDataObject(request: Request): Promise<{ [key: string]: string }> { + const formData = await request.formData(); + let data = formData.entries(); + var obj = data.next(); + var retrieved: any = {}; + while (undefined !== obj.value) { + retrieved[obj.value[0]] = obj.value[1]; + obj = data.next(); + } + return retrieved; +} + +export async function getFormData(request: Request, schema: any): T { + const data = await getFormDataObject(request); + return transformFormDataTypes(data, schema); +} + +// TODO: Modify this as schema refers to a JSON schema helper + +export function transformFormDataTypes(data, schema): T { + for (const property in data) { + if (isNumber(schema[property])) { + data[property] = parseInt(data[property]); + } else if (typeof convertToBoolean(schema[property]) === boolean) { + data[property] = convertToBoolean(schema[property]); // data[property] === 'true'; + } else if (Array.isArray(JSON.parse(schema[property]))) { + data[property] = JSON.parse(schema[property]); + } + } + return data; +} + +interface Actions { + [key: string]: any // Action +} + +export const Games: Actions = { + search: async function search({ request, locals }): Promise { + + } + // create: async function create({ request, locals }): Promise { + // const data = await getFormDataObject(request); + // return data; + // } +} \ No newline at end of file diff --git a/src/hooks.ts b/src/hooks.server..ts similarity index 100% rename from src/hooks.ts rename to src/hooks.server..ts diff --git a/src/lib/apis/game.ts b/src/lib/apis/game.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/components/GameSearchContainer.svelte b/src/lib/components/GameSearchContainer.svelte new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte index b40c6d1..5fb6804 100644 --- a/src/lib/components/pagination/index.svelte +++ b/src/lib/components/pagination/index.svelte @@ -1,58 +1,138 @@
- - {#each pageArray as page (page)} - - {/each} - + +

Items per-page:

+
+ { + dispatch('pageSizeEvent', e.detail); + // boredState.update((n) => ({ + // ...n, + // search: { totalCount, pageSize: e.detail, skip, currentPage } + // })); + }} + let:open + > + {pageSize} + {#if open} +
+ + {#each pageSizes as size (size)} + (active ? 'active' : '')} + let:selected + > + {#if selected} + + {/if} +

{size.toString()}

+
+ {/each} +
+
+ {/if} +
+
+
+

+ Page {currentPage || 1} of {totalPages || 1} +

+

+ {itemsLeft} Item{itemsLeft > 1 || itemsLeft === 0 ? 's' : ''} Left +

+ +
diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte new file mode 100644 index 0000000..0972241 --- /dev/null +++ b/src/routes/about/+page.svelte @@ -0,0 +1,13 @@ + + Bored Game | About + + + +
+

About Bored Game

+

+ One day we were bored and wanted to play one of our board games. Our problem was that we didn't + know which one to play. +

+

Rather than just pick one I decided to make this overcomplicated version of choice.

+
diff --git a/src/routes/about/+page.ts b/src/routes/about/+page.ts new file mode 100644 index 0000000..3e13462 --- /dev/null +++ b/src/routes/about/+page.ts @@ -0,0 +1,9 @@ +import { dev } from '$app/environment'; + +// we don't need any JS on this page, though we'll load +// it in dev so that we get hot module replacement... +export const csr = dev; + +// since there's no dynamic data here, we can prerender +// it so that it gets served as a static asset in prod +export const prerender = true; diff --git a/src/routes/search/+page.server.ts b/src/routes/search/+page.server.ts new file mode 100644 index 0000000..86f2cf5 --- /dev/null +++ b/src/routes/search/+page.server.ts @@ -0,0 +1,6 @@ +import type { Actions } from '../$types'; +import { Games } from '$root/search/actions'; + +export const actions: Actions = { + search: Games.search, +} \ No newline at end of file diff --git a/src/routes/search/+page.svelte b/src/routes/search/+page.svelte new file mode 100644 index 0000000..63e6401 --- /dev/null +++ b/src/routes/search/+page.svelte @@ -0,0 +1 @@ +

Search

diff --git a/src/search/actions.ts b/src/search/actions.ts index 339a0a0..23026b1 100644 --- a/src/search/actions.ts +++ b/src/search/actions.ts @@ -1,10 +1,113 @@ +import type { RequestEvent } from '@sveltejs/kit'; +import { BOARD_GAME_ATLAS_CLIENT_ID } from '$env/static/private'; +import type { GameType, SearchQuery } from "$root/lib/types"; +import { mapAPIGameToBoredGame } from "$root/lib/util/gameMapper"; + interface Actions { [key: string]: any // Action } export const Games: Actions = { - search: async function search({ request, locals }): Promise { + search: async ({ request, locals }: RequestEvent): Promise => { + console.log("In search action specific") + // Do things in here + const form = await request.formData(); + console.log('form', form); + const queryParams: SearchQuery = { + order_by: 'rank', + ascending: false, + limit: 20, + client_id: BOARD_GAME_ATLAS_CLIENT_ID + }; + const id = form.get('id'); + const ids = form.get('ids'); + const minAge = form.get('minAge'); + const minPlayers = form.get('minPlayers'); + const maxPlayers = form.get('maxPlayers'); + const exactMinAge = form.get('exactMinAge') || false; + const exactMinPlayers = form.get('exactMinPlayers') || false; + const exactMaxPlayers = form.get('exactMaxPlayers') || false; + const random = form.get('random') === 'on' || false; + + if (minAge) { + if (exactMinAge) { + queryParams.min_age = +minAge; + } else { + queryParams.gt_min_age = +minAge === 1 ? 0 : +minAge - 1; + } + } + + if (minPlayers) { + if (exactMinPlayers) { + queryParams.min_players = +minPlayers; + } else { + queryParams.gt_min_players = +minPlayers === 1 ? 0 : +minPlayers - 1; + } + } + + if (maxPlayers) { + if (exactMaxPlayers) { + queryParams.max_players = +maxPlayers; + } else { + queryParams.lt_max_players = +maxPlayers + 1; + } + } + + if (id) { + queryParams.ids = new Array(`${id}`); + } + + if (ids) { + // TODO: Pass in ids array from localstorage / game store + queryParams.ids = new Array(ids); + } + + queryParams.random = random; + console.log('queryParams', queryParams); + + const newQueryParams: Record = {}; + for (const key in queryParams) { + newQueryParams[key] = `${queryParams[key as keyof typeof queryParams]}`; + } + + const urlQueryParams = new URLSearchParams(newQueryParams); + + const url = `https://api.boardgameatlas.com/api/search${urlQueryParams ? `?${urlQueryParams}` : '' + }`; + const response = await fetch(url, { + method: 'get', + headers: { + 'content-type': 'application/json' + } + }); + console.log('board game response', response); + if (response.status === 404) { + // user hasn't created a todo list. + // start with an empty array + return { + success: true, + games: [], + totalCount: 0 + }; + } + + if (response.status === 200) { + const gameResponse = await response.json(); + const gameList = gameResponse?.games; + const games: GameType[] = []; + gameList.forEach((game: GameType) => { + games.push(mapAPIGameToBoredGame(game)); + }); + console.log('games', games); + return { + success: true, + games, + totalCount: games.length + }; + } + + return { success: false }; } // create: async function create({ request, locals }): Promise { // const data = await getFormDataObject(request); From 036c821cb0b44696b8ffb3c72fa651b990c6dda1 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Wed, 5 Oct 2022 14:53:43 -0500 Subject: [PATCH 06/15] Search action and update deps. --- package.json | 8 +-- pnpm-lock.yaml | 94 +++++++++++++++---------------- src/routes/+page.svelte | 4 +- src/routes/search/+page.server.ts | 2 +- 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 21dc6d3..54f2135 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ "@sveltejs/adapter-auto": "1.0.0-next.72", "@sveltejs/kit": "1.0.0-next.480", "@types/cookie": "^0.5.1", - "@types/node": "^18.7.23", - "@typescript-eslint/eslint-plugin": "^5.38.1", - "@typescript-eslint/parser": "^5.38.1", + "@types/node": "^18.8.1", + "@typescript-eslint/eslint-plugin": "^5.39.0", + "@typescript-eslint/parser": "^5.39.0", "carbon-components-svelte": "^0.70.9", "carbon-icons-svelte": "^11.3.0", "eslint": "^8.24.0", @@ -40,7 +40,7 @@ }, "type": "module", "dependencies": { - "@fontsource/fira-mono": "^4.5.9", + "@fontsource/fira-mono": "^4.5.10", "@leveluptuts/svelte-side-menu": "^1.0.5", "@leveluptuts/svelte-toy": "^2.0.3", "@lukeed/uuid": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a1009ac..676cb89 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7 +1,7 @@ lockfileVersion: 5.4 specifiers: - '@fontsource/fira-mono': ^4.5.9 + '@fontsource/fira-mono': ^4.5.10 '@leveluptuts/svelte-side-menu': ^1.0.5 '@leveluptuts/svelte-toy': ^2.0.3 '@lukeed/uuid': ^2.0.0 @@ -12,9 +12,9 @@ specifiers: '@sveltejs/kit': 1.0.0-next.480 '@types/cookie': ^0.5.1 '@types/feather-icons': ^4.7.0 - '@types/node': ^18.7.23 - '@typescript-eslint/eslint-plugin': ^5.38.1 - '@typescript-eslint/parser': ^5.38.1 + '@types/node': ^18.8.1 + '@typescript-eslint/eslint-plugin': ^5.39.0 + '@typescript-eslint/parser': ^5.39.0 carbon-components-svelte: ^0.70.9 carbon-icons-svelte: ^11.3.0 cookie: ^0.5.0 @@ -35,7 +35,7 @@ specifiers: zod: ^3.19.1 dependencies: - '@fontsource/fira-mono': 4.5.9 + '@fontsource/fira-mono': 4.5.10 '@leveluptuts/svelte-side-menu': 1.0.5 '@leveluptuts/svelte-toy': 2.0.3 '@lukeed/uuid': 2.0.0 @@ -51,9 +51,9 @@ devDependencies: '@sveltejs/adapter-auto': 1.0.0-next.72 '@sveltejs/kit': 1.0.0-next.480_svelte@3.50.1+vite@3.1.4 '@types/cookie': 0.5.1 - '@types/node': 18.7.23 - '@typescript-eslint/eslint-plugin': 5.38.1_c7qepppml3d4ahu5cnfwqe6ltq - '@typescript-eslint/parser': 5.38.1_ypn2ylkkyfa5i233caldtndbqa + '@types/node': 18.8.1 + '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa carbon-components-svelte: 0.70.9 carbon-icons-svelte: 11.3.0 eslint: 8.24.0 @@ -111,8 +111,8 @@ packages: - supports-color dev: true - /@fontsource/fira-mono/4.5.9: - resolution: {integrity: sha512-DDhkRUjPHwPK/wB7GM/7LzGkcEC5JyTZM93YnFoP2Qfjffq3qX1asnXNqfglgZxXHXVmu3RI8OjRf87I97XCfA==} + /@fontsource/fira-mono/4.5.10: + resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==} dev: false /@humanwhocodes/config-array/0.10.5: @@ -225,7 +225,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 18.7.23 + '@types/node': 18.8.1 playwright-core: 1.26.1 dev: true @@ -358,8 +358,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.7.23: - resolution: {integrity: sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==} + /@types/node/18.8.1: + resolution: {integrity: sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==} dev: true /@types/pug/2.0.6: @@ -369,11 +369,11 @@ packages: /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.7.23 + '@types/node': 18.8.1 dev: true - /@typescript-eslint/eslint-plugin/5.38.1_c7qepppml3d4ahu5cnfwqe6ltq: - resolution: {integrity: sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==} + /@typescript-eslint/eslint-plugin/5.39.0_xyciw6oqjoiiono4dhv3uhn5my: + resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -383,10 +383,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.38.1_ypn2ylkkyfa5i233caldtndbqa - '@typescript-eslint/scope-manager': 5.38.1 - '@typescript-eslint/type-utils': 5.38.1_ypn2ylkkyfa5i233caldtndbqa - '@typescript-eslint/utils': 5.38.1_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/type-utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa debug: 4.3.4 eslint: 8.24.0 ignore: 5.2.0 @@ -398,8 +398,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.38.1_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==} + /@typescript-eslint/parser/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -408,9 +408,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.38.1 - '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/typescript-estree': 5.38.1_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 debug: 4.3.4 eslint: 8.24.0 typescript: 4.8.4 @@ -418,16 +418,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.38.1: - resolution: {integrity: sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==} + /@typescript-eslint/scope-manager/5.39.0: + resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/visitor-keys': 5.38.1 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 dev: true - /@typescript-eslint/type-utils/5.38.1_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==} + /@typescript-eslint/type-utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -436,8 +436,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.38.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.38.1_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa debug: 4.3.4 eslint: 8.24.0 tsutils: 3.21.0_typescript@4.8.4 @@ -446,13 +446,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.38.1: - resolution: {integrity: sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==} + /@typescript-eslint/types/5.39.0: + resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.38.1_typescript@4.8.4: - resolution: {integrity: sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==} + /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -460,8 +460,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/visitor-keys': 5.38.1 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -472,16 +472,16 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.38.1_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==} + /@typescript-eslint/utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} 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.38.1 - '@typescript-eslint/types': 5.38.1 - '@typescript-eslint/typescript-estree': 5.38.1_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 eslint: 8.24.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.24.0 @@ -490,11 +490,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.38.1: - resolution: {integrity: sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==} + /@typescript-eslint/visitor-keys/5.39.0: + resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.38.1 + '@typescript-eslint/types': 5.39.0 eslint-visitor-keys: 3.3.0 dev: true diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index f05471b..082abdc 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2,6 +2,7 @@ import { enhance, applyAction } from '$app/forms'; import type { PageData } from './$types'; import { ToastType, type GameType, type SavedGameType } from '$root/lib/types'; + import { toast } from '$root/lib/components/toast/toast'; import { gameStore } from '$lib/stores/gameSearchStore'; import { boredState } from '$root/lib/stores/boredState'; import RemoveCollectionDialog from '$root/lib/components/dialog/RemoveCollectionDialog.svelte'; @@ -10,7 +11,6 @@ import RandomSearch from '$lib/components/search/random/index.svelte'; import Random from '$lib/components/random/index.svelte'; import Pagination from '$lib/components/pagination/index.svelte'; - import { toast } from '$root/lib/components/toast/toast'; export let data: PageData; console.log('Formed data:', JSON.stringify(data)); @@ -91,7 +91,7 @@

{/if}