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(
-
- - username: {user?.username}
-
- );
+ 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 (
<>