From 8136e32d559efdeb13d10c9b46c06e073ae1b065 Mon Sep 17 00:00:00 2001 From: nyne Date: Mon, 23 Jun 2025 21:33:55 +0800 Subject: [PATCH] Encode usernames in API requests and navigation links to handle special characters. --- frontend/src/network/network.ts | 4 ++-- frontend/src/pages/activities_page.tsx | 6 +++-- frontend/src/pages/resource_details_page.tsx | 25 ++++++++++++-------- frontend/src/pages/user_page.tsx | 5 +++- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/frontend/src/network/network.ts b/frontend/src/network/network.ts index c685e36..b60ee8c 100644 --- a/frontend/src/network/network.ts +++ b/frontend/src/network/network.ts @@ -581,7 +581,7 @@ class Network { ): Promise> { try { const response = await axios.get( - `${this.apiBaseUrl}/resource/user/${username}`, + `${this.apiBaseUrl}/resource/user/${encodeURIComponent(username)}`, { params: { page, @@ -978,7 +978,7 @@ class Network { ): Promise> { try { const response = await axios.get( - `${this.apiBaseUrl}/comments/user/${username}`, + `${this.apiBaseUrl}/comments/user/${encodeURIComponent(username)}`, { params: { page }, }, diff --git a/frontend/src/pages/activities_page.tsx b/frontend/src/pages/activities_page.tsx index f7c24a2..80cce38 100644 --- a/frontend/src/pages/activities_page.tsx +++ b/frontend/src/pages/activities_page.tsx @@ -16,7 +16,7 @@ export default function ActivitiesPage() { const fetchNextPage = useCallback(async () => { if (isLoadingRef.current || pageRef.current >= maxPageRef.current) return; isLoadingRef.current = true; - const response = await network.getActivities(pageRef.current+1); + const response = await network.getActivities(pageRef.current + 1); if (response.success) { setActivities((prev) => [...prev, ...response.data!]); pageRef.current += 1; @@ -94,7 +94,9 @@ function ActivityCard({ activity }: { activity: Activity }) { } else if (activity.type === ActivityType.ResourceCommented) { content = (
-
{activity.comment?.content}
+
+ {activity.comment?.content} +
diff --git a/frontend/src/pages/resource_details_page.tsx b/frontend/src/pages/resource_details_page.tsx index 8ca68bc..62b004d 100644 --- a/frontend/src/pages/resource_details_page.tsx +++ b/frontend/src/pages/resource_details_page.tsx @@ -161,7 +161,7 @@ export default function ResourcePage() { })}