import { useMemo } from 'react';
import { useNavigate, useLocation, useParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { makeStyles, Theme } from '@material-ui/core';
import { useNavigationHook } from '@/hooks/Navigation';
import { ALL_ROUTER_TYPES } from '@/router/Types';
import CustomTabList from '@/components/customTabList/CustomTabList';
import { ITab } from '@/components/customTabList/Types';
import { parseLocationSearch } from '@/utils/Format';
import User from './User';
import Roles from './Roles';
import { TAB_EMUM } from './Types';
const useStyles = makeStyles((theme: Theme) => ({
wrapper: {
flexDirection: 'row',
gap: theme.spacing(4),
},
card: {
boxShadow: 'none',
flexBasis: theme.spacing(28),
width: theme.spacing(28),
flexGrow: 0,
flexShrink: 0,
},
tab: {
flexGrow: 1,
flexShrink: 1,
overflowX: 'auto',
},
}));
const Users = () => {
const classes = useStyles();
useNavigationHook(ALL_ROUTER_TYPES.USER);
const navigate = useNavigate();
const location = useLocation();
const { t: userTrans } = useTranslation('user');
const activeTabIndex = useMemo(() => {
const { activeIndex } = location.search
? parseLocationSearch(location.search)
: { activeIndex: TAB_EMUM.schema };
return Number(activeIndex);
}, [location]);
const handleTabChange = (activeIndex: number) => {
const path = location.pathname;
navigate(`${path}?activeIndex=${activeIndex}`);
};
const tabs: ITab[] = [
{
label: userTrans('users'),
component: ,
},
{
label: userTrans('roles'),
component: ,
},
];
return (
);
};
export default Users;