@campxdev/shared 0.6.19 → 1.0.0

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 (242) hide show
  1. package/.eslintignore +3 -3
  2. package/.eslintrc.js +33 -33
  3. package/.prettierrc +10 -10
  4. package/antd.customize.less +73 -73
  5. package/exports.ts +16 -16
  6. package/package.json +94 -93
  7. package/publish.sh +1 -1
  8. package/src/assets/fonts/avenir/index.ts +2 -2
  9. package/src/assets/fonts/poppins/index.ts +7 -7
  10. package/src/assets/images/index.ts +17 -17
  11. package/src/assets/images/unauth.svg +92 -92
  12. package/src/components/ActionButton.tsx +28 -28
  13. package/src/components/Attachment.tsx +26 -26
  14. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  15. package/src/components/AutocompleteSearch/index.tsx +1 -1
  16. package/src/components/Breadcrumbs.tsx +72 -72
  17. package/src/components/Card.tsx +98 -98
  18. package/src/components/CardsGrid.tsx +28 -28
  19. package/src/components/ChangePassword.tsx +164 -164
  20. package/src/components/Chips.tsx +81 -81
  21. package/src/components/Detail.tsx +15 -15
  22. package/src/components/DetailsGrid.tsx +52 -52
  23. package/src/components/DividerHeading.tsx +41 -41
  24. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -63
  25. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  26. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  27. package/src/components/DropDownButton.tsx +194 -194
  28. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  29. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  30. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  31. package/src/components/ErrorBoundary/index.tsx +1 -1
  32. package/src/components/ErrorBox.tsx +42 -42
  33. package/src/components/FloatingContainer.tsx +33 -33
  34. package/src/components/Form/Form.tsx +156 -156
  35. package/src/components/Form/RenderForm.tsx +188 -188
  36. package/src/components/FullCalendar/Actions.tsx +162 -162
  37. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  38. package/src/components/FullScreenLoader.tsx +19 -19
  39. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  40. package/src/components/HookForm/DatePicker.tsx +65 -65
  41. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  42. package/src/components/HookForm/FormLabel.tsx +14 -14
  43. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  44. package/src/components/HookForm/MultiSelect.tsx +100 -100
  45. package/src/components/HookForm/RadioGroup.tsx +106 -106
  46. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  47. package/src/components/HookForm/SingleSelect.tsx +93 -93
  48. package/src/components/HookForm/TextField.tsx +74 -74
  49. package/src/components/HookForm/TimePicker.tsx +82 -82
  50. package/src/components/HookForm/index.ts +23 -23
  51. package/src/components/IconButtons/IconButtons.tsx +137 -137
  52. package/src/components/IconButtons/Icons.tsx +268 -268
  53. package/src/components/IconButtons/assets/edit.svg +4 -4
  54. package/src/components/IconButtons/assets/eye.svg +6 -6
  55. package/src/components/IconButtons/assets/trash.svg +7 -7
  56. package/src/components/IconButtons/index.tsx +8 -8
  57. package/src/components/IconLabel.tsx +37 -37
  58. package/src/components/Image/Image.tsx +43 -43
  59. package/src/components/Image/index.tsx +1 -1
  60. package/src/components/ImageUpload.tsx +98 -98
  61. package/src/components/Input/AutoCompleteSearch.tsx +113 -113
  62. package/src/components/Input/DatePicker.tsx +60 -60
  63. package/src/components/Input/DateRangePicker.tsx +131 -131
  64. package/src/components/Input/DateTimePicker.tsx +70 -70
  65. package/src/components/Input/FormLabel.tsx +14 -14
  66. package/src/components/Input/MultiCheckbox.tsx +79 -79
  67. package/src/components/Input/MultiSelect.tsx +52 -52
  68. package/src/components/Input/RadioGroup.tsx +61 -61
  69. package/src/components/Input/SingleCheckbox.tsx +23 -23
  70. package/src/components/Input/SingleSelect.tsx +124 -124
  71. package/src/components/Input/TextField.tsx +50 -50
  72. package/src/components/Input/TimePicker.tsx +82 -82
  73. package/src/components/Input/index.ts +26 -26
  74. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  75. package/src/components/JsonPreview/index.tsx +1 -1
  76. package/src/components/LabelValue/LabelValue.tsx +21 -21
  77. package/src/components/LabelValue/index.tsx +1 -1
  78. package/src/components/Layout/ChangePassword.tsx +49 -49
  79. package/src/components/Layout/Header/AppHeader.tsx +124 -124
  80. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  81. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  82. package/src/components/Layout/Header/HelpWidget/HelpWidget.tsx +298 -0
  83. package/src/components/Layout/Header/HelpWidget/styles.tsx +92 -0
  84. package/src/components/Layout/Header/Notification.tsx +13 -13
  85. package/src/components/Layout/Header/UserBox.tsx +90 -70
  86. package/src/components/Layout/Header/applications.ts +90 -90
  87. package/src/components/Layout/Header/assets/background.png +0 -0
  88. package/src/components/Layout/Header/assets/campx.png +0 -0
  89. package/src/components/Layout/Header/assets/{newAssets/campx_square_small.svg → campx_square_small.svg} +9 -9
  90. package/src/components/Layout/Header/assets/{newAssets/commutex.png → commuteX.png} +0 -0
  91. package/src/components/Layout/Header/assets/commutex.png +0 -0
  92. package/src/components/Layout/Header/assets/{newAssets/commutex.svg → commutex.svg} +14 -14
  93. package/src/components/Layout/Header/assets/{newAssets/commutexSmall.svg → commutexSmall.svg} +11 -11
  94. package/src/components/Layout/Header/assets/contactBg.png +0 -0
  95. package/src/components/Layout/Header/assets/{newAssets/enroll.svg → enroll.svg} +14 -14
  96. package/src/components/Layout/Header/assets/{newAssets/enrollx.svg → enrollx.svg} +14 -14
  97. package/src/components/Layout/Header/assets/{newAssets/entrollx.png → entrollx.png} +0 -0
  98. package/src/components/Layout/Header/assets/{newAssets/exams_small.svg → exams_small.svg} +12 -12
  99. package/src/components/Layout/Header/assets/{newAssets/examsx.svg → examsx.svg} +14 -14
  100. package/src/components/Layout/Header/assets/examx.png +0 -0
  101. package/src/components/Layout/Header/assets/{newAssets/hostel_small.svg → hostel_small.svg} +13 -13
  102. package/src/components/Layout/Header/assets/hostelx.png +0 -0
  103. package/src/components/Layout/Header/assets/{newAssets/hostelx.svg → hostelx.svg} +13 -13
  104. package/src/components/Layout/Header/assets/index.ts +33 -29
  105. package/src/components/Layout/Header/assets/{newAssets/libraryx.svg → libraryx.svg} +12 -12
  106. package/src/components/Layout/Header/assets/{newAssets/libreryx.png → libreryx.png} +0 -0
  107. package/src/components/Layout/Header/assets/{newAssets/pay_small.svg → pay_small.svg} +16 -16
  108. package/src/components/Layout/Header/assets/payx.png +0 -0
  109. package/src/components/Layout/Header/assets/{newAssets/payx.svg → payx.svg} +19 -19
  110. package/src/components/Layout/Header/assets/{newAssets/people_small.svg → people_small.svg} +9 -9
  111. package/src/components/Layout/Header/assets/{newAssets/peoplex.svg → peoplex.svg} +12 -12
  112. package/src/components/Layout/Header/assets/{newAssets/pepolex.png → pepolex.png} +0 -0
  113. package/src/components/Layout/Header/assets/{newAssets/squarex.svg → squarex.svg} +12 -12
  114. package/src/components/Layout/Header/icons.tsx +57 -57
  115. package/src/components/Layout/Header/index.tsx +1 -1
  116. package/src/components/Layout/Header/styles.tsx +98 -98
  117. package/src/components/Layout/Tickets/MyTickets.tsx +74 -0
  118. package/src/components/Layout/Tickets/Services.tsx +6 -0
  119. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -0
  120. package/src/components/Layout/Tickets/TimeLine.tsx +64 -0
  121. package/src/components/Layout/Tickets/index.tsx +1 -0
  122. package/src/components/Layout/Tickets/styles.tsx +136 -0
  123. package/src/components/LayoutWrapper.tsx +25 -25
  124. package/src/components/LinearProgress.tsx +19 -19
  125. package/src/components/ListItemButton.tsx +95 -94
  126. package/src/components/LoginForm.tsx +103 -103
  127. package/src/components/MediaRow/MediaRow.tsx +69 -69
  128. package/src/components/MediaRow/index.tsx +1 -1
  129. package/src/components/MenuButton.tsx +103 -103
  130. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  131. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  132. package/src/components/ModalButtons/index.tsx +4 -4
  133. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  134. package/src/components/NoDataIllustration/index.tsx +1 -1
  135. package/src/components/PageContent.tsx +17 -17
  136. package/src/components/PageHeader.tsx +52 -52
  137. package/src/components/PageNotFound.tsx +26 -26
  138. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  139. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  140. package/src/components/PopupConfirm/index.tsx +1 -1
  141. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  142. package/src/components/Router.tsx +7 -7
  143. package/src/components/Row/Row.tsx +24 -24
  144. package/src/components/Row/index.tsx +1 -1
  145. package/src/components/SearchBar/SearchBar.tsx +53 -53
  146. package/src/components/SearchBar/index.tsx +1 -1
  147. package/src/components/SideMenuHeader.tsx +29 -29
  148. package/src/components/SideNav.tsx +168 -168
  149. package/src/components/Spinner.tsx +18 -18
  150. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  151. package/src/components/StepsHeader/index.tsx +1 -1
  152. package/src/components/StyledTableContainer.tsx +33 -33
  153. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  154. package/src/components/SwitchButton/index.tsx +1 -1
  155. package/src/components/Table.tsx +42 -42
  156. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  157. package/src/components/TableComponent/Icons/index.tsx +50 -50
  158. package/src/components/TableComponent/ReactTable.tsx +293 -293
  159. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  160. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  161. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  162. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  163. package/src/components/TableComponent/index.tsx +226 -226
  164. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  165. package/src/components/TableComponent/styles.tsx +173 -173
  166. package/src/components/TableComponent/types.ts +57 -57
  167. package/src/components/Tabs/Tabs.tsx +52 -52
  168. package/src/components/Tabs/TabsContainer.tsx +50 -50
  169. package/src/components/Tabs/index.tsx +1 -1
  170. package/src/components/Tabs/styles.tsx +55 -55
  171. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  172. package/src/components/ToastContainer/index.tsx +1 -1
  173. package/src/components/UploadButton/UploadButton.tsx +126 -126
  174. package/src/components/UploadButton/index.tsx +1 -1
  175. package/src/components/UploadButton/types.ts +19 -19
  176. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  177. package/src/components/UploadDocument/index.tsx +1 -1
  178. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  179. package/src/components/UploadFileDialog/index.tsx +1 -1
  180. package/src/components/index.ts +86 -86
  181. package/src/config/axios.ts +74 -74
  182. package/src/config/axiosXTenant.ts +57 -57
  183. package/src/constants/UIConstants.ts +97 -97
  184. package/src/constants/formValidations.ts +6 -6
  185. package/src/constants/index.ts +5 -5
  186. package/src/constants/isDevelopment.ts +3 -3
  187. package/src/constants/permissions.ts +67 -67
  188. package/src/constants/validateMessages.ts +12 -12
  189. package/src/contexts/LoginFormProvider.tsx +39 -39
  190. package/src/contexts/Providers.tsx +59 -59
  191. package/src/contexts/QueryClientProvider.tsx +22 -22
  192. package/src/hooks/index.ts +3 -3
  193. package/src/hooks/useAppInit.ts +33 -33
  194. package/src/hooks/useAuth.ts +92 -91
  195. package/src/hooks/useFetch.ts +53 -53
  196. package/src/hooks/useRouter.ts +31 -31
  197. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  198. package/src/layouts/Components/icons/index.tsx +403 -403
  199. package/src/layouts/Components/styles.tsx +60 -60
  200. package/src/layouts/ComponentsLayout.tsx +3 -3
  201. package/src/permissions/PageWithPermission.tsx +18 -18
  202. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  203. package/src/permissions/PermissionsStore.ts +352 -352
  204. package/src/permissions/ValidateAccess.tsx +18 -18
  205. package/src/permissions/index.ts +3 -3
  206. package/src/react-app-env.d.ts +1 -1
  207. package/src/shared-state/AssetsStore.ts +15 -15
  208. package/src/shared-state/UserStore.ts +13 -13
  209. package/src/shared-state/index.ts +3 -3
  210. package/src/theme/App.less +3 -3
  211. package/src/theme/MuiThemeProvider.tsx +13 -13
  212. package/src/theme/customCssBaseline.ts +78 -78
  213. package/src/theme/index.css +75 -75
  214. package/src/theme/muiTheme.ts +490 -490
  215. package/src/theme/theme.d.ts +75 -75
  216. package/src/utils/alphabet.ts +23 -23
  217. package/src/utils/arrayPadEnd.ts +3 -3
  218. package/src/utils/formatCurrency.ts +9 -9
  219. package/src/utils/getUrlParams.ts +5 -5
  220. package/src/utils/index.ts +8 -8
  221. package/src/utils/logout.ts +24 -24
  222. package/src/utils/ordinalSuffixOf.ts +14 -14
  223. package/src/utils/romanize.ts +40 -40
  224. package/src/utils/withLocalization.tsx +11 -11
  225. package/src/utils/withRouteWrapper.tsx +25 -25
  226. package/src/utils/withSuspense.tsx +6 -6
  227. package/styled-components.tsx +60 -60
  228. package/todo.md +20 -20
  229. package/tsconfig.json +21 -21
  230. package/src/components/Layout/Header/FreshDeskHelpButton.tsx +0 -19
  231. package/src/components/Layout/Header/assets/campx.svg +0 -29
  232. package/src/components/Layout/Header/assets/collegex.png +0 -0
  233. package/src/components/Layout/Header/assets/enrollx.png +0 -0
  234. package/src/components/Layout/Header/assets/newAssets/campx.png +0 -0
  235. package/src/components/Layout/Header/assets/newAssets/examx.png +0 -0
  236. package/src/components/Layout/Header/assets/newAssets/hostelx.png +0 -0
  237. package/src/components/Layout/Header/assets/newAssets/payx.png +0 -0
  238. package/src/components/Layout/Header/assets/newexamx.png +0 -0
  239. package/src/components/Layout/Header/assets/newpayx.png +0 -0
  240. package/src/components/Layout/Header/assets/payxHeader.svg +0 -21
  241. package/src/components/Layout/Header/assets/peoplex.png +0 -0
  242. package/src/components/Layout/Header/assets/peoplexHeader.svg +0 -14
@@ -1,124 +1,124 @@
1
- import { Box, styled, Typography } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import { Link } from 'react-router-dom'
4
- import { isDevelopment } from '../../../constants/isDevelopment'
5
- import { applications } from './applications'
6
- import AppsMenu from './AppsMenu'
7
- import {
8
- collegex,
9
- commutex,
10
- enrollx,
11
- examx,
12
- hostelx,
13
- payx,
14
- peoplex,
15
- } from './assets'
16
-
17
- import CogWheelMenu from './CogWheelMenu'
18
- import FreshDeskHelpButton from './FreshDeskHelpButton'
19
- import Notification from './Notification'
20
- import { StyledHeader, StyledImageWrapper } from './styles'
21
- import UserBox from './UserBox'
22
-
23
- const StyledLogosWrapper = styled(Box)(() => ({
24
- display: 'flex',
25
- alignItems: 'center',
26
- gap: '10px',
27
- padding: '10px',
28
- transition: 'background ease 0.3s',
29
- borderRadius: '5px',
30
- '&:hover': {
31
- background: 'rgba(0, 0, 0, 0.05)',
32
- },
33
- }))
34
-
35
- const StyledLink = styled(Link)(() => ({
36
- textDecoration: 'none',
37
- }))
38
-
39
- const imageMap = {
40
- ums: collegex,
41
- enroll: enrollx,
42
- exams: examx,
43
- payments: payx,
44
- people: peoplex,
45
- campx: collegex,
46
- commute: commutex,
47
- hostel: hostelx,
48
- }
49
-
50
- interface AppHeaderProps {
51
- clientLogo: string
52
- username: string
53
- profileIcon: string
54
- permissions?: any
55
- userBoxActions: {
56
- label: ReactNode
57
- icon?: ReactNode
58
- onClick: any
59
- }[]
60
- cogWheelMenu?: { label: string; path: string }[]
61
- }
62
-
63
- export default function AppHeader({
64
- clientLogo = imageMap.campx,
65
- username,
66
- profileIcon,
67
- permissions,
68
- userBoxActions = [],
69
- cogWheelMenu = [],
70
- }: AppHeaderProps) {
71
- return (
72
- <StyledHeader>
73
- <Box sx={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
74
- <AppsMenu />
75
- <AppLogo clientLogo={clientLogo} />
76
- </Box>
77
- <Box className="actions">
78
- <FreshDeskHelpButton />
79
- {/* <Notification /> */}
80
- {cogWheelMenu?.length ? <CogWheelMenu menu={cogWheelMenu} /> : null}
81
- <UserBox
82
- username={username}
83
- profileIcon={profileIcon}
84
- actions={userBoxActions}
85
- />
86
- </Box>
87
- </StyledHeader>
88
- )
89
- }
90
-
91
- const AppLogo = ({ clientLogo }) => {
92
- const originSubdomain = window.location.host.split('.')?.slice(-3)[0] ?? 'ums'
93
- const currentApp =
94
- applications.find((item) => item.key === originSubdomain)?.key ?? 'campx'
95
-
96
- return (
97
- <StyledLink to={'/'}>
98
- <StyledLogosWrapper>
99
- <StyledImageWrapper>
100
- <img src={imageMap[currentApp]} />
101
- </StyledImageWrapper>
102
- <Box
103
- sx={{
104
- height: '26px',
105
- width: '2px',
106
- background: 'gray',
107
- }}
108
- ></Box>
109
- <StyledImageWrapper>
110
- {isDevelopment ? (
111
- <Typography variant="h1">Developer</Typography>
112
- ) : (
113
- <img
114
- src={clientLogo}
115
- onError={(e: any) => {
116
- e.target.src = imageMap.campx
117
- }}
118
- />
119
- )}
120
- </StyledImageWrapper>
121
- </StyledLogosWrapper>
122
- </StyledLink>
123
- )
124
- }
1
+ import { Box, styled, Typography } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+ import { Link } from 'react-router-dom'
4
+ import { isDevelopment } from '../../../constants/isDevelopment'
5
+ import { applications } from './applications'
6
+ import AppsMenu from './AppsMenu'
7
+ import {
8
+ collegex,
9
+ commutex,
10
+ enrollx,
11
+ examx,
12
+ hostelx,
13
+ payx,
14
+ peoplex,
15
+ } from './assets'
16
+
17
+ import CogWheelMenu from './CogWheelMenu'
18
+ import HelpWidget from './HelpWidget/HelpWidget'
19
+ import Notification from './Notification'
20
+ import { StyledHeader, StyledImageWrapper } from './styles'
21
+ import UserBox from './UserBox'
22
+
23
+ const StyledLogosWrapper = styled(Box)(() => ({
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ gap: '10px',
27
+ padding: '10px',
28
+ transition: 'background ease 0.3s',
29
+ borderRadius: '5px',
30
+ '&:hover': {
31
+ background: 'rgba(0, 0, 0, 0.05)',
32
+ },
33
+ }))
34
+
35
+ const StyledLink = styled(Link)(() => ({
36
+ textDecoration: 'none',
37
+ }))
38
+
39
+ const imageMap = {
40
+ ums: collegex,
41
+ enroll: enrollx,
42
+ exams: examx,
43
+ payments: payx,
44
+ people: peoplex,
45
+ campx: collegex,
46
+ commute: commutex,
47
+ hostel: hostelx,
48
+ }
49
+
50
+ interface AppHeaderProps {
51
+ clientLogo: string
52
+ username: string
53
+ profileIcon: string
54
+ permissions?: any
55
+ userBoxActions: {
56
+ label: ReactNode
57
+ icon?: ReactNode
58
+ onClick: any
59
+ }[]
60
+ cogWheelMenu?: { label: string; path: string }[]
61
+ }
62
+
63
+ export default function AppHeader({
64
+ clientLogo = imageMap.campx,
65
+ username,
66
+ profileIcon,
67
+ permissions,
68
+ userBoxActions = [],
69
+ cogWheelMenu = [],
70
+ }: AppHeaderProps) {
71
+ return (
72
+ <StyledHeader>
73
+ <Box sx={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
74
+ <AppsMenu />
75
+ <AppLogo clientLogo={clientLogo} />
76
+ </Box>
77
+ <Box className="actions">
78
+ <HelpWidget />
79
+ {/* <Notification /> */}
80
+ {cogWheelMenu?.length ? <CogWheelMenu menu={cogWheelMenu} /> : null}
81
+ <UserBox
82
+ username={username}
83
+ profileIcon={profileIcon}
84
+ actions={userBoxActions}
85
+ />
86
+ </Box>
87
+ </StyledHeader>
88
+ )
89
+ }
90
+
91
+ const AppLogo = ({ clientLogo }) => {
92
+ const originSubdomain = window.location.host.split('.')?.slice(-3)[0] ?? 'ums'
93
+ const currentApp =
94
+ applications.find((item) => item.key === originSubdomain)?.key ?? 'campx'
95
+
96
+ return (
97
+ <StyledLink to={'/'}>
98
+ <StyledLogosWrapper>
99
+ <StyledImageWrapper>
100
+ <img src={imageMap[currentApp]} />
101
+ </StyledImageWrapper>
102
+ <Box
103
+ sx={{
104
+ height: '26px',
105
+ width: '2px',
106
+ background: 'gray',
107
+ }}
108
+ ></Box>
109
+ <StyledImageWrapper>
110
+ {isDevelopment ? (
111
+ <Typography variant="h1">Developer</Typography>
112
+ ) : (
113
+ <img
114
+ src={clientLogo}
115
+ onError={(e: any) => {
116
+ e.target.src = imageMap.campx
117
+ }}
118
+ />
119
+ )}
120
+ </StyledImageWrapper>
121
+ </StyledLogosWrapper>
122
+ </StyledLink>
123
+ )
124
+ }
@@ -1,92 +1,92 @@
1
- import { Box, Menu, Typography } from '@mui/material'
2
- import { useState } from 'react'
3
- import { applications } from './applications'
4
- import { AppsIcon } from './icons'
5
- import {
6
- StyledDescription,
7
- StyledIconButton,
8
- StyledMenuItem,
9
- StyledMenuItemContainer,
10
- StyledLink,
11
- } from './styles'
12
-
13
- const AppsMenu = () => {
14
- const [anchorEl, setAnchorEl] = useState<any>(null)
15
- const open = Boolean(anchorEl)
16
-
17
- const handleClick = (event) => {
18
- setAnchorEl(event.currentTarget)
19
- }
20
-
21
- const handleClose = () => {
22
- setAnchorEl(null)
23
- }
24
-
25
- return (
26
- <>
27
- <StyledIconButton onClick={handleClick}>
28
- <AppsIcon />
29
- </StyledIconButton>
30
-
31
- <Menu
32
- transitionDuration={150}
33
- elevation={3}
34
- id="basic-menu"
35
- anchorEl={anchorEl}
36
- open={open}
37
- onClose={handleClose}
38
- anchorOrigin={{
39
- vertical: 'bottom',
40
- horizontal: 'left',
41
- }}
42
- transformOrigin={{
43
- vertical: 'top',
44
- horizontal: 'left',
45
- }}
46
- sx={{
47
- '& .MuiPaper-root': {
48
- left: '0 !important',
49
- top: '64px !important',
50
- },
51
- }}
52
- >
53
- <Box sx={{ padding: '0.3rem 1rem' }}>
54
- <Typography variant="body2">Switch to</Typography>
55
- </Box>
56
- <Box>
57
- {applications.map((item, index) => (
58
- <StyledLink href={item.path}>
59
- <StyledMenuItemContainer
60
- key={index}
61
- onClick={() => {
62
- window.location.href = item.path
63
- handleClose()
64
- }}
65
- >
66
- <MenuItem data={item} />
67
- </StyledMenuItemContainer>
68
- </StyledLink>
69
- ))}
70
- </Box>
71
- </Menu>
72
- </>
73
- )
74
- }
75
-
76
- export default AppsMenu
77
-
78
- const MenuItem = ({ data }) => {
79
- return (
80
- <StyledMenuItem>
81
- <Box>
82
- <img src={data.icon} style={{ width: '32px', height: '32px' }} />
83
- </Box>
84
- <Box>
85
- <Typography variant="h1" sx={{ marginBottom: '7px' }}>
86
- {data?.title}
87
- </Typography>
88
- <StyledDescription>{data?.description}</StyledDescription>
89
- </Box>
90
- </StyledMenuItem>
91
- )
92
- }
1
+ import { Box, Menu, Typography } from '@mui/material'
2
+ import { useState } from 'react'
3
+ import { applications } from './applications'
4
+ import { AppsIcon } from './icons'
5
+ import {
6
+ StyledDescription,
7
+ StyledIconButton,
8
+ StyledMenuItem,
9
+ StyledMenuItemContainer,
10
+ StyledLink,
11
+ } from './styles'
12
+
13
+ const AppsMenu = () => {
14
+ const [anchorEl, setAnchorEl] = useState<any>(null)
15
+ const open = Boolean(anchorEl)
16
+
17
+ const handleClick = (event) => {
18
+ setAnchorEl(event.currentTarget)
19
+ }
20
+
21
+ const handleClose = () => {
22
+ setAnchorEl(null)
23
+ }
24
+
25
+ return (
26
+ <>
27
+ <StyledIconButton onClick={handleClick}>
28
+ <AppsIcon />
29
+ </StyledIconButton>
30
+
31
+ <Menu
32
+ transitionDuration={150}
33
+ elevation={3}
34
+ id="basic-menu"
35
+ anchorEl={anchorEl}
36
+ open={open}
37
+ onClose={handleClose}
38
+ anchorOrigin={{
39
+ vertical: 'bottom',
40
+ horizontal: 'left',
41
+ }}
42
+ transformOrigin={{
43
+ vertical: 'top',
44
+ horizontal: 'left',
45
+ }}
46
+ sx={{
47
+ '& .MuiPaper-root': {
48
+ left: '0 !important',
49
+ top: '64px !important',
50
+ },
51
+ }}
52
+ >
53
+ <Box sx={{ padding: '0.3rem 1rem' }}>
54
+ <Typography variant="body2">Switch to</Typography>
55
+ </Box>
56
+ <Box>
57
+ {applications.map((item, index) => (
58
+ <StyledLink href={item.path}>
59
+ <StyledMenuItemContainer
60
+ key={index}
61
+ onClick={() => {
62
+ window.location.href = item.path
63
+ handleClose()
64
+ }}
65
+ >
66
+ <MenuItem data={item} />
67
+ </StyledMenuItemContainer>
68
+ </StyledLink>
69
+ ))}
70
+ </Box>
71
+ </Menu>
72
+ </>
73
+ )
74
+ }
75
+
76
+ export default AppsMenu
77
+
78
+ const MenuItem = ({ data }) => {
79
+ return (
80
+ <StyledMenuItem>
81
+ <Box>
82
+ <img src={data.icon} style={{ width: '32px', height: '32px' }} />
83
+ </Box>
84
+ <Box>
85
+ <Typography variant="h1" sx={{ marginBottom: '7px' }}>
86
+ {data?.title}
87
+ </Typography>
88
+ <StyledDescription>{data?.description}</StyledDescription>
89
+ </Box>
90
+ </StyledMenuItem>
91
+ )
92
+ }
@@ -1,33 +1,33 @@
1
- import { SettingsOutlined } from '@mui/icons-material'
2
- import { IconButton } from '@mui/material'
3
- import { useHistory } from '../../../hooks/useRouter'
4
- import MenuButton from '../../MenuButton'
5
-
6
- const CogWheelMenu = ({ menu }) => {
7
- const history = useHistory()
8
-
9
- return (
10
- <MenuButton
11
- anchor={
12
- <IconButton color="secondary">
13
- <SettingsOutlined />
14
- </IconButton>
15
- }
16
- menu={menu?.map((item) => ({
17
- label: item?.label,
18
- onClick: () => {
19
- history.push(item?.path)
20
- },
21
- }))}
22
- menuProps={{
23
- PaperProps: { sx: { top: '64px !important' } },
24
- transformOrigin: {
25
- horizontal: 'center',
26
- vertical: 'bottom',
27
- },
28
- }}
29
- />
30
- )
31
- }
32
-
33
- export default CogWheelMenu
1
+ import { SettingsOutlined } from '@mui/icons-material'
2
+ import { IconButton } from '@mui/material'
3
+ import { useHistory } from '../../../hooks/useRouter'
4
+ import MenuButton from '../../MenuButton'
5
+
6
+ const CogWheelMenu = ({ menu }) => {
7
+ const history = useHistory()
8
+
9
+ return (
10
+ <MenuButton
11
+ anchor={
12
+ <IconButton color="secondary">
13
+ <SettingsOutlined />
14
+ </IconButton>
15
+ }
16
+ menu={menu?.map((item) => ({
17
+ label: item?.label,
18
+ onClick: () => {
19
+ history.push(item?.path)
20
+ },
21
+ }))}
22
+ menuProps={{
23
+ PaperProps: { sx: { top: '64px !important' } },
24
+ transformOrigin: {
25
+ horizontal: 'center',
26
+ vertical: 'bottom',
27
+ },
28
+ }}
29
+ />
30
+ )
31
+ }
32
+
33
+ export default CogWheelMenu