|
1 | 1 | import Button from "@mui/material/Button";
|
2 | 2 | import Link from "@mui/material/Link";
|
3 |
| -import { makeStyles } from "@mui/styles"; |
4 | 3 | import GroupAdd from "@mui/icons-material/GroupAddOutlined";
|
5 | 4 | import PersonAdd from "@mui/icons-material/PersonAddOutlined";
|
6 | 5 | import { USERS_LINK } from "components/Dashboard/Navbar/NavbarView";
|
7 | 6 | import { PageHeader, PageHeaderTitle } from "components/PageHeader/PageHeader";
|
8 | 7 | import { useFeatureVisibility } from "hooks/useFeatureVisibility";
|
9 | 8 | import { usePermissions } from "hooks/usePermissions";
|
10 | 9 | import { FC } from "react";
|
11 |
| -import { |
12 |
| - Link as RouterLink, |
13 |
| - NavLink, |
14 |
| - Outlet, |
15 |
| - useNavigate, |
16 |
| -} from "react-router-dom"; |
17 |
| -import { combineClasses } from "utils/combineClasses"; |
| 10 | +import { Link as RouterLink, Outlet, useNavigate } from "react-router-dom"; |
18 | 11 | import { Margins } from "components/Margins/Margins";
|
19 |
| -import { Stack } from "components/Stack/Stack"; |
| 12 | +import { TabLink, Tabs } from "components/Tabs/Tabs"; |
20 | 13 |
|
21 | 14 | export const UsersLayout: FC = () => {
|
22 |
| - const styles = useStyles(); |
23 | 15 | const { createUser: canCreateUser, createGroup: canCreateGroup } =
|
24 | 16 | usePermissions();
|
25 | 17 | const navigate = useNavigate();
|
@@ -53,75 +45,14 @@ export const UsersLayout: FC = () => {
|
53 | 45 | </PageHeader>
|
54 | 46 | </Margins>
|
55 | 47 |
|
56 |
| - <div className={styles.tabs}> |
57 |
| - <Margins> |
58 |
| - <Stack direction="row" spacing={0.25}> |
59 |
| - <NavLink |
60 |
| - end |
61 |
| - to={USERS_LINK} |
62 |
| - className={({ isActive }) => |
63 |
| - combineClasses([ |
64 |
| - styles.tabItem, |
65 |
| - isActive ? styles.tabItemActive : undefined, |
66 |
| - ]) |
67 |
| - } |
68 |
| - > |
69 |
| - Users |
70 |
| - </NavLink> |
71 |
| - <NavLink |
72 |
| - to="/groups" |
73 |
| - className={({ isActive }) => |
74 |
| - combineClasses([ |
75 |
| - styles.tabItem, |
76 |
| - isActive ? styles.tabItemActive : undefined, |
77 |
| - ]) |
78 |
| - } |
79 |
| - > |
80 |
| - Groups |
81 |
| - </NavLink> |
82 |
| - </Stack> |
83 |
| - </Margins> |
84 |
| - </div> |
| 48 | + <Tabs> |
| 49 | + <TabLink to={USERS_LINK}>Users</TabLink> |
| 50 | + <TabLink to="/groups">Groups</TabLink> |
| 51 | + </Tabs> |
85 | 52 |
|
86 | 53 | <Margins>
|
87 | 54 | <Outlet />
|
88 | 55 | </Margins>
|
89 | 56 | </>
|
90 | 57 | );
|
91 | 58 | };
|
92 |
| - |
93 |
| -export const useStyles = makeStyles((theme) => { |
94 |
| - return { |
95 |
| - tabs: { |
96 |
| - borderBottom: `1px solid ${theme.palette.divider}`, |
97 |
| - marginBottom: theme.spacing(5), |
98 |
| - }, |
99 |
| - |
100 |
| - tabItem: { |
101 |
| - textDecoration: "none", |
102 |
| - color: theme.palette.text.secondary, |
103 |
| - fontSize: 14, |
104 |
| - display: "block", |
105 |
| - padding: theme.spacing(0, 2, 2), |
106 |
| - |
107 |
| - "&:hover": { |
108 |
| - color: theme.palette.text.primary, |
109 |
| - }, |
110 |
| - }, |
111 |
| - |
112 |
| - tabItemActive: { |
113 |
| - color: theme.palette.text.primary, |
114 |
| - position: "relative", |
115 |
| - |
116 |
| - "&:before": { |
117 |
| - content: `""`, |
118 |
| - left: 0, |
119 |
| - bottom: 0, |
120 |
| - height: 2, |
121 |
| - width: "100%", |
122 |
| - background: theme.palette.secondary.dark, |
123 |
| - position: "absolute", |
124 |
| - }, |
125 |
| - }, |
126 |
| - }; |
127 |
| -}); |
0 commit comments