Select Git revision
Mypage.js 17.76 KiB
//마이페이지 구성
import React, { useEffect, useState } from 'react';
import { useNavigate } from 'react-router-dom';
import '../assets/Mypage.css';
const apiUrl = process.env.REACT_APP_API_URL;
const sportType = ["러닝", "클라이밍", "헬스"];
function Mypage() {
useEffect(() => {
document.body.style.backgroundColor = 'black';
document.body.style.color = 'white'; // 글자 색상 흰색으로 변경
}, []);
const token = localStorage.getItem('authToken');
const userID = localStorage.getItem('userID');
let navigate = useNavigate();
const handleNavClick = (crew) => {
if (crew && crew.crewID) {
navigate(`/CrewPage/${crew.crewID}`, { state: { crew, user } });
} else {
console.error('Crew ID is missing!');
}
}
const [isModalOpen, setIsModalOpen] = useState(false);
const [selectedEvent, setSelectedEvent] = useState(null);
const [crewpage, setCrewPage] = useState(1);
const [totalCrewPages, setTotalCrewPages] = useState(1);
const [eventpage, setEventPage] = useState(1);
const [totalEventPages, setTotalEventPages] = useState(1);
const [editMode, setEditMode] = useState(false);
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormState((prevState) => ({
...prevState,
[name]: value,
}));
};
const handleSave = async () => {
const password = prompt("비밀번호를 입력하세요:");
if (!password) {
alert("정보 수정을 위해선 비밀번호가 필요합니다.");
return;
}
const requestData = {
password: password,
profile: {
profileImage: formState.profileImage, // 기본 이미지 설정
regionID: formState.regionID, // 기본 값 설정 (필요 시)
job: formState.job,
birthDate: formState.birthDate,
experience: formState.experience,
introduction: formState.introduction,
sportTypeID: formState.sportTypeID,
},
};
try {
const response = await fetch(`${apiUrl}/api/users/${userID}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'X-AUTH-TOKEN': token,
},