Changeset d2af1a6 for frontend/src/pages/UserDetail.tsx
- Timestamp:
- 02/01/26 17:29:49 (5 months ago)
- Branches:
- main
- Children:
- 0792d02
- Parents:
- 2730163
- File:
-
- 1 edited
-
frontend/src/pages/UserDetail.tsx (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/pages/UserDetail.tsx
r2730163 rd2af1a6 13 13 } from "../utils/types"; 14 14 15 interface FollowStatus { 16 isFollowing: boolean; 17 followerCount: number; 18 followingCount: number; 19 } 20 15 21 interface Artist extends BaseNonAdminUser { 16 22 userType: "ARTIST"; … … 43 49 setIsFollowing(true); 44 50 try { 45 const response = await axiosInstance.post< UserProfile>(51 const response = await axiosInstance.post<FollowStatus>( 46 52 `/users/${userId}/follow`, 47 53 ); 48 setUser(response.data); 54 setUser((prev) => { 55 if (!prev) return null; 56 return { 57 ...prev, 58 isFollowedByCurrentUser: response.data.isFollowing, 59 followers: response.data.followerCount, 60 following: response.data.followingCount, 61 }; 62 }); 49 63 } catch (err: any) { 50 64 setError(handleError(err)); 51 65 } finally { 52 66 setIsFollowing(false); 67 } 68 }; 69 70 const handleFollowInModal = async (targetId: number) => { 71 try { 72 const response = await axiosInstance.post<FollowStatus>( 73 `/users/${targetId}/follow`, 74 ); 75 76 setModalUsers((prevUsers) => 77 prevUsers.map((u) => 78 u.id === targetId 79 ? { ...u, isFollowedByCurrentUser: response.data.isFollowing } 80 : u, 81 ), 82 ); 83 84 // if (user && user.id === targetId) { 85 // setUser((prev) => { 86 // if (!prev) return null; 87 // return { 88 // ...prev, 89 // isFollowedByCurrentUser: response.data.isFollowing, 90 // followers: response.data.followerCount, 91 // }; 92 // }); 93 // } 94 } catch (err: any) { 95 setError(handleError(err)); 53 96 } 54 97 }; … … 81 124 }; 82 125 83 const handleFollowInModal = async (targetId: number) => {84 try {85 await axiosInstance.post(`/users/${targetId}/follow`);86 setModalUsers((prevUsers) =>87 prevUsers.map((u) => {88 if (u.id === targetId) {89 const isNowFollowing = !u.isFollowedByCurrentUser;90 return {91 ...u,92 isFollowedByCurrentUser: isNowFollowing,93 };94 }95 return u;96 }),97 );98 99 // if (user && user.id === targetId) {100 // const response = await axiosInstance.get(`/users/${targetId}`);101 // setUser(response.data);102 // }103 } catch (err: any) {104 setError(handleError(err));105 }106 };107 108 126 useEffect(() => { 109 127 const fetchUser = async () => { … … 111 129 try { 112 130 const response = await axiosInstance.get(`/users/${userId}`); 131 console.log(response.data); 113 132 setUser(response.data); 114 133 } catch (err: any) {
Note:
See TracChangeset
for help on using the changeset viewer.
