aboutsummaryrefslogtreecommitdiff
path: root/pages/user.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'pages/user.tsx')
-rw-r--r--pages/user.tsx25
1 files changed, 19 insertions, 6 deletions
diff --git a/pages/user.tsx b/pages/user.tsx
index 71177d3..c7a78e6 100644
--- a/pages/user.tsx
+++ b/pages/user.tsx
@@ -1,4 +1,4 @@
-import { ReactNode, Children, useState, useEffect } from 'react';
+import { ReactNode, Children, useState, useEffect, useContext } from 'react';
import Icon from '@mdi/react';
import axios from 'axios';
@@ -8,6 +8,7 @@ import { Vierkant, IconLabelButton } from '../components/ui';
import { AccountAvatar } from '../components/account';
import { userInfo, userGames } from '../api/api';
import RecentGames from '../components/recentGames';
+import { ToastContext } from '../components/toast';
import PersonAddOutlinedIcon from '@material-ui/icons/PersonAddOutlined';
import AssignmentIndOutlinedIcon from '@material-ui/icons/AssignmentIndOutlined';
@@ -72,15 +73,19 @@ export default function AccountPage() {
var [user, setUser] = useState<userInfo>();
var [ownPage, setOwnPage] = useState(false);
var [gameInfo, setGameInfo] = useState<userGames>();
+ var [loggedIn, setLoggedIn] = useState(false);
var [editingStatus, setEditingStatus] = useState(false);
+ var { toast } = useContext(ToastContext);
+
useEffect(() => {(async() => {
if (gotData) return;
if (typeof window === "undefined") return;
var id = new URLSearchParams(window.location.search).get("id");
var loggedIn = document.cookie.includes("token");
+ setLoggedIn(loggedIn);
if (id || loggedIn) {
var self_id = "";
@@ -137,7 +142,7 @@ export default function AccountPage() {
<p id="status" contentEditable={editingStatus ? "true" : "false"} style={{
marginTop: 6,
transitionDuration: ".3s"
- }}>{user?.status}</p>
+ }} suppressContentEditableWarning={true}>{user?.status}</p>
</div>
<div style={{
position: "absolute",
@@ -145,7 +150,7 @@ export default function AccountPage() {
height: "40px",
bottom: 24, left: 24 + 12 + 128, right: 24
}}>
- {
+ { loggedIn && <div> {
ownPage ?
<div>
<IconLabelButton icon={<SettingsOutlinedIcon/>} href="/settings" text="Instellingen"/>
@@ -170,10 +175,18 @@ export default function AccountPage() {
}
</div> :
<div>
- <IconLabelButton icon={<Icon size={1} path={mdiAccountCancelOutline}/>} text="Blokkeren"/>
- <IconLabelButton icon={<PersonAddOutlinedIcon/>} text="Vriendschapsverzoek"/>
+ <IconLabelButton icon={<Icon size={1} path={mdiAccountCancelOutline}/>} text="Blokkeren" onclick={() => {
+ toast(`${user.username} geblokkeerd`,
+ "confirmation",
+ <Icon size={32 / 24} path={mdiAccountCancelOutline}/>)
+ }}/>
+ <IconLabelButton icon={<PersonAddOutlinedIcon/>} text="Vriendschapsverzoek" onclick={() => {
+ toast("Vriendschapsverzoek gestuurd",
+ "confirmation",
+ <PersonAddOutlinedIcon style={{ fontSize: 32 }}/>)
+ }}/>
</div>
- }
+ }</div>}
</div>
</Vierkant>
<InfoSection>