diff --git a/client/src/app/game/[code]/page.tsx b/client/src/app/game/[code]/page.tsx
new file mode 100644
index 0000000..587166f
--- /dev/null
+++ b/client/src/app/game/[code]/page.tsx
@@ -0,0 +1,73 @@
+"use client";
+// all of this in a client component for now to easily handle socket events
+
+import { Chessboard } from "react-chessboard";
+import { IconCopy } from "@tabler/icons-react";
+import Image from "next/image";
+
+const pgn = "1. e4 e5 2. f3 Nf6 3. d4 exd4 4. Qxd4 Nxe4 5. Qxe4+ Qe7 6. Qxe7+ Bxe7";
+
+export default function Game() {
+ return (
+
+
+
+
+
+ Invite friends:
+
+
+ ches.su/game/123abc
+
+
+
+ {pgn
+ .split(/\d+\./)
+ .filter((move) => move.trim() !== "")
+ .map((moveSet, i) => {
+ const moves = moveSet.trim().split(" ");
+ return (
+
+
{i + 1}
+
{moves[0]}
+
{moves[1]}
+
+ );
+ })}
+
+
+
observer list
+
+
+ );
+}
diff --git a/client/src/app/game/page.tsx b/client/src/app/game/page.tsx
new file mode 100644
index 0000000..12560fb
--- /dev/null
+++ b/client/src/app/game/page.tsx
@@ -0,0 +1,5 @@
+import { redirect } from "next/navigation";
+
+export default function GameEmpty() {
+ redirect("/");
+}