Ignore:
Timestamp:
01/31/26 22:34:40 (5 months ago)
Author:
Dimitar Arsov <dimitararsov04@…>
Branches:
main
Children:
d2af1a6
Parents:
2b08bed
Message:

show songs in playlists/albums

File:
1 moved

Legend:

Unmodified
Added
Removed
  • frontend/src/pages/UserDetail.tsx

    r2b08bed r2730163  
    55import ListenerView from "../components/userProfile/ListenerView";
    66import UserListModal from "../components/userProfile/UserListModal";
     7import { handleError } from "../utils/error";
    78import type {
    89  MusicalEntity,
     
    4344    try {
    4445      const response = await axiosInstance.post<UserProfile>(
    45         `/users/follow/${userId}`,
     46        `/users/${userId}/follow`,
    4647      );
    4748      setUser(response.data);
    4849    } catch (err: any) {
    49       console.error(err.response?.data?.error);
     50      setError(handleError(err));
    5051    } finally {
    5152      setIsFollowing(false);
     
    5657    setIsLoadingModal(true);
    5758    try {
    58       const response = await axiosInstance.get(`/users/followers/${userId}`);
     59      const response = await axiosInstance.get(`/users/${userId}/followers`);
    5960      setModalUsers(response.data);
    6061      setModalTitle("Followers");
    6162      setShowModal(true);
    6263    } catch (err) {
    63       console.error("Failed to fetch followers");
     64      setError(handleError(err));
    6465    } finally {
    6566      setIsLoadingModal(false);
     
    6970    setIsLoadingModal(true);
    7071    try {
    71       const response = await axiosInstance.get(`/users/following/${userId}`);
     72      const response = await axiosInstance.get(`/users/${userId}/following`);
    7273      setModalUsers(response.data);
    7374      setModalTitle("Following");
    7475      setShowModal(true);
    75     } catch (err) {
    76       console.error("Failed to fetch following users");
     76    } catch (err: any) {
     77      setError(handleError(err));
    7778    } finally {
    7879      setIsLoadingModal(false);
     
    8283  const handleFollowInModal = async (targetId: number) => {
    8384    try {
    84       await axiosInstance.post(`/users/follow/${targetId}`);
     85      await axiosInstance.post(`/users/${targetId}/follow`);
    8586      setModalUsers((prevUsers) =>
    8687        prevUsers.map((u) => {
     
    9697      );
    9798
    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));
    104105    }
    105106  };
     
    110111      try {
    111112        const response = await axiosInstance.get(`/users/${userId}`);
    112         console.log(response.data);
    113113        setUser(response.data);
    114114      } catch (err: any) {
    115         const errorMessage =
    116           err.response?.data?.error || "Failed to fetch user";
    117         setError(errorMessage);
     115        setError(handleError(err));
    118116      }
    119117    };
     
    143141      <button
    144142        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"
    146144      >
    147145        ← Back
Note: See TracChangeset for help on using the changeset viewer.