import { CSSProperties, useState, useEffect } from 'react'; import axios from 'axios'; import { userInfo, userGameTotals, userGames } from '../api/api'; import { NavBar } from '../components/navbar'; import { CenteredPage, PageTitle } from '../components/page'; import { Vierkant, Button } from '../components/ui'; import { AccountAvatar } from '../components/account'; import RecentGames from '../components/recentGames'; import VideogameAssetIcon from '@material-ui/icons/VideogameAsset'; import ExtensionIcon from '@material-ui/icons/Extension'; import Icon from '@mdi/react'; import { mdiRobotExcited } from '@mdi/js'; var GameModeIconStyle: CSSProperties = { fontSize: 64, width: 64, height: 64, display: "inline-block", position: "absolute", top: 24, left: "50%", transform: "translateX(-50%)" } var GameModeTextStyle: CSSProperties = { whiteSpace: "nowrap", display: "inline-block", position: "absolute", bottom: 24, left: "50%", transform: "translateX(-50%)", userSelect: "none", fontWeight: 500 } var SquareSize: CSSProperties = { width: 90, height: 90 } var LoginOrRegisterBoxStyle: CSSProperties = { verticalAlign: "top", height: `calc(${SquareSize.height}px + 24px * 2)`, width: "100%", maxWidth: `calc(100% - ${SquareSize.width}px - 12px * 2 - 24px * 2)` } var InnerLoginOrRegisterBoxStyle: CSSProperties = { position: "relative", width: "100%", height: "100%" } function LoginOrRegisterBox() { return
Log in of maak een account aan om je scores op te slaan en toegang te krijgen tot meer functies
} function AccountBox(props: { info: userInfo; sumGameInfo: userGameTotals; }) { return

{props.info?.username}

Score: 400

{props.sumGameInfo?.win} W / {props.sumGameInfo?.lose} V / {props.sumGameInfo?.draw} G

} export default function HomePage() { var [gotData, setGotData] = useState(false); var [loggedIn, setLoggedIn] = useState(false); var [userInfo, setUserInfo] = useState(); var [gameInfo, setGameInfo] = useState(); useEffect(() => {( async () => { if (gotData) return; if (typeof window === "undefined") return; // return if run on server setLoggedIn(document.cookie.includes("token")); if (!loggedIn) return; // don't request user info if not logged in if (!userInfo) { var userInfoReq = await axios.request({ method: "get", url: `/api/user/info`, headers: {"content-type": "application/json"} }) setUserInfo(userInfoReq.data); } if (!gameInfo) { var userGamesReq = await axios.request({ method: "get", url: `/api/user/games`, headers: {"content-type": "application/json"} }) setGameInfo(userGamesReq.data); } setGotData(true); })()}) return
4 op een rij
Nieuw spel
{ false && Puzzels
} { false && Tegen computer
} { loggedIn ? : }
{ loggedIn && }

Nieuws ofzo

Chess.com heeft heel veel troep waar niemand naar kijkt

}