From a637ab23e7651f2be20de2924e0738fb72ab2305 Mon Sep 17 00:00:00 2001 From: Fayorg Date: Mon, 4 Dec 2023 10:23:31 +0100 Subject: [PATCH] feat: prisma fix --- app/api/grade/route.ts | 4 +--- app/play/page.tsx | 10 +++++++--- lib/prisma.ts | 15 +++++++++++++++ tsconfig.json | 1 + 4 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 lib/prisma.ts diff --git a/app/api/grade/route.ts b/app/api/grade/route.ts index 5ef9ca6..4f7b41d 100644 --- a/app/api/grade/route.ts +++ b/app/api/grade/route.ts @@ -1,8 +1,6 @@ import type { NextApiRequest, NextApiResponse } from 'next' -import { PrismaClient } from '@prisma/client' - -const prisma = new PrismaClient() +import prisma from '@lib/prisma'; interface IBody { key: string diff --git a/app/play/page.tsx b/app/play/page.tsx index 20eb301..fd3e553 100644 --- a/app/play/page.tsx +++ b/app/play/page.tsx @@ -7,17 +7,21 @@ export default function play() { const [grade, setGrade] = useState(0); const router = useRouter(); let voted; - let password: string | null; + const [password, setPassword] = useState(''); useEffect(() => { - password = localStorage.getItem('@password'); + const pass = localStorage.getItem('@password'); + setPassword(pass); voted = localStorage.getItem('@voted'); - if (!password) { + if (!pass) { router.push('/'); } }, []); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); + + console.log(grade, password); + const response = await fetch('/api/grade', { method: 'POST', headers: { diff --git a/lib/prisma.ts b/lib/prisma.ts new file mode 100644 index 0000000..77d6b4b --- /dev/null +++ b/lib/prisma.ts @@ -0,0 +1,15 @@ +import { PrismaClient } from '@prisma/client' + +const prismaClientSingleton = () => { + return new PrismaClient() +} + +declare global { + var prisma: undefined | ReturnType +} + +const prisma = globalThis.prisma ?? prismaClientSingleton() + +export default prisma + +if (process.env.NODE_ENV !== 'production') globalThis.prisma = prisma \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 08b0ec4..4052093 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,6 +21,7 @@ "paths": { "@/*": ["./*"], "@components/*": ["./components/*"], + "@lib/*": ["./lib/*"], } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],