Skip to content

Commit a41ee93

Browse files
committed
pass user to typingCode comp and run action when user's done with the challange
1 parent 62dcc3a commit a41ee93

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/app/race/page.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import TypingCode from "@/components/typing/typingCode";
2+
import { getCurrentUser } from "@/lib/session";
23

34
export default async function Race() {
5+
const user = await getCurrentUser();
6+
7+
console.log(user);
48

59
return (
610
<>
711
<main className="flex min-h-screen flex-col items-center justify-between p-24">
8-
<TypingCode />
12+
<TypingCode user={user}/>
913
</main>
1014
</>
1115
);

src/components/typing/typingCode.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@
33
import { useState, useEffect } from "react";
44

55
import DisplayedCode from "./displayedCode";
6+
import type { User } from "next-auth";
7+
import { saveUserResult } from "@/app/_actions/result";
68

79
const code = `printf("hello world")`;
810

9-
export default function TypingCode() {
11+
interface TypingCodeProps {
12+
user?: User;
13+
}
14+
15+
export default function TypingCode({ user }: TypingCodeProps) {
1016
const [input, setInput] = useState("");
1117
const [startTime, setStartTime] = useState<Date | null>(null);
1218
const [endTime, setEndTime] = useState<Date | null>(null);
@@ -18,6 +24,8 @@ export default function TypingCode() {
1824
const timeTaken: number =
1925
(endTime.getTime() - startTime.getTime()) / 1000;
2026

27+
if (user) saveUserResult({ userId: user.id, timeTaken });
28+
2129
console.log("Time taken:", timeTaken);
2230
}
2331
}, [endTime, startTime]);

0 commit comments

Comments
 (0)