diff --git a/package.json b/package.json index 11fafd7..fb1757c 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@playwright/test": "^1.37.0", "@sveltejs/adapter-auto": "^1.0.3", "@sveltejs/adapter-vercel": "^1.0.6", - "@sveltejs/kit": "^1.22.5", + "@sveltejs/kit": "^1.22.6", "@types/cookie": "^0.5.1", "@types/node": "^18.17.5", "@typescript-eslint/eslint-plugin": "^5.62.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b67ce0f..66f42b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -99,13 +99,13 @@ devDependencies: version: 1.37.0 '@sveltejs/adapter-auto': specifier: ^1.0.3 - version: 1.0.3(@sveltejs/kit@1.22.5) + version: 1.0.3(@sveltejs/kit@1.22.6) '@sveltejs/adapter-vercel': specifier: ^1.0.6 - version: 1.0.6(@sveltejs/kit@1.22.5) + version: 1.0.6(@sveltejs/kit@1.22.6) '@sveltejs/kit': - specifier: ^1.22.5 - version: 1.22.5(svelte@4.2.0)(vite@4.4.9) + specifier: ^1.22.6 + version: 1.22.6(svelte@4.2.0)(vite@4.4.9) '@types/cookie': specifier: ^0.5.1 version: 0.5.1 @@ -174,10 +174,10 @@ devDependencies: version: 2.0.1 sveltekit-flash-message: specifier: ^2.1.3 - version: 2.1.3(@sveltejs/kit@1.22.5)(svelte@4.2.0) + version: 2.1.3(@sveltejs/kit@1.22.6)(svelte@4.2.0) sveltekit-superforms: specifier: ^1.5.1 - version: 1.5.1(@sveltejs/kit@1.22.5)(svelte@4.2.0)(zod@3.21.4) + version: 1.5.1(@sveltejs/kit@1.22.6)(svelte@4.2.0)(zod@3.21.4) tailwindcss: specifier: ^3.3.3 version: 3.3.3(ts-node@10.9.1) @@ -1308,21 +1308,21 @@ packages: picomatch: 2.3.1 dev: true - /@sveltejs/adapter-auto@1.0.3(@sveltejs/kit@1.22.5): + /@sveltejs/adapter-auto@1.0.3(@sveltejs/kit@1.22.6): resolution: {integrity: sha512-hc7O12YQqvZ1CD4fo1gMJuPzBZvuoG5kwxb2RRoz4fVoB8B2vuPO2cY751Ln0G6T/HMrAf8kCqw6Pg+wbxcstw==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.5(svelte@4.2.0)(vite@4.4.9) + '@sveltejs/kit': 1.22.6(svelte@4.2.0)(vite@4.4.9) import-meta-resolve: 2.2.0 dev: true - /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.22.5): + /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.22.6): resolution: {integrity: sha512-fo6aaEygPd/6B5Jms4Ff7R4jbADnppuLvKOWBNTGe5MGB7ZRUkl+gxHWMQx2av2knyEZkA6V8y5M6R3ML5yN4g==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.5(svelte@4.2.0)(vite@4.4.9) + '@sveltejs/kit': 1.22.6(svelte@4.2.0)(vite@4.4.9) '@vercel/nft': 0.22.6 esbuild: 0.16.8 transitivePeerDependencies: @@ -1330,8 +1330,8 @@ packages: - supports-color dev: true - /@sveltejs/kit@1.22.5(svelte@4.2.0)(vite@4.4.9): - resolution: {integrity: sha512-LHq+ECucoT6c6/tkrxIQtD8KVNhPFV4QQ+xOKTwBAs/Qdtff8P5gAzsIZiwEaaO6J6sYZoy5RP2VR6m8PSCgLA==} + /@sveltejs/kit@1.22.6(svelte@4.2.0)(vite@4.4.9): + resolution: {integrity: sha512-SDKxI/QpsReCwIn5czjT53fKlPBybbmMk67d317gUqfeORroBAFN1Z6s/x0E1JYi+04i7kKllS+Sz9wVfmUkAQ==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -3992,24 +3992,24 @@ packages: magic-string: 0.30.0 periscopic: 3.1.0 - /sveltekit-flash-message@2.1.3(@sveltejs/kit@1.22.5)(svelte@4.2.0): + /sveltekit-flash-message@2.1.3(@sveltejs/kit@1.22.6)(svelte@4.2.0): resolution: {integrity: sha512-NFhQ3t2101AM9JO5Mgj38r69ykF4BOs1Ap3567DaM1RoAaNtXRXpAuEc/DQV78HZN/Fxzw8dxyTMdIC1HztUvA==} peerDependencies: '@sveltejs/kit': 1.x svelte: 3.x || 4.x dependencies: - '@sveltejs/kit': 1.22.5(svelte@4.2.0)(vite@4.4.9) + '@sveltejs/kit': 1.22.6(svelte@4.2.0)(vite@4.4.9) svelte: 4.2.0 dev: true - /sveltekit-superforms@1.5.1(@sveltejs/kit@1.22.5)(svelte@4.2.0)(zod@3.21.4): + /sveltekit-superforms@1.5.1(@sveltejs/kit@1.22.6)(svelte@4.2.0)(zod@3.21.4): resolution: {integrity: sha512-OqKzxuL1P29CFiK1CD00JRsvEsRPedvrR0qXmB4uqzXAIjOS+DpLjoEaa6Cnkd4H00fRa2161GcZNeEBue/D3A==} peerDependencies: '@sveltejs/kit': 1.x svelte: 3.x || 4.x zod: 3.x dependencies: - '@sveltejs/kit': 1.22.5(svelte@4.2.0)(vite@4.4.9) + '@sveltejs/kit': 1.22.6(svelte@4.2.0)(vite@4.4.9) svelte: 4.2.0 zod: 3.21.4 dev: true diff --git a/prisma/schema.prisma b/prisma/schema.prisma index a67265f..8a60fe1 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -90,13 +90,15 @@ model Collection { model CollectionItem { id String @id @default(cuid()) - collection_id String @unique + collection_id String collection Collection @relation(references: [id], fields: [collection_id], onDelete: Cascade) game_id String @unique game Game @relation(references: [id], fields: [game_id]) times_played Int @@index([game_id, collection_id]) + @@index([game_id]) + @@index([collection_id]) @@map("collection_items") } @@ -112,7 +114,7 @@ model Wishlist { model WishlistItem { id String @id @default(cuid()) - wishlist_id String @unique + wishlist_id String wishlist Wishlist @relation(references: [id], fields: [wishlist_id], onDelete: Cascade) game_id String @unique game Game @relation(references: [id], fields: [game_id]) @@ -120,6 +122,8 @@ model WishlistItem { updated_at DateTime @updatedAt @db.Timestamp(6) @@index([game_id, wishlist_id]) + @@index([game_id]) + @@index([wishlist_id]) @@map("wishlist_items") } @@ -136,7 +140,7 @@ model List { model ListItem { id String @id @default(cuid()) - list_id String @unique + list_id String list List @relation(references: [id], fields: [list_id], onDelete: Cascade) game_id String @unique game Game @relation(references: [id], fields: [game_id]) @@ -144,6 +148,8 @@ model ListItem { updated_at DateTime @updatedAt @db.Timestamp(6) @@index([game_id, list_id]) + @@index([game_id]) + @@index([list_id]) @@map("list_items") } diff --git a/src/lib/components/AddToList.svelte b/src/lib/components/AddToList.svelte index c01b8a9..c13568a 100644 --- a/src/lib/components/AddToList.svelte +++ b/src/lib/components/AddToList.svelte @@ -13,72 +13,74 @@ export let in_collection = false; export let lists = []; - const handleChange = ({ curr, next }) => { - console.log({ curr, next }); - return next; - } + // const handleChange = ({ curr, next }) => { + // console.log({ curr, next }); + // return next; + // } - const { - elements: { trigger, menu, option, label, group, groupLabel }, - states: { valueLabel, open }, - helpers: { isSelected }, - } = createSelect({ - forceVisible: true, - onValueChange: handleChange - }); + // const { + // elements: { trigger, menu, option, label, group, groupLabel }, + // states: { valueLabel, open }, + // helpers: { isSelected }, + // } = createSelect({ + // forceVisible: true, + // onValueChange: handleChange + // }); - console.log({ in_collection, in_wishlist }); + // console.log({ in_collection, in_wishlist }); - let options: Record = {}; - let list_of_lists = []; - if (!in_collection) { - options[collection.id] = 'Add to collection'; - } - if (!in_wishlist) { - options[wishlist.id] = 'Add to wishlist'; - } - lists.forEach((list) => { - if (!list?.in_list) { - options[list.id] = list.name; - } - }); + // let options: Record = {}; + // let list_of_lists = []; + // if (!in_collection) { + // options[collection.id] = 'Add to collection'; + // } + // if (!in_wishlist) { + // options[wishlist.id] = 'Add to wishlist'; + // } + // lists.forEach((list) => { + // if (!list?.in_list) { + // options[list.id] = list.name; + // } + // }); -{#if in_wishlist} -
- - -
-{:else} -
- - -
-{/if} +
+ {#if in_wishlist} +
+ + +
+ {:else} +
+ + +
+ {/if} -{#if in_collection} -
- - -
-{:else} -
- - -
-{/if} + {#if in_collection} +
+ + +
+ {:else} +
+ + +
+ {/if} +
-
+ -
- - - \ No newline at end of file + --> \ No newline at end of file