leaky-ships/leaky-ships/pages/game.tsx

41 lines
1.2 KiB
TypeScript

import useGameState from "@lib/hooks/useGameState"
import { useRouter } from "next/router"
import React, { useEffect } from "react"
import { toast } from "react-toastify"
export default function Game() {
const { gameProps, session } = useGameState()
const router = useRouter()
useEffect(() => {
const gameId = gameProps.payload?.game?.id
const path = gameId ? "/game" : "/start"
toast.promise(router.push(path), {
pending: {
render: "Wird weitergeleitet...",
toastId: "redirect",
},
success: {
render: gameId
? "Spiel gefunden!"
: session?.user
? "Kein laufendes Spiel."
: "Kein laufendes Spiel. Bitte anmelden.",
toastId: session?.user ? "postRedirect" : "user",
theme: session?.user ? "dark" : undefined,
type: gameId ? "success" : "info",
},
error: {
render: "Es ist ein Fehler aufgetreten 🤯",
type: "error",
theme: "colored",
},
})
})
return (
<div className="h-full bg-theme">
<div className="mx-auto flex h-full max-w-screen-md flex-col items-center justify-evenly"></div>
</div>
)
}