From 71988505925704b451349de40b52cdfb8f966ab7 Mon Sep 17 00:00:00 2001 From: Yume <2839681263@qq.com> Date: Sat, 16 Aug 2025 17:24:10 +0800 Subject: [PATCH 1/3] refactor(UI): add user display --- .../web/components/Setting/PersonalToken.tsx | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/moon/apps/web/components/Setting/PersonalToken.tsx b/moon/apps/web/components/Setting/PersonalToken.tsx index a5003e529..c476949d8 100644 --- a/moon/apps/web/components/Setting/PersonalToken.tsx +++ b/moon/apps/web/components/Setting/PersonalToken.tsx @@ -5,11 +5,24 @@ import {usePostTokenGenerate} from '@/hooks/usePostTokenGenerate' import {useDeleteTokenById} from '@/hooks/useDeleteTokenById' import {useQueryClient} from '@tanstack/react-query' import {legacyApiClient} from '@/utils/queryClient' -import {ListToken} from '@gitmono/types' +import {CurrentUser, ListToken} from '@gitmono/types' import toast from "react-hot-toast"; import HandleTime from "@/components/MrView/components/HandleTime"; +import {useGetCurrentUser} from "@/hooks/useGetCurrentUser"; -const TokenItem = ({item}: { item: ListToken }) => { +const UserCard = ({user}: {user: CurrentUser}) => { + return ( +
+ {user.display_name} + {user.username} +
+ ) +} + +const TokenItem = ({item, user}: { + item: ListToken + user: CurrentUser +}) => { const {mutate: deleteToken} = useDeleteTokenById() const queryClient = useQueryClient() const fetchTokenList = legacyApiClient.v1.getApiUserTokenList() @@ -21,6 +34,7 @@ const TokenItem = ({item}: { item: ListToken }) => {

Token #{item.id}

{item.token}

+

@@ -53,6 +67,7 @@ const PersonalToken = () => { const [generated, setGenerated] = useState(null) const [copied, setCopied] = useState(false) + const { data: currentUser, isLoading: isUserLoading } = useGetCurrentUser() const handleGenerate = () => { generateToken(undefined, { @@ -65,16 +80,18 @@ const PersonalToken = () => { const handleCopy = async () => { if (!generated) return + const copyText = `${generated}\n\n@${currentUser?.username}` + if (navigator.clipboard) { await navigator.clipboard - .writeText(generated) + .writeText(copyText) .then(() => toast.success("Copied to clipboard")) .catch(() => toast.error("Copied failed")) } else { const textArea = document .createElement('textarea') - textArea.value = generated + textArea.value = copyText document.body.appendChild(textArea) textArea.select() try { @@ -127,14 +144,14 @@ const PersonalToken = () => {

Tokens

- {isLoading ? ( + {(isLoading && isUserLoading) ? (
) : (
{tokenList.map((item) => ( - + ))}
)} From 1182a9a6fa4d2b8a0f3e14e2379460358d49bfed Mon Sep 17 00:00:00 2001 From: Yume <2839681263@qq.com> Date: Sat, 16 Aug 2025 17:25:08 +0800 Subject: [PATCH 2/3] refactor(UI): add margin to LabelItem --- moon/apps/web/components/MrView/LabelItem.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/moon/apps/web/components/MrView/LabelItem.tsx b/moon/apps/web/components/MrView/LabelItem.tsx index 076dd3a7f..02446f677 100644 --- a/moon/apps/web/components/MrView/LabelItem.tsx +++ b/moon/apps/web/components/MrView/LabelItem.tsx @@ -85,6 +85,7 @@ function LabelItem({conv}: LabelItemProps) { justifyContent: 'center', textAlign: 'center' }} + className="mr-1" > {label.name} From 6489fb18524bb1ef36c106860c8e4c4cdba8d8cc Mon Sep 17 00:00:00 2001 From: Yume <2839681263@qq.com> Date: Sun, 17 Aug 2025 09:16:22 +0800 Subject: [PATCH 3/3] fix(UI): fix identify logical errors --- moon/apps/web/components/Setting/PersonalToken.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/moon/apps/web/components/Setting/PersonalToken.tsx b/moon/apps/web/components/Setting/PersonalToken.tsx index c476949d8..3f4800261 100644 --- a/moon/apps/web/components/Setting/PersonalToken.tsx +++ b/moon/apps/web/components/Setting/PersonalToken.tsx @@ -144,14 +144,14 @@ const PersonalToken = () => {

Tokens

- {(isLoading && isUserLoading) ? ( + {(isLoading || isUserLoading) ? (
) : (
- {tokenList.map((item) => ( - + {currentUser && tokenList.map((item) => ( + ))}
)}