Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 로그아웃 타이머 및 로그아웃 관련 버그 수정 #223

Merged
merged 5 commits into from
Oct 18, 2024

Conversation

hakyoung12
Copy link
Contributor

✏️ 작업 내용

  • 로그아웃 타이머 로직 수정
  • 로그아웃 시 gatherings 페이지로 이동하는 코드 제거

📷 스크린샷

마이페이지에서 로그아웃

Oct-18-2024.14-44-15.mov

마이페이지 이외의 페이지에서 로그아웃

Oct-18-2024.14-45-04.mov

🎸 기타

route 함수때문에 로그아웃함수에서 버그를 일으켜서 없애버렸습니다.

close #203

@hakyoung12 hakyoung12 added the ⚒️ Fix 버그 수정 label Oct 18, 2024
@hakyoung12 hakyoung12 self-assigned this Oct 18, 2024
Comment on lines +19 to +27
const expirationTime = getTokenExpirationTime(token); // 만료 시간
const updateRemainingTime = () => {
const currentTime = Date.now(); // 현재 시간
const remainingTime = Math.max(0, expirationTime - currentTime); // 남은 시간 계산
setTimeLeft(Math.floor(remainingTime / 1000)); // 초 단위로 상태 업데이트

if (remainingTime <= 0) {
logout(); // 시간이 다되면 로그아웃
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setInterval을 통해서 만료시간에서 1초씩 빼는 로직에서 만료시간에서 현재시간을 빼는 로직으로 바꿨습니다.

Copy link
Contributor

@yunchaeney yunchaeney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 👍

Copy link
Contributor

@BeMatthewsong BeMatthewsong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠른 조치 감사합니다!

@@ -43,7 +41,6 @@ const UserStatus = ({ user, token }: UserStatusProps) => {
if (result) {
toast.success('로그아웃이 완료되었습니다.');
deleteCookie('token');
router.push('/gatherings');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3) 이게 어떤 면에서 문제가 되었을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deleteCookie('token');가 실행되기 전에 종종 router.push('/gatherings');가 먼저 실행되어서 쿠키가 삭제되지 않았던 문제로 생각합니다.
then 체이닝으로 묶기엔 마이페이지의 토큰검사 로직도 있고 다른 버그를 일으킬 것 같아서 뺐습니다.

Copy link
Contributor

@HMRyu HMRyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

로그아웃이 될 때도 있고 안 될 때도 있었는데
잘 해결된 것 같아서 다행이네요! 👍

고생 많으셨습니다...!

질문 하나만 답변 부탁드릴게요!

Comment on lines 20 to 21
const dropDownRef = useRef<HTMLDivElement>(null);
const router = useRouter();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P4) 혹시 그럼 router 를 빼면 이동은 어떤 식으로 하게 되는지 궁금합니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마이페이지에서는 레이아웃의 토큰검사로직에 걸려서 gatherings 페이지로 이동되고
이외의 사이트에서는 페이지 이동없이 gnb바만 바뀝니다!

@hakyoung12 hakyoung12 merged commit 8786a13 into develop Oct 18, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚒️ Fix 버그 수정
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix: 로그아웃 타이머 버그 수정
4 participants