diff --git a/src/App.js b/src/App.js index 68d567f..4060eb1 100644 --- a/src/App.js +++ b/src/App.js @@ -9,6 +9,8 @@ import Notistack from 'components/third-party/Notistack'; import { useNavigate } from 'react-router'; import { useEffect } from 'react'; import InternetStatus from 'components/nearle_components/updateNetworkStatus'; +import { useDispatch, useSelector } from 'react-redux'; + // auth-provider // import { JWTProvider as AuthProvider } from 'contexts/JWTContext'; @@ -21,6 +23,9 @@ const App = () => { navigate('/login'); } }, []); + const { openItem } = useSelector((state) => state.menu); + console.log('openItem', openItem); + return ( <> diff --git a/src/components/nearle_components/DateFilterDialog.js b/src/components/nearle_components/DateFilterDialog.js index c1fd795..1f8a105 100644 --- a/src/components/nearle_components/DateFilterDialog.js +++ b/src/components/nearle_components/DateFilterDialog.js @@ -19,18 +19,16 @@ export default function DateFilterDialog({ open, onClose, onApply }) { const handleSelect = (range) => { if (!range?.startDate || !range?.endDate) return; - onApply({ startDate: dayjs(range.startDate).format('YYYY-MM-DD'), endDate: dayjs(range.endDate).format('YYYY-MM-DD'), label: range.label || '' }); - onClose(); }; return ( - + onclose()} fullWidth maxWidth="sm"> Select Date Range diff --git a/src/components/nearle_components/OpenToast.js b/src/components/nearle_components/OpenToast.js new file mode 100644 index 0000000..1ed0e41 --- /dev/null +++ b/src/components/nearle_components/OpenToast.js @@ -0,0 +1,9 @@ +import { enqueueSnackbar } from 'notistack'; + +export const OpenToast = (message, variant = 'default', time = 2000) => { + enqueueSnackbar(message, { + variant, + anchorOrigin: { vertical: 'top', horizontal: 'right' }, + autoHideDuration: time + }); +}; diff --git a/src/components/nearle_components/SearchBar.js b/src/components/nearle_components/SearchBar.js index a62702e..c06a6f9 100644 --- a/src/components/nearle_components/SearchBar.js +++ b/src/components/nearle_components/SearchBar.js @@ -41,7 +41,7 @@ const SearchBar = ({ value, onChange, sx, placeholder = 'Search (Ctrl + K)' }) = autoComplete="off" size="large" startAdornment={ - + } diff --git a/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js b/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js index f1d4ac0..4abb22b 100644 --- a/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js +++ b/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import React, { useEffect, useState, useMemo, useRef } from 'react'; +import React, { useEffect, useState, useMemo } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; // material-ui @@ -45,8 +45,7 @@ const PopperStyled = styled(Popper)(({ theme }) => ({ left: -5, width: 10, height: 10, - // backgroundColor: theme.palette.background.paper, - backgroundColor: theme.palette.primary.main, + backgroundColor: theme.palette.background.paper, transform: 'translateY(-50%) rotate(45deg)', zIndex: 120, borderLeft: `1px solid ${theme.palette.grey.A800}`, @@ -117,7 +116,7 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s } } else { if (level === selectedLevel) { - // setOpen(false); + setOpen(false); if (!miniMenuOpened && !drawerOpen && !selected) { setSelected(null); } @@ -147,7 +146,7 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s }; useEffect(() => { - // setOpen(false); + setOpen(false); if (!miniMenuOpened) { setSelected(null); } @@ -211,23 +210,10 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s const isSelected = selected === menu.id; const borderIcon = level === 1 ? : false; const Icon = menu.icon; - const menuIcon = menu.icon ? ( - - ) : ( - borderIcon - ); - // const textColor = theme.palette.mode === ThemeMode.DARK ? 'grey.400' : 'text.primary'; - // const iconSelectedColor = theme.palette.mode === ThemeMode.DARK && drawerOpen ? theme.palette.text.primary : theme.palette.primary.main; + const menuIcon = menu.icon ? : borderIcon; + const iconSelectedColor = theme.palette.mode === ThemeMode.DARK && drawerOpen ? theme.palette.text.primary : theme.palette.primary.main; const popperId = miniMenuOpened ? `collapse-pop-${menu.id}` : undefined; const FlexBox = { display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%' }; - const textColor = 'white'; - const iconSelectedColor = 'white'; - // const isSelected = true; return ( <> @@ -237,19 +223,13 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s disableRipple selected={selected === menu.id} {...(!drawerOpen && { onMouseEnter: handleClick, onMouseLeave: handleClose })} - onClick={() => { - handleClick(); - if (open == true) { - setOpen(false); - } - }} + onClick={handleClick} sx={{ pl: drawerOpen ? `${level * 28}px` : 1.5, py: !drawerOpen && level === 1 ? 1.25 : 1, ...(drawerOpen && { '&:hover': { - // bgcolor: theme.palette.mode === ThemeMode.DARK ? 'divider' : 'primary.lighter', - bgcolor: '#7b1fa2' + bgcolor: theme.palette.mode === ThemeMode.DARK ? 'divider' : 'primary.light' }, '&.Mui-selected': { bgcolor: 'transparent', @@ -258,14 +238,14 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s } }), ...(!drawerOpen && { - bgcolor: theme.palette.primary.main, '&:hover': { - bgcolor: theme.palette.primary.light + bgcolor: 'primary.light' }, '&.Mui-selected': { '&:hover': { - bgcolor: theme.palette.primary.light - } + bgcolor: 'white' + }, + bgcolor: 'white' } }) }} @@ -275,27 +255,22 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s onClick={handlerIconLink} sx={{ minWidth: 28, - // color: selected === menu.id ? 'primary.main' : textColor, - // color: selected === menu.id ? textColor : textColor, - // bgcolor:'white', - color: 'white', + color: selected === menu.id ? 'primary.main' : 'white', ...(!drawerOpen && { borderRadius: 1.5, width: 36, height: 36, alignItems: 'center', justifyContent: 'center', - color: 'white', '&:hover': { - bgcolor: theme.palette.primary.light + // bgcolor: theme.palette.mode === ThemeMode.DARK ? 'secondary.light' : 'secondary.lighter' } }), ...(!drawerOpen && selected === menu.id && { - bgcolor: theme.palette.primary.lighter, - color: theme.palette.primary.main, + // bgcolor: theme.palette.mode === ThemeMode.DARK ? 'primary.900' : 'primary.lighter', '&:hover': { - bgcolor: theme.palette.primary.lighter + // bgcolor: theme.palette.mode === ThemeMode.DARK ? 'primary.darker' : 'primary.lighter' } }) }} @@ -306,12 +281,7 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s {(drawerOpen || (!drawerOpen && level !== 1)) && ( + {menu.title} } @@ -326,22 +296,9 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s )} {(drawerOpen || (!drawerOpen && level !== 1)) && (miniMenuOpened || open ? ( - + ) : ( - + ))} {!drawerOpen && ( @@ -371,8 +328,8 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s mt: 1.5, boxShadow: theme.customShadows.z1, backgroundImage: 'none', - // border: `1px solid ${theme.palette.divider}`, - background: theme.palette.primary.main + border: `1px solid ${theme.palette.primary.main}`, + bgcolor: 'primary.main' }} > @@ -416,14 +373,7 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s > {menuIcon && ( - + {menuIcon} )} @@ -436,12 +386,7 @@ const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, s )} + {menu.title} } diff --git a/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js b/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js index 3c1a74a..d74c854 100644 --- a/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js +++ b/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import { forwardRef, useEffect, useState } from 'react'; +import { forwardRef, useEffect } from 'react'; import { Link } from 'react-router-dom'; import { useDispatch, useSelector } from 'react-redux'; @@ -9,10 +9,8 @@ import { Avatar, Chip, ListItemButton, ListItemIcon, ListItemText, Typography, u // project import import Dot from 'components/@extended/Dot'; - import { MenuOrientation, ThemeMode } from 'config'; import useConfig from 'hooks/useConfig'; -// import { dispatch, useSelector } from 'store'; import { activeItem, openDrawer } from 'store/reducers/menu'; // ==============================|| NAVIGATION - LIST ITEM ||============================== // @@ -20,9 +18,9 @@ import { activeItem, openDrawer } from 'store/reducers/menu'; const NavItem = ({ item, level }) => { const theme = useTheme(); const dispatch = useDispatch(); + const { menuOrientation } = useConfig(); const { drawerOpen, openItem } = useSelector((state) => state.menu); - const [ishover, setIshover] = useState(''); const downLG = useMediaQuery(theme.breakpoints.down('lg')); @@ -37,13 +35,9 @@ const NavItem = ({ item, level }) => { } const Icon = item.icon; + const itemIcon = item.icon ? : false; const isSelected = openItem.findIndex((id) => id === item.id) > -1; - const itemIcon = item.icon ? ( - - ) : ( - false - ); // const { pathname } = useLocation(); const pathname = document.location.pathname; @@ -68,7 +62,7 @@ const NavItem = ({ item, level }) => { // eslint-disable-next-line }, [pathname]); - const textColor = theme.palette.mode === ThemeMode.DARK ? 'grey.400' : '#fff'; + const textColor = theme.palette.mode === ThemeMode.DARK ? 'grey.400' : 'text.primary'; const iconSelectedColor = theme.palette.mode === ThemeMode.DARK && drawerOpen ? 'text.primary' : 'primary.main'; return ( @@ -78,20 +72,14 @@ const NavItem = ({ item, level }) => { {...listItemProps} disabled={item.disabled} selected={isSelected} - onMouseEnter={(e) => { - console.log(e); - }} - onMouseLeave={() => { - setIshover(''); - }} sx={{ zIndex: 1201, pl: drawerOpen ? `${level * 28}px` : 1.5, py: !drawerOpen && level === 1 ? 1.25 : 1, ...(drawerOpen && { + // bgcolor: 'primary.light', '&:hover': { - // bgcolor: theme.palette.mode === ThemeMode.DARK ? 'divider' : 'primary.lighter' - bgcolor: '#7b1fa2' + bgcolor: theme.palette.mode === ThemeMode.DARK ? 'divider' : 'primary.light' }, '&.Mui-selected': { bgcolor: theme.palette.mode === ThemeMode.DARK ? 'divider' : 'primary.lighter', @@ -104,9 +92,8 @@ const NavItem = ({ item, level }) => { } }), ...(!drawerOpen && { - bgcolor: theme.palette.primary.main, '&:hover': { - bgcolor: theme.palette.primary.light + bgcolor: 'primary.light' }, '&.Mui-selected': { '&:hover': { @@ -124,28 +111,23 @@ const NavItem = ({ item, level }) => { @@ -157,13 +139,9 @@ const NavItem = ({ item, level }) => { primary={ {item.title} diff --git a/src/layout/MainLayout/Footer.js b/src/layout/MainLayout/Footer.js index bc2295c..722cd7e 100644 --- a/src/layout/MainLayout/Footer.js +++ b/src/layout/MainLayout/Footer.js @@ -7,13 +7,13 @@ const Footer = () => ( © All rights reserved - + About us - + Privacy - + Terms diff --git a/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js b/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js index afd12ff..82af071 100644 --- a/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js +++ b/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js @@ -5,55 +5,31 @@ import { useState } from 'react'; import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material'; // assets -import { EditOutlined, ProfileOutlined, LogoutOutlined, UserOutlined, WalletOutlined, CommentOutlined } from '@ant-design/icons'; +import { LogoutOutlined, UserOutlined } from '@ant-design/icons'; import { useNavigate } from 'react-router'; // ==============================|| HEADER PROFILE - PROFILE TAB ||============================== // const ProfileTab = ({ handleLogout }) => { - const [selectedIndex, setSelectedIndex] = useState(0); + const [selectedIndex, setSelectedIndex] = useState(null); const navigate = useNavigate(); const handleListItemClick = (event, index) => { setSelectedIndex(index); - if (index == 1) { + if (index == 0) { navigate('/accountsettings'); } }; return ( - {/* handleListItemClick(event, 0)}> - - - - - */} - handleListItemClick(event, 1)}> + handleListItemClick(event, 0)}> - {/* handleListItemClick(event, 2)}> - - - - - */} - {/* handleListItemClick(event, 4)}> - - - - - */} - { - // navigate('/login') - // }} - > + diff --git a/src/layout/MainLayout/Header/HeaderContent/index.js b/src/layout/MainLayout/Header/HeaderContent/index.js index 64e72e8..194606a 100644 --- a/src/layout/MainLayout/Header/HeaderContent/index.js +++ b/src/layout/MainLayout/Header/HeaderContent/index.js @@ -214,7 +214,7 @@ const HeaderContent = () => { { - navigate('nearle/customers/create'); + navigate('nearle/customers'); handleClickAway(); }} > diff --git a/src/layout/MainLayout/index.js b/src/layout/MainLayout/index.js index d89712b..8363efa 100644 --- a/src/layout/MainLayout/index.js +++ b/src/layout/MainLayout/index.js @@ -58,7 +58,7 @@ const MainLayout = () => { > {/* */} -