From ce2f3db35c6973c04ca120d5af48c3c4aa4509b7 Mon Sep 17 00:00:00 2001 From: bcjang Date: Mon, 12 May 2025 17:06:11 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=89=EB=84=A4=EC=9E=84=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=B2=98=EB=A6=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/Users.js | 2 +- .../DataManage/NicknameChangeModal.js | 101 +++++++----------- src/components/DataManage/UserDefaultInfo.js | 12 ++- src/i18n.js | 9 +- 4 files changed, 59 insertions(+), 65 deletions(-) diff --git a/src/apis/Users.js b/src/apis/Users.js index 39a11fc..b60d65f 100644 --- a/src/apis/Users.js +++ b/src/apis/Users.js @@ -42,7 +42,7 @@ export const UserChangeNickName = async (token, params) => { headers: { Authorization: `Bearer ${token}` }, }); - return res; + return res.data; } catch (e) { if (e instanceof Error) { throw new Error('UserChangeNickName Error', e); diff --git a/src/components/DataManage/NicknameChangeModal.js b/src/components/DataManage/NicknameChangeModal.js index f184e93..63b86db 100644 --- a/src/components/DataManage/NicknameChangeModal.js +++ b/src/components/DataManage/NicknameChangeModal.js @@ -2,16 +2,19 @@ import { styled } from 'styled-components'; import { useEffect, useState } from 'react'; import { Title } from '../../styles/Components'; -import { TextInput, BtnWrapper, ButtonClose, ModalText } from '../../styles/Components'; +import { TextInput, BtnWrapper } from '../../styles/Components'; import Button from '../../components/common/button/Button'; import Modal from '../../components/common/modal/Modal'; import { UserChangeNickName } from '../../apis'; +import { alertTypes } from '../../assets/data/types'; +import { useAlert } from '../../context/AlertProvider'; +import { useLoading } from '../../context/LoadingProvider'; const NicknameChangeModal = ({ pwPop, handleClick, dataList }) => { + const {showModal, showToast} = useAlert(); + const {withLoading} = useLoading(); + let nickName = dataList.char_info && dataList.char_info.character_name; - const [modifyModal, setModifyModal] = useState('hidden'); - const [completeModal, setCompleteModal] = useState('hidden'); - const [completeText, setCompleteText] = useState(''); const [resultData, setResultData] = useState({ guid: '', @@ -20,42 +23,42 @@ const NicknameChangeModal = ({ pwPop, handleClick, dataList }) => { }); useEffect(() => { - setResultData({ ...resultData, guid: dataList.user_info && dataList.user_info.aid, nickname: dataList.char_info && dataList.char_info.character_name }); + setResultData({ ...resultData, + guid: dataList.user_info && dataList.user_info.aid, + nickname: dataList.char_info && dataList.char_info.character_name + }); }, [dataList]); - // 수정 모달창 - const handleModifyModal = () => { - if (modifyModal === 'hidden') { - setModifyModal('view'); - } else { - setModifyModal('hidden'); + const handleSubmit = async (type, param = null) => { + switch (type) { + + case "nicknameChangeSubmit": + showModal('NICKNAME_CHANGES_CONFIRM', { + type: alertTypes.confirm, + onConfirm: () => handleSubmit('nicknameChange') + }); + break; + + case "nicknameChange": + const token = sessionStorage.getItem('token'); + + await withLoading(async () => { + return await UserChangeNickName(token, resultData); + }).then(data =>{ + console.log(data); + if(data.result === 'ERROR'){ + showToast(data.data.message, {type: alertTypes.error}); + }else{ + showToast('NICKNAME_CHANGES_COMPLETE', {type: alertTypes.success}); + } + }).catch(error => { + showToast(error, {type: alertTypes.error}); + }).finally(() => { + handleClick(); + }); + break; } - }; - - // 완료 모달창 - const handleCompleteModal = () => { - if (completeModal === 'hidden') { - setCompleteModal('view'); - } else { - setCompleteModal('hidden'); - - handleClick(); - completeText === '변경이 완료되었습니다.' && window.location.reload(); - } - }; - - // 수정 - const handleModifyNotice = async () => { - const token = sessionStorage.getItem('token'); - - const message = await UserChangeNickName(token, resultData); - - // console.log(message); - message.data.data.message !== '수정 하였습니다.' ? setCompleteText('변경 닉네임이 이미 존재합니다.\n다시 시도해주세요.') : setCompleteText('변경이 완료되었습니다.'); - - handleCompleteModal(); - handleModifyModal(); - }; + } return ( <> @@ -82,29 +85,7 @@ const NicknameChangeModal = ({ pwPop, handleClick, dataList }) => {