File tree Expand file tree Collapse file tree 3 files changed +8
-6
lines changed
Expand file tree Collapse file tree 3 files changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import { authApi } from '../../api/authApi';
66import { useDispatch , useSelector } from 'react-redux' ;
77import { login } from '../../store/slices/authSlice' ;
88import { useNavigate } from 'react-router-dom' ;
9-
9+ import { setRole } from '../../store/slices/sideBarItemSlice' ;
1010export default function Login ( ) {
1111 const isLoggedIn = useSelector ( ( state ) => state . auth . isLoggedIn ) ;
1212 const dispatch = useDispatch ( ) ;
@@ -35,6 +35,7 @@ export default function Login() {
3535 ...response . data . data ,
3636 accessToken : accessToken ,
3737 } ) ,
38+ setRole ( response . data . data ) ,
3839 ) ;
3940 navigate ( '/' , { replace : true } ) ;
4041 } catch ( error ) {
@@ -82,7 +83,6 @@ export default function Login() {
8283 title = "로그인"
8384 isEnable = { isLoginButtonEnable }
8485 > </ MainButton >
85-
8686 </ div >
8787 </ div >
8888 ) ;
Original file line number Diff line number Diff line change @@ -37,13 +37,11 @@ const authSlice = createSlice({
3737 phoneNumber : action . payload . phoneNumber || '' ,
3838 lastLoginDate : action . payload . lastLoginDate || '' ,
3939 } ;
40-
4140 } ,
4241 logout : ( state , action ) => {
4342 state . accessToken = '' ;
4443 state . isLoggedIn = false ;
4544 state . user = { ...initialState . user } ;
46-
4745 } ,
4846 } ,
4947} ) ;
Original file line number Diff line number Diff line change 11import { createSlice } from '@reduxjs/toolkit' ;
22import { login , logout } from './authSlice' ;
3+ import { jwtDecode } from 'jwt-decode' ;
34
45const initialState = {
5- nav : '출결 ' ,
6+ nav : '' ,
67 tab : 0 ,
78} ;
89
@@ -24,7 +25,10 @@ const sideBarItemSlice = createSlice({
2425 extraReducers : ( builder ) => {
2526 builder
2627 . addCase ( login , ( state , action ) => {
27- state . nav = action . payload . role === 'STUDENT' ? '출석' : '출결' ;
28+ const accessToken = action . payload . accessToken . replace ( 'Bearer ' , '' ) ;
29+ const decodedToken = jwtDecode ( accessToken ) ;
30+ const role = decodedToken . roles [ 0 ] ;
31+ state . nav = role === 'STUDENT' ? '출석' : '출결' ;
2832 } )
2933 . addCase ( logout , ( state ) => {
3034 state . nav = '' ;
You can’t perform that action at this time.
0 commit comments