diff --git a/app/api/gweets/route.ts b/app/api/gweets/route.ts index 308e27a638acde75130849ad0c81e15b51c4834c..df7ee5c613ffc99b20a2c10504e926142ec4ebca 100644 --- a/app/api/gweets/route.ts +++ b/app/api/gweets/route.ts @@ -2,6 +2,7 @@ import { NextResponse } from "next/server" import { z } from "zod" import { db } from "@/lib/db" +import { MediaTypes } from "@prisma/client" import { utapi } from "uploadthing/server" /** @@ -264,7 +265,7 @@ export async function DELETE(request: Request) { }) if (checkMedia.length > 0) { - await utapi.deleteFiles(checkMedia.map((media) => media.key)) + await utapi.deleteFiles(checkMedia.map((media: { id: string; url: string; key: string; type: MediaTypes; gweetId: string }) => media.key)) } await db.gweet.delete({ diff --git a/app/api/users/favgameslist/route.ts b/app/api/users/favgameslist/route.ts index 67bd79f2c75a37bc649488a92df2e41cefd8d826..651dc0966e74a8a29b61e15a82f1de795a4cc14c 100644 --- a/app/api/users/favgameslist/route.ts +++ b/app/api/users/favgameslist/route.ts @@ -42,7 +42,7 @@ export async function PUT(req: NextRequest) { }, data: { favGameList: { - set: user?.favGameList.filter((id) => id !== data.gameId), + set: user?.favGameList.filter((id: number) => id !== data.gameId), } } }) diff --git a/components/profile/components/user-games.tsx b/components/profile/components/user-games.tsx index 38d425b3bd4c606a6fd845779fec6e65506ce8f6..33d683cde760809ba6e7c51ba40f3469dd52769e 100644 --- a/components/profile/components/user-games.tsx +++ b/components/profile/components/user-games.tsx @@ -1,13 +1,10 @@ import GameItem from "@/components/game-item" import { db } from "@/lib/db" import { getFavoriteGames } from "@/lib/igdb" -import { getCurrentUser } from "@/lib/session" import { IGame } from "@/types/igdb-types" import { redirect } from "next/navigation" export const UserGames = async ({ username }: { username: string }) => { - const user = await getCurrentUser() - const fullUser = await db.user.findFirst({ where: { username: username @@ -38,7 +35,7 @@ export const UserGames = async ({ username }: { username: string }) => { finishedGames = fetchedGames.filter(game => fullUser.finishedGameList.includes(game.id)) planningGames = fetchedGames.filter(game => fullUser.planningGameList.includes(game.id)) } - + console.log(favoritegames) // Old Implementation // if (fullUser?.favGameList?.length !== 0 && fullUser?.favGameList?.length != undefined) { // favoritegames = await getFavoriteGames(fullUser?.favGameList!) @@ -57,7 +54,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div className="p-3 space-y-12"> <div> <h1 className="text-2xl font-bold pb-3">Favorite Games</h1> - {favoritegames ? + {favoritegames && favoritegames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {favoritegames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -70,7 +67,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Currently playing</h1> - {playingGames ? + {playingGames && playingGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {playingGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -83,7 +80,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Planning to play</h1> - {planningGames ? + {planningGames && planningGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {planningGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -95,7 +92,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Finished Games</h1> - {finishedGames ? + {finishedGames && finishedGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {finishedGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> diff --git a/package-lock.json b/package-lock.json index 8ec129f2d7b036817b9259a544b8df23364f045d..6683de5f53111aed65e326d3a9aa29002e8abb5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@auth/prisma-adapter": "^1.0.1", "@hookform/resolvers": "^3.1.1", - "@prisma/client": "^4.16.2", + "@prisma/client": "^5.0.0", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-aspect-ratio": "^1.0.3", "@radix-ui/react-avatar": "^1.0.3", @@ -69,7 +69,7 @@ "jest": "^29.6.1", "jest-environment-jsdom": "^29.6.1", "postcss": "8.4.25", - "prisma": "^4.16.2", + "prisma": "^5.0.0", "tailwindcss": "3.3.2", "typescript": "^5.1.6" } @@ -1692,15 +1692,15 @@ } }, "node_modules/@prisma/client": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.16.2.tgz", - "integrity": "sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.0.0.tgz", + "integrity": "sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" + "@prisma/engines-version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" }, "engines": { - "node": ">=14.17" + "node": ">=16.13" }, "peerDependencies": { "prisma": "*" @@ -1712,16 +1712,16 @@ } }, "node_modules/@prisma/engines": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.16.2.tgz", - "integrity": "sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.0.0.tgz", + "integrity": "sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==", "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81.tgz", - "integrity": "sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==" + "version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz", + "integrity": "sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -9973,20 +9973,19 @@ } }, "node_modules/prisma": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.16.2.tgz", - "integrity": "sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.0.0.tgz", + "integrity": "sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==", "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "4.16.2" + "@prisma/engines": "5.0.0" }, "bin": { - "prisma": "build/index.js", - "prisma2": "build/index.js" + "prisma": "build/index.js" }, "engines": { - "node": ">=14.17" + "node": ">=16.13" } }, "node_modules/prismjs": { diff --git a/package.json b/package.json index a7d6156f05e4554475f4b1fa76a99f87791199af..d627ceef5c0d8f3baf951985aef26fd05918b37b 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "@auth/prisma-adapter": "^1.0.1", "@hookform/resolvers": "^3.1.1", - "@prisma/client": "^4.16.2", + "@prisma/client": "^5.0.0", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-aspect-ratio": "^1.0.3", "@radix-ui/react-avatar": "^1.0.3", @@ -74,7 +74,7 @@ "jest": "^29.6.1", "jest-environment-jsdom": "^29.6.1", "postcss": "8.4.25", - "prisma": "^4.16.2", + "prisma": "^5.0.0", "tailwindcss": "3.3.2", "typescript": "^5.1.6" },