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) => (
+
))}
)}