Skip to content

Commit 1094663

Browse files
authored
Merge pull request #66 from SanjiJikFarm/refactor/#65-loginAPI
[Refactor/#65 login api] 로그인 API 수정
2 parents a73f07f + 0e1b820 commit 1094663

File tree

2 files changed

+29
-16
lines changed

2 files changed

+29
-16
lines changed
Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
import { create } from 'zustand';
2+
import { persist } from 'zustand/middleware';
23

3-
export const useAuthStore = create((set) => ({
4-
accessToken: null,
5-
refreshToken: null,
6-
username: null,
7-
profileImageKey: null,
4+
export const useAuthStore = create(
5+
persist(
6+
(set) => ({
7+
accessToken: null,
8+
refreshToken: null,
9+
username: null,
10+
profileImageKey: null,
811

9-
setTokens: (access, refresh) => set({ accessToken: access, refreshToken: refresh }),
12+
// 토큰 저장
13+
setTokens: (access, refresh) => set({ accessToken: access, refreshToken: refresh }),
14+
// 사용자 아이디 저장
15+
setUsername: (name) => set({ username: name }),
16+
// 프로필 이미지 키 저장
17+
setProfileImageKey: (key) => set({ profileImageKey: key }),
1018

11-
setUsername: (name) => set({ username: name }),
12-
13-
setProfileImageKey: (key) =>
14-
set((state) => {
15-
if (state.profileImageKey === key) return state;
16-
return { profileImageKey: key };
19+
// 로그아웃시 상태 초기화
20+
clear: () => set({ accessToken: null, refreshToken: null, username: null, profileImageKey: null }),
1721
}),
18-
19-
clear: () => set({ accessToken: null, refreshToken: null, username: null, profileImageKey: null }),
20-
}));
22+
{
23+
name: 'auth-storage',
24+
},
25+
),
26+
);

sanjijikfarm/src/pages/MyPage.jsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { useMemo, useRef, useState } from 'react';
22
import { useNavigate } from 'react-router-dom';
33

4+
import { logout } from '@/api/axios/auth';
45
import { useAuthStore } from '@/api/axios/store';
56
import { getPresignedUrl, saveUserProfileImage, updateUserProfileImage, uploadImageToS3 } from '@/api/profile/profile';
67
import ArrowIcon from '@/assets/icons/right-arrow.svg';
@@ -53,7 +54,7 @@ export default function MyPage() {
5354
];
5455

5556
return (
56-
<div className="flex flex-col items-center px-5 pt-10">
57+
<div className="relative flex flex-col items-center px-5 pt-10">
5758
<div className="flex w-full flex-col items-center border-b border-gray-200 pb-10">
5859
<div className="relative mb-3 h-16 w-16">
5960
{profileImageUrl ? (
@@ -94,6 +95,12 @@ export default function MyPage() {
9495
</button>
9596
))}
9697
</div>
98+
99+
<div className="text-body-2 text-gray-4 border-gray-3 absolute top-2 right-2 flex justify-end border-b font-semibold">
100+
<button className="cursor-pointer" onClick={logout}>
101+
로그아웃
102+
</button>
103+
</div>
97104
</div>
98105
);
99106
}

0 commit comments

Comments
 (0)