diff --git a/.gitignore b/.gitignore index a547bf3..b260b04 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ dist-ssr *.njsproj *.sln *.sw? +.env* \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 223f02b..12d3e6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@reduxjs/toolkit": "^2.6.0", "axios": "^1.8.1", "bootstrap": "^5.3.3", + "crypto-js": "^4.2.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-redux": "^9.2.0", @@ -1846,6 +1847,11 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", diff --git a/package.json b/package.json index 853b2f7..ff431fc 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@reduxjs/toolkit": "^2.6.0", "axios": "^1.8.1", "bootstrap": "^5.3.3", + "crypto-js": "^4.2.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-redux": "^9.2.0", diff --git a/src/App.jsx b/src/App.jsx index 98bca94..bdcd35e 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -12,14 +12,15 @@ function App() { const { user } = useSelector((state) => state.auth); useEffect(() => { - dispatch(login({id:111, username: 'test'})) - // handleCheckAuth(); + handleCheckAuth(); }, [dispatch]); const handleCheckAuth = async () => { console.log('app handleCheckAuth'); - await dispatch(checkAuthThunk()).unwrap(); - if (user) navigate('/'); + try { + await dispatch(checkAuthThunk()).unwrap(); + if (user) navigate('/'); + } catch (error) {} }; return ; diff --git a/src/icons/icons.js b/src/icons/icons.js index 1af3338..8aee1f3 100644 --- a/src/icons/icons.js +++ b/src/icons/icons.js @@ -14,6 +14,7 @@ export const icons = { p-id='2707' width='16' height='16' + fill='currentColor' > `, + 'stack-fill': ` + + `, + edit: ``, }; diff --git a/src/layouts/HeaderWithNav.jsx b/src/layouts/HeaderWithNav.jsx index 8052b73..8a290ba 100644 --- a/src/layouts/HeaderWithNav.jsx +++ b/src/layouts/HeaderWithNav.jsx @@ -1,21 +1,26 @@ import React from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { Link } from 'react-router-dom'; +import { Link, useNavigate } from 'react-router-dom'; import { logoutThunk } from '../store/auth/auth.thunk'; export default function HeaderWithNav() { const dispatch = useDispatch(); + const navigate = useNavigate(); const { user } = useSelector((state) => state.auth); - const handleLogout = () => { - dispatch(logoutThunk()); + const handleLogout = async () => { + try { + await dispatch(logoutThunk()).unwrap(); + sessionStorage.removeItem('token'); + navigate('/login'); + } catch (error) {} }; return (