import "./profile.css"; import "../components/bio.css"; import "./loginAndSignUpPage.css"; import "../styles/sizes.css"; import "../styles/fonts.css"; import QuiltedImageList from "../components/QuiltedImageList"; import { StyledEngineProvider, Divider } from "@mui/material"; import ChangeAvatarDialog from "../components/ChangeAvatarDialog"; import Bio from "../components/Bio"; import RotkehlchenButton from "../components/ButtonRotkehlchen"; import api from "../api/axios"; import { useAuth } from "../api/Auth"; import { useNavigate, useParams } from "react-router-dom"; import { useEffect, useState } from "react"; import { UserProfile } from "../types/UserProfile"; function Profile() { const { user } = useAuth(); const { username } = useParams(); const navigate = useNavigate(); const [userData, setUserData] = useState({ id: "", username: "", bio: "default", profilePictureUrl: null, followers: 0, following: 0, // posts: 0, }); const userProfile = async () => { try { const response = await api.get(`/profile/get/${username}`); setUserData(response.data.data); return } catch (error) { navigate("/", { replace: true }); /* replace to 404 page */ console.error("Error fetching user profile:", error); return null; } }; const ownAccount = username === user?.username; useEffect(() => { userProfile(); }, []); const setBio = (bio: string) => { setUserData((prevData) => { if (prevData) { return { ...prevData, bio: bio }; } return prevData; }); } return (
{/* TODO: Change data to data from Database */}
{userData?.following} Posts
{userData?.followers} Followers
{userData?.following} Following
{userData && }
); } export default Profile;