Skip to content
Snippets Groups Projects
Select Git revision
  • 65b03b401c1ad7838fcaff2fb81ed76ddbe88089
  • main default protected
  • issue-28
3 results

Mypage.js

Blame
  • 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,
                    },