import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import { getUser, updateUser } from "../api/user"; import Cookies from "js-cookie"; interface User { id: number; username: string; email: string; role: string; } const Profile = () => { const id = Cookies.get("user_id") const navigate = useNavigate(); if (!id) { navigate("/login") } const [user, setUser] = useState(null); const [editMode, setEditMode] = useState(false); const [formData, setFormData] = useState({ username: "", email: "" }); useEffect(() => { const fetchUser = async () => { try { const data = await getUser(Number(id)); setUser(data); setFormData({ username: data.username, email: data.email }); } catch (err) { console.error("Błąd podczas pobierania danych użytkownika:", err); navigate("/tasks"); } }; fetchUser(); }, [id]); const handleUpdate = async () => { try { const updated = await updateUser(Number(id), formData); setUser(updated); setEditMode(false); } catch (err) { console.error("Błąd podczas aktualizacji użytkownika:", err); } }; if (!user) return

Ładowanie...

; return (

👤 Twój profil

{editMode ? ( setFormData({ ...formData, username: e.target.value })} className="border p-2 rounded w-full" /> ) : (

{user.username}

)}
{editMode ? ( setFormData({ ...formData, email: e.target.value })} className="border p-2 rounded w-full" /> ) : (

{user.email}

)}

{user.role}

{editMode ? (
) : (
)}
); }; export default Profile;