Changeset 2730163 for frontend/src/pages/UserDetail.tsx
- Timestamp:
- 01/31/26 22:34:40 (5 months ago)
- Branches:
- main
- Children:
- d2af1a6
- Parents:
- 2b08bed
- File:
-
- 1 moved
-
frontend/src/pages/UserDetail.tsx (moved) (moved from frontend/src/pages/UserDetailView.tsx ) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/pages/UserDetail.tsx
r2b08bed r2730163 5 5 import ListenerView from "../components/userProfile/ListenerView"; 6 6 import UserListModal from "../components/userProfile/UserListModal"; 7 import { handleError } from "../utils/error"; 7 8 import type { 8 9 MusicalEntity, … … 43 44 try { 44 45 const response = await axiosInstance.post<UserProfile>( 45 `/users/ follow/${userId}`,46 `/users/${userId}/follow`, 46 47 ); 47 48 setUser(response.data); 48 49 } catch (err: any) { 49 console.error(err.response?.data?.error);50 setError(handleError(err)); 50 51 } finally { 51 52 setIsFollowing(false); … … 56 57 setIsLoadingModal(true); 57 58 try { 58 const response = await axiosInstance.get(`/users/ followers/${userId}`);59 const response = await axiosInstance.get(`/users/${userId}/followers`); 59 60 setModalUsers(response.data); 60 61 setModalTitle("Followers"); 61 62 setShowModal(true); 62 63 } catch (err) { 63 console.error("Failed to fetch followers");64 setError(handleError(err)); 64 65 } finally { 65 66 setIsLoadingModal(false); … … 69 70 setIsLoadingModal(true); 70 71 try { 71 const response = await axiosInstance.get(`/users/ following/${userId}`);72 const response = await axiosInstance.get(`/users/${userId}/following`); 72 73 setModalUsers(response.data); 73 74 setModalTitle("Following"); 74 75 setShowModal(true); 75 } catch (err ) {76 console.error("Failed to fetch following users");76 } catch (err: any) { 77 setError(handleError(err)); 77 78 } finally { 78 79 setIsLoadingModal(false); … … 82 83 const handleFollowInModal = async (targetId: number) => { 83 84 try { 84 await axiosInstance.post(`/users/ follow/${targetId}`);85 await axiosInstance.post(`/users/${targetId}/follow`); 85 86 setModalUsers((prevUsers) => 86 87 prevUsers.map((u) => { … … 96 97 ); 97 98 98 if (user && user.id === targetId) {99 const response = await axiosInstance.get(`/users/${targetId}`);100 setUser(response.data);101 }102 } catch (err ) {103 console.error("Failed to toggle follow in modal", err);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)); 104 105 } 105 106 }; … … 110 111 try { 111 112 const response = await axiosInstance.get(`/users/${userId}`); 112 console.log(response.data);113 113 setUser(response.data); 114 114 } catch (err: any) { 115 const errorMessage = 116 err.response?.data?.error || "Failed to fetch user"; 117 setError(errorMessage); 115 setError(handleError(err)); 118 116 } 119 117 }; … … 143 141 <button 144 142 onClick={() => navigate(-1)} 145 className="mb-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition-colors duration-200 "143 className="mb-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition-colors duration-200 cursor-pointer" 146 144 > 147 145 ← Back
Note:
See TracChangeset
for help on using the changeset viewer.
