diff --git a/web/src/components/Navigation.tsx b/web/src/components/Navigation.tsx index 27bc14ae..9924dbf2 100644 --- a/web/src/components/Navigation.tsx +++ b/web/src/components/Navigation.tsx @@ -132,7 +132,7 @@ const Navigation = (props: Props) => { classNames( - "px-2 py-2 rounded-2xl border flex flex-row items-center text-lg text-gray-800 dark:text-gray-300 hover:bg-white hover:border-gray-200 dark:hover:border-zinc-700 dark:hover:bg-zinc-800", + "px-2 py-2 rounded-2xl border flex flex-row items-center text-lg text-gray-800 dark:text-gray-400 hover:bg-white hover:border-gray-200 dark:hover:border-zinc-700 dark:hover:bg-zinc-800", collapsed ? "" : "w-full px-4", isActive ? "bg-white drop-shadow-sm dark:bg-zinc-800 border-gray-200 dark:border-zinc-700" : "border-transparent", ) @@ -149,7 +149,7 @@ const Navigation = (props: Props) => { ) : ( navLink.icon )} - {!props.collapsed && {navLink.title}} + {!props.collapsed && {navLink.title}} ))} diff --git a/web/src/components/UserBanner.tsx b/web/src/components/UserBanner.tsx index 3e4032fd..0ee925c6 100644 --- a/web/src/components/UserBanner.tsx +++ b/web/src/components/UserBanner.tsx @@ -31,12 +31,12 @@ const UserBanner = (props: Props) => {
- {!collapsed && {title}} + {!collapsed && {title}}
diff --git a/web/src/main.tsx b/web/src/main.tsx index 21e08e7f..242e4d4f 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -29,7 +29,7 @@ import theme from "./theme"; - + , ); diff --git a/web/src/pages/UserProfile.tsx b/web/src/pages/UserProfile.tsx index 73ec3941..687b9cb1 100644 --- a/web/src/pages/UserProfile.tsx +++ b/web/src/pages/UserProfile.tsx @@ -1,4 +1,5 @@ import { Button } from "@mui/joy"; +import copy from "copy-to-clipboard"; import { useEffect, useRef, useState } from "react"; import { toast } from "react-hot-toast"; import { useParams } from "react-router-dom"; @@ -85,6 +86,15 @@ const UserProfile = () => { nextPageTokenRef.current = data.nextPageToken; }; + const handleCopyProfileLink = () => { + if (!user) { + return; + } + + copy(`${window.location.origin}/u/${encodeURIComponent(user.username)}`); + toast.success(t("message.copied")); + }; + return (
@@ -92,17 +102,28 @@ const UserProfile = () => { {!loadingState.isLoading && (user ? ( <> -
+
+
-
- -
-

{user?.nickname}

+
+ +
+

+ {user.nickname || user.username} +

+

{user.description}