import { useState, useEffect } from "react" import { User } from "../types" import { Link } from "react-router-dom" import axios from "axios" import TopBar from "../components/TopBar" import "../styles/EditProfile.css" export default function EditProfile() { const [token, setToken] = useState(""); const [user, setUser] = useState(); useEffect(() => { const localToken = localStorage.getItem("token"); if (localToken) { setToken(localToken) axios .post("/api/auth/me", { token: localToken }) .then((res) => { setUser(res.data); }); } }, []); function uploadPfp(e: React.FormEvent) { e.preventDefault(); const formData = new FormData(); const fileInput = document.getElementById("pfp") as HTMLInputElement; if (fileInput.files) { formData.append("pfp", fileInput.files[0]); } formData.append("token", token); axios .post("/api/auth/me/uploadpfp", formData, { headers: { "Content-Type": "multipart/form-data", }, }) .then(() => { window.location.reload(); }) .catch((err) => { console.error(err.response.data); }); } function deletePfp(e: React.FormEvent) { e.preventDefault(); axios .post("/api/auth/me/deletepfp", { token: token }) .then(() => { window.location.reload(); }) .catch((err) => { console.error(err.response.data); }); } function editUsername(e: React.FormEvent) { e.preventDefault(); const newUsername = (document.getElementById("username") as HTMLInputElement).value; axios .post("/api/auth/me/setusername", { token: token, username: newUsername }) .then(() => { window.location.reload(); }) .catch((err) => { console.error(err.response.data); }); } function editPassword(e: React.FormEvent) { e.preventDefault(); const oldPassword = (document.getElementById("old-password") as HTMLInputElement).value; const newPassword = (document.getElementById("password") as HTMLInputElement).value; const confirmPassword = (document.getElementById("confirm-password") as HTMLInputElement).value; if (newPassword !== confirmPassword) { alert("Passwords do not match"); return; } axios .post("/api/auth/me/setpassword", { token: token, oldPassword: oldPassword, password: newPassword }) .then(() => { window.location.reload(); }) .catch((err) => { console.error(err.response.data); }); } if (!user) { return (

Please log in to edit your profile

Login
) } return (

Edit Profile Picture

Edit Username

Edit Password

) }