diff --git a/src/App.css b/src/App.css index a2937f1..b78ffd3 100644 --- a/src/App.css +++ b/src/App.css @@ -237,6 +237,7 @@ h3 { button, .button { + margin: 4px; font-weight: bold; font-size: large; color: aliceblue; @@ -395,11 +396,23 @@ button, .avatar { background-color: lightsteelblue; - padding: 2px 8px; + padding: 3px 8px; width: fit-content; - margin: auto; + border: 3px solid black; + margin: 0 auto 16px auto; } +.user-info { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2px 16px; + + div { + text-align: left; + } +} + + .networkroute { z-index: 3; position: absolute; diff --git a/src/Avatar.tsx b/src/Avatar.tsx index 0936106..dca33bd 100644 --- a/src/Avatar.tsx +++ b/src/Avatar.tsx @@ -1,11 +1,35 @@ import { createRef, MouseEventHandler, useEffect, useState } from "react"; import { useSession } from "./Session"; +import { User } from "./api"; interface ContextMenuItem { label: string; onClick: () => void; } +const UserInfo = (user: User) => { + return ( +
+
+ username: +
+
{user?.username}
+
+ display name: +
+
{user?.display_name}
+
+ number: +
+
{user?.number ? user?.number : "-"}
+
+ email: +
+
{user?.email ? user?.email : "-"}
+
+ ); +}; + export default function Avatar() { const { user, onLogout } = useSession(); const [contextMenu, setContextMenu] = useState<{ @@ -62,13 +86,11 @@ export default function Avatar() { function handleViewProfile() { handleMenuClose(); - setContextMenu({ ...contextMenu, allowOpen: false }); - dialogRef.current?.showModal(); - setDialog( - - ); + if (user) { + setContextMenu({ ...contextMenu, allowOpen: false }); + dialogRef.current?.showModal(); + setDialog(UserInfo(user)); + } } return ( diff --git a/src/Rankings.tsx b/src/Rankings.tsx index bc188d5..9b6bbc8 100644 --- a/src/Rankings.tsx +++ b/src/Rankings.tsx @@ -235,7 +235,7 @@ export default function Rankings() { setOpenTab(pageName); } - return user ? ( + return ( <>