import { CSSProperties, useEffect, useState, ReactNode } from "react"; import axios from "axios"; import { LogoDark } from "../components/logo"; import { AccountAvatar } from "./account"; import { userInfo, gameInfo } from "../api/api"; import { Bubble, Vierkant, IconLabelButton } from './ui'; import Home from '@material-ui/icons/Home'; import VideogameAssetIcon from '@material-ui/icons/VideogameAsset'; import ExtensionIcon from '@material-ui/icons/Extension'; import SearchIcon from '@material-ui/icons/Search'; import SettingsIcon from '@material-ui/icons/Settings'; import PersonIcon from '@material-ui/icons/Person'; import NotificationsIcon from '@material-ui/icons/Notifications'; import DoneIcon from '@material-ui/icons/Done'; import CloseIcon from '@material-ui/icons/Close'; function NotificationsArea(props: { visible?: boolean; friendRequests?: Array; }) { return props.visible &&

Meldingen

{ /* here should be the game invites */ } { props.friendRequests?.map(user => ) }
} var FriendRequestButtonStyle: CSSProperties = { borderRadius: 6, display: "inline-block", marginLeft: 0, textAlign: "center" }; function Acceptable(props: { children?: ReactNode; onAccept?: () => void; onDeny?: () => void; }) { return
{props.children}
} text="Accepteren"/> } text="Verwijderen"/>
} function FriendRequest(props: { user: userInfo; }) { return
Vriendschapsverzoek {props.user.username}
} function GameInvite(props: { game: gameInfo; }) { return
Partijuitnodiging

{props.game.opponent?.username} wil een potje 4 op een rij spelen!

} var NavBarItemStyle: CSSProperties = { margin: 12, marginBottom: 16, display: "block" } export function NavBar() { var [ loggedIn, setLoggedIn ] = useState(false); var [ gotData, setGotData ] = useState(false); var [ friendRequests, setFriendRequests ] = useState>(null); var [ notificationsAreaVisible, setNotificationsAreaVisible ] = useState(false); var [ gotNotifications, setGotNotifications ] = useState(false); useEffect(() => {(async () => { if (gotData) return; if (typeof window === "undefined") return; var loggedIn = document.cookie.includes("token"); setLoggedIn(loggedIn); if (loggedIn) { var friendRequestsReq = await axios.request<{ requests: Array }>({ method: "get", url: `/api/social/list/requests` }); setFriendRequests(friendRequestsReq.data.requests); setGotNotifications(true); } setGotData(true); })()}); return
{ false && }
{ loggedIn &&
}