Browse Source

fix token saving in localstorage and add request message

serg1557733 1 year ago
parent
commit
acce68919d

+ 0 - 6
backend/app.js

@@ -26,10 +26,6 @@ const PORT = process.env.PORT || 5000;
 const TOKEN_KEY = process.env.TOKEN_KEY || 'rGH4r@3DKOg06hgj'; 
 const HASH_KEY = 7;
 
-// //main test page
-// app.get('/', (req, res) => {
-//     res.send('here will be login page')
-// })
 
 const generateToken = (id, userName, isAdmin) => {
     const payload = {
@@ -89,8 +85,6 @@ app.post('/login', async (req, res) => {
         }
         res.json({
             token:  generateToken(dbUser.id, dbUser.userName, dbUser.isAdmin),
-            message: 'Login success!!!'
-
         })
 
     } catch (e) {

+ 2 - 9
frontend/src/components/loginForm/LoginForm.js

@@ -5,7 +5,6 @@ import Container from '@mui/material/Container';
 import Box from '@mui/material/Box';
 import { Modal } from '../modalMessage/Modal';
 import { useDispatch, useSelector } from 'react-redux';
-import { useEffect } from 'react';
 import  {setUserName, setUserPassword, getUserData} from '../../reducers/userDataReducer'
 
 export const LoginForm = () => {
@@ -13,15 +12,13 @@ export const LoginForm = () => {
     const dispatch = useDispatch();
     const userName = useSelector(state => state.userName);
     const password = useSelector(state => state.password);
-   console.log('logform', userName)
     return (
         <Container maxWidth="xs">
             <Box
                 component="form" 
                 onSubmit={(e) => {
                     e.preventDefault();
-                    console.log('submit', userName)
-                   dispatch(getUserData())
+                    dispatch(getUserData())
             }
                 }
                 sx={{
@@ -57,11 +54,7 @@ export const LoginForm = () => {
                             dispatch(setUserPassword({password: e.target.value}))
                         }
                 />
-                <Modal 
-                    //text={textModal}
-                    //propDisplay = {display}
-                
-                ></Modal>
+                <Modal/>
                 <Button 
                     type="submit"
                     variant="contained"

+ 7 - 2
frontend/src/components/modalMessage/Modal.js

@@ -1,9 +1,14 @@
 import Alert from '@mui/material/Alert';
+import { useSelector } from 'react-redux';
+
+
+export const Modal = () => {
+    
+    const text = useSelector(state=> state.userDataReducer.responseMessage)
 
-export const Modal = ({text, propDisplay}) => {
     return <Alert 
                 severity="error"
-                sx={{display: propDisplay}}
+                sx={{display: (text ? 'block':'none' )}}
             >
             {text}
             </Alert>

+ 10 - 3
frontend/src/reducers/userDataReducer.js

@@ -26,6 +26,7 @@ export const getUserData = createAsyncThunk(
                 const response =  sendForm(POST_URL, userData);
                 return response;
             }catch (err) {
+                console.log('err', err)
                 return err?.message
             }
         }
@@ -43,9 +44,15 @@ const getUserDataSlice = createSlice({
        builder
           .addCase(getUserData.fulfilled, (state, action) => {
             state.userLoadingStatus = 'fulfilled'
-            state.token = action.payload
-            localStorage.setItem('token', action.payload.token)
-            console.log('fulfilled',action.payload.token)
+            if(action.payload.token){
+                state.token = action.payload.token
+                localStorage.setItem('token', action.payload.token)
+            }
+            if(action.payload?.message){
+                state.responseMessage = action.payload.message
+                localStorage.setItem('token', action.payload.token)
+            }
+            console.log('fulfilled',action.payload, action.payload.message)
           })
            .addCase(getUserData.rejected, (state) => {
                state.userLoadingStatus = 'error';