diff --git a/frontend/src/components/FriendsList.jsx b/frontend/src/components/FriendsList.jsx index c922498..3e249ce 100644 --- a/frontend/src/components/FriendsList.jsx +++ b/frontend/src/components/FriendsList.jsx @@ -1,37 +1,10 @@ -import { Avatar, Flex, Image, Loader, NavLink, Text, Title } from '@mantine/core'; +import { Avatar, Flex, Loader, NavLink, Text, Title } from '@mantine/core'; import { Link } from 'react-router-dom'; -import React, { useEffect, useState } from 'react'; -import { getAuthToken, getUserData } from '../../utils/auth' +import { UserDataContext } from '../context/user-data-context'; +import React, { useContext } from 'react'; const FriendsList = () => { - const [friends, setFriends] = useState(null); - const user = getUserData(); - let { id:userid } = user; - useEffect(() => { - let response = null; - - const fetchData = async () => { - let url = `${import.meta.env.VITE_BACKEND_HOST}/api/user/${userid}/friends`; - try { - response = await fetch(url, { - headers: { - 'Authorization': `Bearer ${getAuthToken()}` - } - }); - const data = await response.json(); - if (data.success) { - setFriends(data.friends); - } else { - throw data.error; - } - } catch (error) { - console.error(error) - } - } - - fetchData(); - - }, []); + const { friends } = useContext(UserDataContext) if (!friends) { return ( @@ -43,7 +16,12 @@ const FriendsList = () => { Friends { - friends.map((friend, index) => } label={{friend.username}} />) + friends.length === 0 ? + + No friends + + : + friends.map((friend, index) => } label={{friend.username}} />) } ) diff --git a/frontend/src/context/user-data-context.jsx b/frontend/src/context/user-data-context.jsx index 7358627..0e3b28d 100644 --- a/frontend/src/context/user-data-context.jsx +++ b/frontend/src/context/user-data-context.jsx @@ -8,6 +8,7 @@ const UserDataContextProvider = ({ children }) => { const [isLoggedIn, setIsLoggedIn] = useState(JSON.parse(localStorage.getItem('loggedIn'))); const [user, setUser] = useState(null); const [errorMessage, setErrorMessage] = useState(""); + console.log(user) async function fetchUserDetails() { try { @@ -35,7 +36,7 @@ const UserDataContextProvider = ({ children }) => { }, []); return ( - + {children} )