@campxdev/shared 1.5.7 → 1.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +18 -18
  3. package/package.json +86 -86
  4. package/src/assets/fonts/avenir/Avenir-Heavy.ttf +0 -0
  5. package/src/assets/fonts/avenir/Avenir-Medium.ttf +0 -0
  6. package/src/assets/fonts/avenir/Avenir-Regular.ttf +0 -0
  7. package/src/assets/fonts/avenir/index.ts +13 -13
  8. package/src/assets/fonts/poppins/index.ts +18 -18
  9. package/src/assets/images/index.ts +17 -17
  10. package/src/assets/images/unauth.svg +92 -92
  11. package/src/components/ActionButton.tsx +20 -20
  12. package/src/components/Attachment.tsx +26 -26
  13. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  14. package/src/components/AutocompleteSearch/index.tsx +1 -1
  15. package/src/components/Breadcrumbs.tsx +72 -72
  16. package/src/components/Card.tsx +98 -98
  17. package/src/components/CardsGrid.tsx +28 -28
  18. package/src/components/ChangePassword.tsx +123 -123
  19. package/src/components/Chips.tsx +81 -81
  20. package/src/components/Detail.tsx +15 -15
  21. package/src/components/DetailsGrid.tsx +52 -52
  22. package/src/components/DividerHeading.tsx +41 -41
  23. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
  24. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  25. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  26. package/src/components/DropDownButton/AnchorElement.tsx +44 -44
  27. package/src/components/DropDownButton/DropDownButton.tsx +184 -184
  28. package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
  29. package/src/components/DropDownButton/index.tsx +1 -1
  30. package/src/components/DropDownButton/styles.tsx +59 -59
  31. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  32. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  33. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  34. package/src/components/ErrorBoundary/index.tsx +1 -1
  35. package/src/components/ErrorBox.tsx +42 -42
  36. package/src/components/FilterComponents/FilterButton.tsx +56 -56
  37. package/src/components/FilterComponents/SearchBar.tsx +45 -45
  38. package/src/components/FloatingContainer.tsx +33 -33
  39. package/src/components/Form/Form.tsx +156 -156
  40. package/src/components/Form/RenderForm.tsx +188 -188
  41. package/src/components/FullCalendar/Actions.tsx +162 -162
  42. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  43. package/src/components/FullScreenLoader.tsx +19 -19
  44. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  45. package/src/components/HookForm/DatePicker.tsx +40 -40
  46. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  47. package/src/components/HookForm/FormLabel.tsx +14 -14
  48. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  49. package/src/components/HookForm/MultiSelect.tsx +53 -53
  50. package/src/components/HookForm/RadioGroup.tsx +45 -45
  51. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  52. package/src/components/HookForm/SingleSelect.tsx +46 -46
  53. package/src/components/HookForm/TextField.tsx +40 -40
  54. package/src/components/HookForm/TimePicker.tsx +40 -40
  55. package/src/components/HookForm/index.ts +23 -23
  56. package/src/components/IconButtons/IconButtons.tsx +137 -137
  57. package/src/components/IconButtons/Icons.tsx +268 -268
  58. package/src/components/IconButtons/assets/edit.svg +4 -4
  59. package/src/components/IconButtons/assets/eye.svg +6 -6
  60. package/src/components/IconButtons/assets/trash.svg +7 -7
  61. package/src/components/IconButtons/index.tsx +8 -8
  62. package/src/components/IconLabel.tsx +37 -37
  63. package/src/components/Image/Image.tsx +45 -45
  64. package/src/components/Image/index.tsx +1 -1
  65. package/src/components/ImageUpload.tsx +98 -98
  66. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  67. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  68. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  69. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  70. package/src/components/Input/DatePicker.tsx +73 -73
  71. package/src/components/Input/DateRangePicker.tsx +105 -105
  72. package/src/components/Input/DateTimePicker.tsx +81 -81
  73. package/src/components/Input/FormLabel.tsx +21 -21
  74. package/src/components/Input/MultiCheckbox.tsx +64 -64
  75. package/src/components/Input/MultiSelect.tsx +150 -150
  76. package/src/components/Input/RadioGroup.tsx +104 -104
  77. package/src/components/Input/SingleCheckbox.tsx +78 -78
  78. package/src/components/Input/SingleSelect.tsx +104 -104
  79. package/src/components/Input/TextField.tsx +46 -46
  80. package/src/components/Input/TimePicker.tsx +74 -74
  81. package/src/components/Input/index.ts +26 -26
  82. package/src/components/Input/types.ts +3 -3
  83. package/src/components/JsonPreview.tsx +7 -7
  84. package/src/components/LabelValue.tsx +21 -21
  85. package/src/components/Layout/ChangePassword.tsx +49 -49
  86. package/src/components/Layout/Header/AppHeader.tsx +102 -102
  87. package/src/components/Layout/Header/AppsMenu.tsx +98 -98
  88. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  89. package/src/components/Layout/Header/Notification.tsx +13 -13
  90. package/src/components/Layout/Header/UserBox.tsx +70 -70
  91. package/src/components/Layout/Header/applications.ts +91 -91
  92. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  93. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  94. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  95. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  96. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  97. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  98. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  99. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  100. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  101. package/src/components/Layout/Header/assets/index.ts +33 -33
  102. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  103. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  104. package/src/components/Layout/Header/assets/payx.svg +19 -19
  105. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  106. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  107. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  108. package/src/components/Layout/Header/icons.tsx +57 -57
  109. package/src/components/Layout/Header/index.tsx +1 -1
  110. package/src/components/Layout/Header/styles.tsx +124 -124
  111. package/src/components/Layout/Helmet.tsx +49 -49
  112. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  113. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  114. package/src/components/Layout/SideNav.tsx +168 -168
  115. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  116. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  117. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  118. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  119. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  120. package/src/components/Layout/Tickets/index.tsx +1 -1
  121. package/src/components/Layout/Tickets/services.ts +11 -11
  122. package/src/components/Layout/Tickets/styles.tsx +136 -136
  123. package/src/components/LinearProgress.tsx +19 -19
  124. package/src/components/ListItemButton.tsx +95 -95
  125. package/src/components/LoginForm.tsx +80 -80
  126. package/src/components/MediaRow/MediaRow.tsx +69 -69
  127. package/src/components/MediaRow/index.tsx +1 -1
  128. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  129. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  130. package/src/components/ModalButtons/index.tsx +4 -4
  131. package/src/components/NoDataIllustration.tsx +32 -32
  132. package/src/components/PageContent.tsx +12 -12
  133. package/src/components/PageHeader.tsx +55 -55
  134. package/src/components/PageNotFound.tsx +26 -26
  135. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  136. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  137. package/src/components/PopupConfirm/index.tsx +1 -1
  138. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  139. package/src/components/Row.tsx +24 -24
  140. package/src/components/Spinner.tsx +18 -18
  141. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  142. package/src/components/StepsHeader/index.tsx +1 -1
  143. package/src/components/StyledTableContainer.tsx +33 -33
  144. package/src/components/SwitchButton.tsx +41 -41
  145. package/src/components/Table.tsx +42 -42
  146. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  147. package/src/components/TableComponent/Icons/index.tsx +50 -50
  148. package/src/components/TableComponent/ReactTable.tsx +295 -295
  149. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  150. package/src/components/TableComponent/Table.tsx +197 -197
  151. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  152. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  153. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  154. package/src/components/TableComponent/index.tsx +1 -1
  155. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  156. package/src/components/TableComponent/styles.tsx +170 -170
  157. package/src/components/TableComponent/types.ts +57 -57
  158. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  159. package/src/components/Tabs/Tabs.tsx +53 -53
  160. package/src/components/Tabs/TabsContainer.tsx +50 -50
  161. package/src/components/Tabs/index.tsx +1 -1
  162. package/src/components/Tabs/styles.tsx +55 -55
  163. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  164. package/src/components/ToastContainer/index.tsx +1 -1
  165. package/src/components/UploadButton/UploadButton.tsx +126 -126
  166. package/src/components/UploadButton/index.tsx +1 -1
  167. package/src/components/UploadButton/types.ts +19 -19
  168. package/src/components/UploadDocument.tsx +108 -108
  169. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  170. package/src/components/UploadFileDialog/index.tsx +1 -1
  171. package/src/components/index.ts +93 -93
  172. package/src/config/axios.ts +73 -73
  173. package/src/config/axiosEvaluator.ts +53 -53
  174. package/src/config/axiosXTenant.ts +57 -57
  175. package/src/constants/UIConstants.ts +97 -97
  176. package/src/constants/formValidations.ts +6 -6
  177. package/src/constants/index.ts +5 -5
  178. package/src/constants/isDevelopment.ts +3 -3
  179. package/src/constants/permissions.ts +67 -67
  180. package/src/constants/validateMessages.ts +12 -12
  181. package/src/contexts/LoginFormProvider.tsx +39 -39
  182. package/src/contexts/Providers.tsx +73 -73
  183. package/src/contexts/PublicProviders.tsx +30 -30
  184. package/src/contexts/QueryClientProvider.tsx +22 -22
  185. package/src/hooks/index.ts +4 -4
  186. package/src/hooks/useAuth.ts +96 -96
  187. package/src/hooks/useFetch.ts +53 -53
  188. package/src/hooks/useFilters.ts +80 -80
  189. package/src/hooks/useRouter.ts +31 -31
  190. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  191. package/src/layouts/Components/icons/index.tsx +403 -403
  192. package/src/layouts/Components/styles.tsx +74 -74
  193. package/src/layouts/ComponentsLayout.tsx +3 -3
  194. package/src/permissions/PageWithPermission.tsx +18 -18
  195. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  196. package/src/permissions/ValidateAccess.tsx +18 -18
  197. package/src/permissions/index.ts +2 -2
  198. package/src/react-app-env.d.ts +1 -1
  199. package/src/shared-state/AssetsStore.ts +15 -15
  200. package/src/shared-state/PermissionsStore.ts +352 -352
  201. package/src/shared-state/UserStore.ts +13 -13
  202. package/src/shared-state/index.ts +4 -4
  203. package/src/theme/App.less +3 -3
  204. package/src/theme/MuiThemeProvider.tsx +13 -13
  205. package/src/theme/customCssBaseline.ts +135 -135
  206. package/src/theme/index.css +28 -28
  207. package/src/theme/muiTheme.ts +592 -592
  208. package/src/theme/theme.d.ts +75 -75
  209. package/src/utils/alphabet.ts +23 -23
  210. package/src/utils/arrayPadEnd.ts +3 -3
  211. package/src/utils/formatCurrency.ts +9 -9
  212. package/src/utils/getUrlParams.ts +5 -5
  213. package/src/utils/index.ts +7 -7
  214. package/src/utils/logout.ts +25 -25
  215. package/src/utils/ordinalSuffixOf.ts +14 -14
  216. package/src/utils/romanize.ts +40 -40
  217. package/src/utils/withRouteWrapper.tsx +25 -25
  218. package/src/utils/withSuspense.tsx +6 -6
  219. package/styled-components.tsx +60 -60
  220. package/tsconfig.json +21 -21
  221. package/yarn-error.log +109 -0
  222. package/src/components/Layout/Header/assets/commuteX.png +0 -0
@@ -1,124 +1,124 @@
1
- import {
2
- alpha,
3
- AppBar,
4
- Box,
5
- IconButton,
6
- ListItemText,
7
- styled,
8
- Typography,
9
- Link,
10
- Avatar,
11
- } from '@mui/material'
12
- import { Link as RouterLink } from 'react-router-dom'
13
-
14
- export const StyledImageWrapper = styled('div')`
15
- width: auto;
16
- height: 24px;
17
- & img {
18
- width: 100%;
19
- height: 100%;
20
- object-fit: contain;
21
- }
22
- `
23
-
24
- export const StyledItemText = styled(ListItemText)(({ theme }) => ({
25
- color: theme.palette.text.primary,
26
- transition: '0.2s ease',
27
- }))
28
-
29
- export const StyledAppBar = styled(AppBar)(({ theme }) => ({
30
- backgroundColor: 'white',
31
- boxShadow: '0px 8px 28px rgb(136,136,136, 0.3)',
32
- }))
33
-
34
- export const StyledHeader = styled(Box)(({ theme }) => ({
35
- boxShadow: '0px 2px 10px #0000001a',
36
- backgroundColor: 'white',
37
- display: 'flex',
38
- alignItems: 'center',
39
- justifyContent: 'space-between',
40
- '& .actions': {
41
- marginRight: '20px',
42
- display: 'flex',
43
- alignItems: 'center',
44
- gap: '14px',
45
- },
46
- }))
47
-
48
- export const StyledUser = styled(Box)(({ theme }) => ({
49
- cursor: 'pointer',
50
- borderRadius: '5px',
51
- transition: 'background 0.2s ease',
52
- padding: '5px 16px',
53
- display: 'flex',
54
- alignItems: 'center',
55
- gap: '8px',
56
- '&:hover': {
57
- background: theme.palette.secondary.light,
58
- },
59
- }))
60
-
61
- export const StyledIconButton = styled(IconButton)({
62
- padding: '20px',
63
- backgroundColor: 'black',
64
- display: 'flex',
65
- alignItems: 'center',
66
- justifyContent: 'center',
67
- borderRadius: '0px',
68
- border: '1px solid white',
69
- })
70
-
71
- export const StyledLink = styled(Link)({
72
- textDecoration: 'none',
73
- })
74
-
75
- export const StyledDescription = styled(Typography)(({ theme }) => ({
76
- fontSize: '12px',
77
- fontWeight: 600,
78
- color: alpha(theme?.palette?.secondary?.lighter, 0.5),
79
- }))
80
-
81
- export const StyledMenuItem = styled(Box)({
82
- height: '64px',
83
- width: '380px',
84
- padding: '40px 20px',
85
- transition: 'background ease 0.3s',
86
- '&:hover': {
87
- background: 'rgba(0, 0, 0, 0.03)',
88
- },
89
- display: 'flex',
90
- alignItems: 'center',
91
- gap: '20px',
92
- })
93
-
94
- export const StyledMenuItemContainer = styled(Box)(({ theme }) => ({
95
- cursor: 'pointer',
96
- borderBottom: `1px solid ${theme?.palette?.secondary?.lighter}`,
97
- '&:last-of-type': {
98
- border: 'none',
99
- },
100
- padding: '8px 0px',
101
- }))
102
-
103
- export const StyledAvatar = styled(Avatar)(({ theme }) => ({
104
- background: theme.palette.secondary.main,
105
- cursor: 'pointer',
106
- height: '45px',
107
- width: '45px',
108
- }))
109
-
110
- export const StyledLogosWrapper = styled(Box)(() => ({
111
- display: 'flex',
112
- alignItems: 'center',
113
- gap: '10px',
114
- padding: '10px',
115
- transition: 'background ease 0.3s',
116
- borderRadius: '5px',
117
- '&:hover': {
118
- background: 'rgba(0, 0, 0, 0.05)',
119
- },
120
- }))
121
-
122
- export const StyledRouterLink = styled(RouterLink)(() => ({
123
- textDecoration: 'none',
124
- }))
1
+ import {
2
+ alpha,
3
+ AppBar,
4
+ Box,
5
+ IconButton,
6
+ ListItemText,
7
+ styled,
8
+ Typography,
9
+ Link,
10
+ Avatar,
11
+ } from '@mui/material'
12
+ import { Link as RouterLink } from 'react-router-dom'
13
+
14
+ export const StyledImageWrapper = styled('div')`
15
+ width: auto;
16
+ height: 24px;
17
+ & img {
18
+ width: 100%;
19
+ height: 100%;
20
+ object-fit: contain;
21
+ }
22
+ `
23
+
24
+ export const StyledItemText = styled(ListItemText)(({ theme }) => ({
25
+ color: theme.palette.text.primary,
26
+ transition: '0.2s ease',
27
+ }))
28
+
29
+ export const StyledAppBar = styled(AppBar)(({ theme }) => ({
30
+ backgroundColor: 'white',
31
+ boxShadow: '0px 8px 28px rgb(136,136,136, 0.3)',
32
+ }))
33
+
34
+ export const StyledHeader = styled(Box)(({ theme }) => ({
35
+ boxShadow: '0px 2px 10px #0000001a',
36
+ backgroundColor: 'white',
37
+ display: 'flex',
38
+ alignItems: 'center',
39
+ justifyContent: 'space-between',
40
+ '& .actions': {
41
+ marginRight: '20px',
42
+ display: 'flex',
43
+ alignItems: 'center',
44
+ gap: '14px',
45
+ },
46
+ }))
47
+
48
+ export const StyledUser = styled(Box)(({ theme }) => ({
49
+ cursor: 'pointer',
50
+ borderRadius: '5px',
51
+ transition: 'background 0.2s ease',
52
+ padding: '5px 16px',
53
+ display: 'flex',
54
+ alignItems: 'center',
55
+ gap: '8px',
56
+ '&:hover': {
57
+ background: theme.palette.secondary.light,
58
+ },
59
+ }))
60
+
61
+ export const StyledIconButton = styled(IconButton)({
62
+ padding: '20px',
63
+ backgroundColor: 'black',
64
+ display: 'flex',
65
+ alignItems: 'center',
66
+ justifyContent: 'center',
67
+ borderRadius: '0px',
68
+ border: '1px solid white',
69
+ })
70
+
71
+ export const StyledLink = styled(Link)({
72
+ textDecoration: 'none',
73
+ })
74
+
75
+ export const StyledDescription = styled(Typography)(({ theme }) => ({
76
+ fontSize: '12px',
77
+ fontWeight: 600,
78
+ color: alpha(theme?.palette?.secondary?.lighter, 0.5),
79
+ }))
80
+
81
+ export const StyledMenuItem = styled(Box)({
82
+ height: '64px',
83
+ width: '380px',
84
+ padding: '40px 20px',
85
+ transition: 'background ease 0.3s',
86
+ '&:hover': {
87
+ background: 'rgba(0, 0, 0, 0.03)',
88
+ },
89
+ display: 'flex',
90
+ alignItems: 'center',
91
+ gap: '20px',
92
+ })
93
+
94
+ export const StyledMenuItemContainer = styled(Box)(({ theme }) => ({
95
+ cursor: 'pointer',
96
+ borderBottom: `1px solid ${theme?.palette?.secondary?.lighter}`,
97
+ '&:last-of-type': {
98
+ border: 'none',
99
+ },
100
+ padding: '8px 0px',
101
+ }))
102
+
103
+ export const StyledAvatar = styled(Avatar)(({ theme }) => ({
104
+ background: theme.palette.secondary.main,
105
+ cursor: 'pointer',
106
+ height: '45px',
107
+ width: '45px',
108
+ }))
109
+
110
+ export const StyledLogosWrapper = styled(Box)(() => ({
111
+ display: 'flex',
112
+ alignItems: 'center',
113
+ gap: '10px',
114
+ padding: '10px',
115
+ transition: 'background ease 0.3s',
116
+ borderRadius: '5px',
117
+ '&:hover': {
118
+ background: 'rgba(0, 0, 0, 0.05)',
119
+ },
120
+ }))
121
+
122
+ export const StyledRouterLink = styled(RouterLink)(() => ({
123
+ textDecoration: 'none',
124
+ }))
@@ -1,49 +1,49 @@
1
- import { Helmet as ReactHelmet } from 'react-helmet'
2
-
3
- type MetaProps = JSX.IntrinsicElements['meta']
4
- type LinkProps = JSX.IntrinsicElements['link']
5
-
6
- interface IHelmetProps {
7
- appTitle: string
8
- favicon: string
9
- description?: string
10
- meta?: MetaProps[] | undefined
11
- link?: LinkProps[] | undefined
12
- }
13
-
14
- export default function Helmet({
15
- appTitle,
16
- favicon,
17
- description,
18
- meta = [],
19
- link = [],
20
- }: IHelmetProps) {
21
- return (
22
- <ReactHelmet
23
- htmlAttributes={{ lang: 'en' }}
24
- title={appTitle}
25
- meta={[
26
- {
27
- charSet: 'utf-8',
28
- },
29
- {
30
- name: 'description',
31
- content: description,
32
- },
33
- {
34
- name: 'viewport',
35
- content: 'width=device-width, initial-scale=1',
36
- },
37
- ...meta,
38
- ]}
39
- link={[
40
- { rel: 'icon', href: favicon },
41
- {
42
- rel: 'apple-touch-icon',
43
- href: favicon,
44
- },
45
- ...link,
46
- ]}
47
- />
48
- )
49
- }
1
+ import { Helmet as ReactHelmet } from 'react-helmet'
2
+
3
+ type MetaProps = JSX.IntrinsicElements['meta']
4
+ type LinkProps = JSX.IntrinsicElements['link']
5
+
6
+ interface IHelmetProps {
7
+ appTitle: string
8
+ favicon: string
9
+ description?: string
10
+ meta?: MetaProps[] | undefined
11
+ link?: LinkProps[] | undefined
12
+ }
13
+
14
+ export default function Helmet({
15
+ appTitle,
16
+ favicon,
17
+ description,
18
+ meta = [],
19
+ link = [],
20
+ }: IHelmetProps) {
21
+ return (
22
+ <ReactHelmet
23
+ htmlAttributes={{ lang: 'en' }}
24
+ title={appTitle}
25
+ meta={[
26
+ {
27
+ charSet: 'utf-8',
28
+ },
29
+ {
30
+ name: 'description',
31
+ content: description,
32
+ },
33
+ {
34
+ name: 'viewport',
35
+ content: 'width=device-width, initial-scale=1',
36
+ },
37
+ ...meta,
38
+ ]}
39
+ link={[
40
+ { rel: 'icon', href: favicon },
41
+ {
42
+ rel: 'apple-touch-icon',
43
+ href: favicon,
44
+ },
45
+ ...link,
46
+ ]}
47
+ />
48
+ )
49
+ }
@@ -1,28 +1,28 @@
1
- import {
2
- StyledLeftNavContainer,
3
- StyledMainContentContainer,
4
- } from '../../layouts/Components/styles'
5
- import ErrorBoundary from '../ErrorBoundary'
6
- import SideNav from './SideNav'
7
- interface Props {
8
- children?: React.ReactNode
9
- menu: any[]
10
- sideMenuHeader?: React.ReactNode
11
- }
12
-
13
- export default function LayoutWrapper({
14
- children,
15
- menu,
16
- sideMenuHeader,
17
- }: Props) {
18
- return (
19
- <ErrorBoundary>
20
- <StyledLeftNavContainer>
21
- <SideNav menuItems={menu as any[]} header={sideMenuHeader} />
22
- </StyledLeftNavContainer>
23
- <StyledMainContentContainer>
24
- <ErrorBoundary>{children}</ErrorBoundary>
25
- </StyledMainContentContainer>
26
- </ErrorBoundary>
27
- )
28
- }
1
+ import {
2
+ StyledLeftNavContainer,
3
+ StyledMainContentContainer,
4
+ } from '../../layouts/Components/styles'
5
+ import ErrorBoundary from '../ErrorBoundary'
6
+ import SideNav from './SideNav'
7
+ interface Props {
8
+ children?: React.ReactNode
9
+ menu: any[]
10
+ sideMenuHeader?: React.ReactNode
11
+ }
12
+
13
+ export default function LayoutWrapper({
14
+ children,
15
+ menu,
16
+ sideMenuHeader,
17
+ }: Props) {
18
+ return (
19
+ <ErrorBoundary>
20
+ <StyledLeftNavContainer>
21
+ <SideNav menuItems={menu as any[]} header={sideMenuHeader} />
22
+ </StyledLeftNavContainer>
23
+ <StyledMainContentContainer>
24
+ <ErrorBoundary>{children}</ErrorBoundary>
25
+ </StyledMainContentContainer>
26
+ </ErrorBoundary>
27
+ )
28
+ }
@@ -1,29 +1,29 @@
1
- import { KeyboardBackspace } from '@mui/icons-material'
2
- import { Box, styled as styledMui, Typography } from '@mui/material'
3
- import { useNavigate } from 'react-router-dom'
4
-
5
- const StyledSideMenuHeader = styledMui(Box)(({ theme }) => ({
6
- height: '60px',
7
- display: 'flex',
8
- gap: '8px',
9
- alignItems: 'center',
10
- cursor: 'pointer',
11
- background: '#1d1d1d',
12
- }))
13
-
14
- export const SideMenuHeader = ({ title, path }) => {
15
- const navigate = useNavigate()
16
-
17
- return (
18
- <StyledSideMenuHeader
19
- onClick={() => {
20
- navigate(path)
21
- }}
22
- >
23
- <KeyboardBackspace />
24
- <Typography variant="h3" color={'white'}>
25
- {title}
26
- </Typography>
27
- </StyledSideMenuHeader>
28
- )
29
- }
1
+ import { KeyboardBackspace } from '@mui/icons-material'
2
+ import { Box, styled as styledMui, Typography } from '@mui/material'
3
+ import { useNavigate } from 'react-router-dom'
4
+
5
+ const StyledSideMenuHeader = styledMui(Box)(({ theme }) => ({
6
+ height: '60px',
7
+ display: 'flex',
8
+ gap: '8px',
9
+ alignItems: 'center',
10
+ cursor: 'pointer',
11
+ background: '#1d1d1d',
12
+ }))
13
+
14
+ export const SideMenuHeader = ({ title, path }) => {
15
+ const navigate = useNavigate()
16
+
17
+ return (
18
+ <StyledSideMenuHeader
19
+ onClick={() => {
20
+ navigate(path)
21
+ }}
22
+ >
23
+ <KeyboardBackspace />
24
+ <Typography variant="h3" color={'white'}>
25
+ {title}
26
+ </Typography>
27
+ </StyledSideMenuHeader>
28
+ )
29
+ }