[TIL] 최종 프로젝트 3 주차_금요일

유진·2023년 2월 24일
0

TIL Today I Learned

목록 보기
82/116
post-thumbnail

2023.02.24.(금)

TIL Today I Learned
해당 깃허브


Good: 중간 발표는 오후 2시로 그 전에 기능 구현과 디자인을 밤을 새서 했다. 발표 마치고 팀원끼리 모여서 중간 발표 피드백 받아드리고 다음주에 할 일을 정했다. 완벽했다.

Bad: 아쉬운 점이 없다.


[ 최종 프로젝트 오류]
문제점1: 프로필 수정 모달 CSS에서 닉네임 변경 토글과 비밀번호 수정 토글이 칸에 따라 두개가 나뉘어져야하는데 같은 위치에 있다.
해결점1: position: absolute; 없앴다.


문제점2: 닉네임만 고치고 싶으면 닉네임 토글만 열어서 고치고 싶다. 하나라도 고쳐지지 않으면 회원정보 변경이 되지 않는다.
해결점2: else if를 계속하면 된다.

//수정 후 
  // 전체 프로필 수정을 완료하기
  const onSubmit = async (data: SaveForm) => {
    if (data.newPassword !== data.confirm) {
      alert('비밀번호가 일치하지 않습니다.');
      return;
    }
    const imgRef = ref(
      storageService,
      `${authService.currentUser?.uid}${uuidv4()}`
    );
    const imgDataUrl = localStorage.getItem('imgURL');
    let downloadUrl;
    if (imgDataUrl) {
      const response = await uploadString(imgRef, imgDataUrl, 'data_url');
      downloadUrl = await getDownloadURL(response.ref);
    }
    editUser = {
      ...editUser,
      userName: data.nickname,
      userImg: downloadUrl,
    };
    onUpdateUser(editUser, {
      onSuccess: () => {
        console.log('유저수정 요청 성공');
      },
      onError: () => {
        console.log('유저수정 요청 실패');
      },
    });

    if (nicknameToggle && !pwToggle) {
      await updateProfile(authService?.currentUser!, {
        displayName: data.nickname,
        photoURL: downloadUrl ?? '',
      })
        .then((res) => {
          editProfileModal();
          customAlert('프로필 수정 완료하였습니다!');
        })

        .catch((error) => {
          console.log(error);
        });
    } else if (!nicknameToggle && pwToggle) {
      await updateProfile(authService?.currentUser!, {
        photoURL: downloadUrl ?? '',
      }).catch((error) => {
        console.log(error);
      });
      await updatePassword(authService?.currentUser!, data.newPassword).then(
        (res) => {
          editProfileModal();
          customAlert('프로필 수정 완료하였습니다!');
        }
      );
    } else if (nicknameToggle && pwToggle) {
      await updateProfile(authService?.currentUser!, {
        displayName: data.nickname,
        photoURL: downloadUrl ?? '',
      }).catch((error) => {
        console.log(error);
      });
      await updatePassword(authService?.currentUser!, data.newPassword)
        .then((res) => {
          editProfileModal();
          customAlert('프로필 수정 완료하였습니다!');
        })
        .catch((error) => {
          console.log(error);
        });
    } else if (!nicknameToggle && !pwToggle) {
      await updateProfile(authService?.currentUser!, {
        photoURL: downloadUrl ?? '',
      })
        .then((res) => {
          editProfileModal();
          customAlert('프로필 수정 완료하였습니다!');
        })
        .catch((error) => {
          console.log(error);
        });
    }
  };


[ 17주 차 계획 ]

- 스파르타코딩클럽 계획

✔ 월: 최종 프로젝트

✔ 화: 최종 프로젝트

✔ 수: 최종 프로젝트

✔ 목: 최종 프로젝트

✔ 금: 중간 발표회

- 나의 계획

✔ 중간 발표로 밤을 새서 기능 구현과 디자인을 하였다.

□ 주말에 피드백 받은 거 정리하기

profile
긍정 🍋🌻

0개의 댓글