diff options
author | lonkaars <l.leblansch@gmail.com> | 2021-03-11 18:21:10 +0100 |
---|---|---|
committer | lonkaars <l.leblansch@gmail.com> | 2021-03-11 18:21:10 +0100 |
commit | b34662346733ded378b31d8b1ba1e8b2953ec49a (patch) | |
tree | 94f39f81b5d86676beede5d5e0f48427aa3e746f /pages/user.tsx | |
parent | 21d7703c679c85929abea1ac01ef22a83ebf4404 (diff) |
can edit status now :tada:
Diffstat (limited to 'pages/user.tsx')
-rw-r--r-- | pages/user.tsx | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/pages/user.tsx b/pages/user.tsx index f190efd..1b6c2e3 100644 --- a/pages/user.tsx +++ b/pages/user.tsx @@ -16,6 +16,7 @@ import ArrowUpwardOutlinedIcon from '@material-ui/icons/ArrowUpwardOutlined'; import PeopleOutlineOutlinedIcon from '@material-ui/icons/PeopleOutlineOutlined'; import EditOutlinedIcon from '@material-ui/icons/EditOutlined'; import SettingsOutlinedIcon from '@material-ui/icons/SettingsOutlined'; +import DoneOutlinedIcon from '@material-ui/icons/DoneOutlined'; import { mdiAccountCancelOutline, mdiEqual, @@ -72,6 +73,8 @@ export default function AccountPage() { var [ownPage, setOwnPage] = useState(false); var [gameInfo, setGameInfo] = useState<userGames>(); + var [editingStatus, setEditingStatus] = useState(false); + useEffect(() => {(async() => { if (gotData) return; if (typeof window === "undefined") return; @@ -130,7 +133,10 @@ export default function AccountPage() { width: "calc(100% - 128px - 12px)" }}> <h2 style={{ fontSize: 32 }}>{user?.username}</h2> - <p style={{ marginTop: 6 }}>{user?.status}</p> + <p id="status" contentEditable={editingStatus ? "true" : "false"} style={{ + marginTop: 6, + transitionDuration: ".3s" + }}>{user?.status}</p> </div> <div style={{ position: "absolute", @@ -142,7 +148,25 @@ export default function AccountPage() { ownPage ? <div> <IconLabelButton icon={<SettingsOutlinedIcon/>} href="/settings" text="Instellingen"/> - <IconLabelButton icon={<EditOutlinedIcon/>} text="Status bewerken"/> + { + !editingStatus ? + <IconLabelButton + icon={<EditOutlinedIcon/>} + text="Status bewerken" + onclick={() => setEditingStatus(true)}/> : + <IconLabelButton + icon={<DoneOutlinedIcon/>} + text="Status opslaan" + onclick={() => { + setEditingStatus(false) + axios.request({ + method: "post", + url: `/api/user/updateStatus`, + headers: {"content-type": "application/json"}, + data: { "status": document.getElementById("status").innerText } + }); + }}/> + } </div> : <div> <IconLabelButton icon={<Icon size={1} path={mdiAccountCancelOutline}/>} text="Blokkeren"/> |