From e9fe9410ac19f728287bec0ab39daf16f608ede2 Mon Sep 17 00:00:00 2001 From: "Siddhesh.More" Date: Tue, 11 Feb 2025 13:53:51 +0530 Subject: [PATCH] updaste dashboard --- src/App.tsx | 60 ++++-------- src/Layouts/DefaultLayout.tsx | 22 +++-- src/Pages/Dashboard/Dashboard.tsx | 12 ++- src/Pages/ManageCMS/AboutUs/AboutUs.tsx | 9 ++ src/Redux/Service/apiSlice.tsx | 3 +- src/Redux/Service/authSlice.tsx | 7 +- src/Redux/Service/manage.aboutus.service.ts | 101 ++++++++++++++++---- src/components/MainFrame.tsx | 8 +- src/index.css | 27 +++++- 9 files changed, 164 insertions(+), 85 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 5109343..b9302aa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,44 +1,24 @@ -import { useEffect, useState } from "react"; -import { Route, BrowserRouter as Router, Routes, Navigate } from "react-router-dom"; -import DefaultLayout from "./Layouts/DefaultLayout"; -import Login from "./Pages/Login"; -import { RouteLink } from "./Routes/Routes"; -import Cookies from "js-cookie"; +import { useContext } from 'react'; +import { Route, BrowserRouter as Router, Routes } from "react-router-dom"; +import GlobalStateContext from './Contexts/GlobalStateContext'; +import DefaultLayout from './Layouts/DefaultLayout'; +import Login from './Pages/Login'; +import { RouteLink } from './Routes/Routes'; -function App() { - const [token, setToken] = useState(null); +function App() { + const context = useContext(GlobalStateContext); + if (!context) throw new Error('App must be used within a GlobalStateProvider'); + const { isAuthenticate } = context; - useEffect(() => { - const savedToken = Cookies.get("token"); - console.log("Token from Cookies:", savedToken); - setToken(savedToken || null); - }, []); - - return ( - - - } /> - - - {RouteLink.map(({ path, Component }, index) => ( - } /> - ))} - } /> - - - ) : ( - - ) - } - /> - } /> - - - ); -} + return ( + + + } /> + {RouteLink.map(({ path, Component }, index) => (} />))}) : ()} /> + } /> + + + ); +} export default App; diff --git a/src/Layouts/DefaultLayout.tsx b/src/Layouts/DefaultLayout.tsx index b52e7d5..2e63eae 100644 --- a/src/Layouts/DefaultLayout.tsx +++ b/src/Layouts/DefaultLayout.tsx @@ -6,8 +6,12 @@ import { nav } from "../Routes/Nav"; import logo from '../assets/logo.svg'; import { AccordionItem, AccordionItemContent, AccordionItemTrigger, AccordionRoot } from "../components/ui/accordion"; import { Avatar } from "../components/ui/avatar"; +import { LuLogOut } from "react-icons/lu"; +import { logout, setToken } from "../Redux/Service/authSlice"; +import { useDispatch } from "react-redux"; const DefaultLayout: FC<{ children: React.ReactNode }> = ({ children }) => { + const dispatch = useDispatch() const navigate = useNavigate() const location = useLocation() @@ -15,25 +19,31 @@ const DefaultLayout: FC<{ children: React.ReactNode }> = ({ children }) => { return ( - + - + - + {nav?.map(({ title, path, Icon, type, children }, index) => type === 'single' ? {title} : - + navigate(path)} gap={0} style={{ cursor: 'pointer', borderRadius: '8px', padding: '5px', width: '100%', display: 'flex', alignItems: 'center', border: '1px solid #ffffff', backgroundColor:'#fff',color:'#000', fontSize: '14px', }}> {title} {children?.map(({ title, path, Icon }, index) => navigate(path)} style={{ marginTop: 6, cursor: 'pointer', borderRadius: '8px', padding: '6px', width: '100%', display: 'flex', alignItems: 'center', gap: 6, border: '1px solid #ffffff', backgroundColor:'#fff',color:'#919198' }} > {title})} )} + + + {dispatch(logout()), navigate('/login')}} className="link" style={{ cursor: 'pointer', borderRadius: '8px', padding: '6px', width: '100%', display: 'flex', alignItems: 'center', gap: 6, border: '1px solid #ffffff', backgroundColor:'#fff', color:'#000', boxShadow:'rgba(99, 99, 99, 0.2) 0px 2px 8px 0px'}} > Logout + - - + + + + navigate('/profile')} > diff --git a/src/Pages/Dashboard/Dashboard.tsx b/src/Pages/Dashboard/Dashboard.tsx index 056fa6c..10539a7 100644 --- a/src/Pages/Dashboard/Dashboard.tsx +++ b/src/Pages/Dashboard/Dashboard.tsx @@ -67,8 +67,8 @@ const Dashboard = () => { return ( - - + + Total Users @@ -117,6 +117,7 @@ const Dashboard = () => { @@ -140,13 +141,14 @@ const Dashboard = () => { w={"20%"} boxShadow={"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"} p={'10px'} + rounded={'lg'} > Number Of Groups created - - + + Faqs