Skip to content
Snippets Groups Projects
Commit 822a4600 authored by 유 채린's avatar 유 채린
Browse files
parents a4f1d35c 138c7810
No related branches found
No related tags found
No related merge requests found
......@@ -215,7 +215,6 @@ const MySchedulerApp = ({ setCount }) => {
.then(response => response.json())
.then(data => {
const backendDataArray = data.schedules;
console.log("ghkrdls",data.schedules);
const processedDataArray = [];
for (const backendData of backendDataArray) {
const startDate = new Date(backendData.date);
......
......@@ -41,10 +41,8 @@ function CreateChannel({ isOpen, onClose }){
console.log(JSON.stringify(formData));
if (response.ok) {
// 성공적으로 모집글이 생성됨
alert('채널이 성공적으로 생성되었습니다.');
} else {
// 오류 처리
alert('채널 생성에 실패하였습니다.');
}
......
......@@ -62,6 +62,7 @@ const ExistingChannel=({isOpen, onClose, data,fetchCount, setfetchCount})=>{
console.log('Channel deleted successfully');
alert("채널이 성공적으로 삭제되었습니다.")
onClose();
} catch (error) {
console.error('Error deleting channel:', error.message);
......
......@@ -14,16 +14,10 @@ const MyChannelModal=({isOpen, onClose})=>{
openCreateModal();
onClose();
}
useEffect={
}
return(
<div>
<div className={`${modalStyles.channelModal} ${isOpen ? modalStyles.open : ''}`}>
<div className={modalStyles.channelModal_overlay}>
<div className={modalStyles.chModal}>
<p>채널이 존재하지 않습니다.</p>
......
import React, { useState ,useContext, useEffect} from 'react';
import editmodal_styles from './my_editModal.module.css';
import { AuthContext } from '../../App';
const MypageEdittModal=({ isOpen, closeModal, onSave, user})=> {
const MypageEdittModal=({ isOpen, closeModal, user})=> {
const [imagePath, setImage] = useState(null);
const [nickname, setNickname] = useState('');
const [statusMessage, setStatusMessage] = useState('');
......@@ -12,28 +12,75 @@ const MypageEdittModal=({ isOpen, closeModal, onSave, user})=> {
setImage(selectedImage);
};
const handleSave = () => {
const handleSave = async () => {
if (!isNicknameAvailable) {
alert('닉네임 중복 확인을 해주세요.');
return;
}
console.log('Updated Image:', imagePath);
setUserData((prevUserData) => {
const updatedUserData = {
...prevUserData,
try {
const updatedImagePath = await handleProfileUpdate({
imagePath,
nickname,
statusMessage,
});
setUserData((prevUserData) => ({
...prevUserData,
imagePath: updatedImagePath,
nickname,
statusMessage,
}));
closeModal();
setIsNicknameAvailable(false);
} catch (error) {
console.error('Error updating profile:', error.message);
}
};
const handleProfileUpdate = async ({ imagePath, nickname, statusMessage }) => {
try {
console.log('userData:', userData);
if (nickname === '') {
alert('닉네임을 입력해주세요.');
return;
} else if (statusMessage === '') {
alert('상태 메시지를 입력해주세요.');
return;
} else if (!imagePath) {
alert('이미지를 등록해주세요.');
return;
}
console.log('Updated UserData:', updatedUserData);
const data = {
nickname,
statusMessage,
};
const formData = new FormData();
formData.append('data', JSON.stringify(data));
formData.append('image', imagePath);
const response = await fetch('/api/mypage', {
method: 'PUT',
body: formData,
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(`프로필 수정 실패: ${errorData.message}`);
}
onSave({ imagePath, nickname, statusMessage });
const successData = await response.json();
console.log('successData', successData.imagePath);
setIsNicknameAvailable(false);
closeModal();
return successData.imagePath;
} catch (error) {
console.error(error.message);
throw error;
}
};
const handlecheckBtn = async ()=>{
try{
const response = await fetch(`/api/users/nickname/${nickname}`);
......
......@@ -4,8 +4,7 @@ import searchStyles from './search.module.css';
import CreateRecruit from './recruit/createRecruit';
import MyChannelModal from './channel/myChannelModal';
import ExistingChannel from './channel/existingChannel';
export const SearchContext = createContext();
function Search({ currentPage, onUrlGenerated, onFirstQueryString, onSecondQueryString }){
function Search({ currentPage, onUrlGenerated, onFirstQueryString, onSecondQueryString, fetchCount, setfetchCount }){
const [isModalOpen, setIsModalOpen] = useState(false);
const [ischannelOpen, setchannelModalOpen] = useState(false);
const [searchTerm, setSearchTerm] = useState('');
......@@ -13,11 +12,6 @@ function Search({ currentPage, onUrlGenerated, onFirstQueryString, onSecondQuery
const [sortType, setSortType] = useState('');
const [haveChannel, sethaveChannel]=useState(true);
const [myChannelData, setmyChannelData]=useState('');
const [fetchCount, setfetchCount] = useState(0);
const searchValue = {
fetchCount,
setfetchCount,
};
const navigate = useNavigate();
......@@ -54,9 +48,12 @@ function Search({ currentPage, onUrlGenerated, onFirstQueryString, onSecondQuery
}
else{
sethaveChannel(false);
openchannelModal();
}
} catch (error) {
console.error('Error fetching weekly schedules:', error);
sethaveChannel(false);
openchannelModal();
}
};
......
......@@ -17,7 +17,6 @@ const Mypage=()=>{
const [isProcessing, setProcessing] = useState(false);
const [isMywriting, setIsmyWriting]=useState(false);
const [channelList, setChannelList]=useState([]);
const openEditModal=()=>{
setIsEditModal(true);
}
......@@ -45,41 +44,6 @@ const Mypage=()=>{
const closeMywriting=()=>{
setIsmyWriting(false);
}
const handleProfileUpdate = async ({ image, nickname, statusMessage }) => {
try {
if(nickname === ''){
alert('닉네임을 입력해주세요.');
return;
} else if(statusMessage===''){
alert('상태 메시지를 입력해주세요.');
return;
}
const data={
"nickname":nickname,
"statusMessage":statusMessage
}
const formData = new FormData();
formData.append('data', JSON.stringify(data));
formData.append('image', image)
const response = await fetch('api/mypage', {
method: 'PUT',
body: formData,
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(`프로필 수정 실패: ${errorData.message}`);
}
const successData = await response.json();
console.log(successData);
} catch (error) {
console.error(error.message);
}
};
const handleChannelList=async()=>{
......@@ -184,7 +148,6 @@ const Mypage=()=>{
</div>
<MypageEdittModal isOpen={isEditModal}
closeModal={closeEditModal}
onSave={handleProfileUpdate}
user={userData} />
<MypageInfoModal isOpen={isInfoModal}
closeModal={closeInfoModal}/>
......
......@@ -60,7 +60,8 @@
.nickname{
font-size:30px;
color:black;
margin-top:-28%;
margin-top:-30%;
width:170px;
}
.message{
margin-top:5%;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment