import React, { useState } from 'react' import { useMessage } from '@/hooks/useMessage' import { useForm } from 'react-hook-form' import { sessionStore } from '@/store/commonAtom' import { useRecoilValue, useRecoilState } from 'recoil' import { useAxios } from '@/hooks/useAxios' import { globalLocaleStore } from '@/store/localeAtom' import { useRouter } from 'next/navigation' export default function ChangePasswordPop() { const globalLocaleState = useRecoilValue(globalLocaleStore) const { patch } = useAxios(globalLocaleState) const { getMessage } = useMessage() const [sessionState, setSessionState] = useRecoilState(sessionStore) const router = useRouter() const formInitValue = { password1: '', password2: '', } const { register, setValue, getValues, handleSubmit, resetField, control, watch } = useForm({ defaultValues: formInitValue, }) const form = { register, setValue, getValues, handleSubmit, resetField, control, watch } //자리수체크 const checkLength = (pwd1) => { let str = new String(pwd1) let _byte = 0 if (str.length !== 0) { for (let i = 0; i < str.length; i++) { let str2 = str.charAt(i) if (encodeURIComponent(str2).length > 4) { _byte += 2 } else { _byte++ } } } return _byte } //공백제거 const checkValue = (e) => { let spaceChk = /\s/ if (spaceChk.exec(e.target.value)) { e.target.value = e.target.value.replace(/\s|/gi, '') return false } } //비밀번호 변경 const updateProcess = async () => { const _password1 = form.watch('password1') const _password2 = form.watch('password2') if (_password1 !== _password2) { alert(getMessage('main.popup.login.validate1')) return false } //패스워드 길이수 체크 if (checkLength(_password1) > 10) { return alert(getMessage('main.popup.login.validate2')) } const param = { loginId: sessionState.userId, chgType: 'I', chgPwd: _password1, } await patch({ url: '/api/login/v1.0/user/change-password', data: param }).then((res) => { if (res.result.code === 200) { if (res.result.resultCode === 'S') { alert(getMessage('main.popup.login.success')) setSessionState({ ...sessionState, pwdInitYn: 'Y' }) //메인으로 이동 router.push('/') } else { alert(res.result.resultMsg) } } else { console.log('error') } }) } return (

{getMessage('main.popup.login.popupTitle')}

{getMessage('main.popup.login.newPassword1')} *
{getMessage('main.popup.login.placeholder')}
{getMessage('main.popup.login.newPassword2')} *
{getMessage('main.popup.login.placeholder')}
{getMessage('main.popup.login.guide1')} {getMessage('main.popup.login.guide2')}
) }