@campxdev/shared 1.1.3 → 1.1.5

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 (215) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +17 -17
  3. package/package.json +82 -82
  4. package/src/assets/fonts/avenir/index.ts +2 -2
  5. package/src/assets/fonts/poppins/index.ts +7 -7
  6. package/src/assets/images/index.ts +17 -17
  7. package/src/assets/images/unauth.svg +92 -92
  8. package/src/components/ActionButton.tsx +28 -28
  9. package/src/components/Attachment.tsx +26 -26
  10. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  11. package/src/components/AutocompleteSearch/index.tsx +1 -1
  12. package/src/components/Breadcrumbs.tsx +72 -72
  13. package/src/components/Card.tsx +98 -98
  14. package/src/components/CardsGrid.tsx +28 -28
  15. package/src/components/ChangePassword.tsx +164 -164
  16. package/src/components/Chips.tsx +81 -81
  17. package/src/components/Detail.tsx +15 -15
  18. package/src/components/DetailsGrid.tsx +52 -52
  19. package/src/components/DividerHeading.tsx +41 -41
  20. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
  21. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  22. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  23. package/src/components/DropDownButton.tsx +194 -194
  24. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  25. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  26. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  27. package/src/components/ErrorBoundary/index.tsx +1 -1
  28. package/src/components/ErrorBox.tsx +42 -42
  29. package/src/components/FloatingContainer.tsx +33 -33
  30. package/src/components/Form/Form.tsx +156 -156
  31. package/src/components/Form/RenderForm.tsx +188 -188
  32. package/src/components/FullCalendar/Actions.tsx +162 -162
  33. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  34. package/src/components/FullScreenLoader.tsx +19 -19
  35. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  36. package/src/components/HookForm/DatePicker.tsx +65 -65
  37. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  38. package/src/components/HookForm/FormLabel.tsx +14 -14
  39. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  40. package/src/components/HookForm/MultiSelect.tsx +100 -100
  41. package/src/components/HookForm/RadioGroup.tsx +106 -106
  42. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  43. package/src/components/HookForm/SingleSelect.tsx +94 -94
  44. package/src/components/HookForm/TextField.tsx +74 -74
  45. package/src/components/HookForm/TimePicker.tsx +82 -82
  46. package/src/components/HookForm/index.ts +23 -23
  47. package/src/components/IconButtons/IconButtons.tsx +137 -137
  48. package/src/components/IconButtons/Icons.tsx +268 -268
  49. package/src/components/IconButtons/assets/edit.svg +4 -4
  50. package/src/components/IconButtons/assets/eye.svg +6 -6
  51. package/src/components/IconButtons/assets/trash.svg +7 -7
  52. package/src/components/IconButtons/index.tsx +8 -8
  53. package/src/components/IconLabel.tsx +37 -37
  54. package/src/components/Image/Image.tsx +43 -43
  55. package/src/components/Image/index.tsx +1 -1
  56. package/src/components/ImageUpload.tsx +98 -98
  57. package/src/components/Input/AutoCompleteSearch.tsx +113 -113
  58. package/src/components/Input/DatePicker.tsx +60 -60
  59. package/src/components/Input/DateRangePicker.tsx +131 -131
  60. package/src/components/Input/DateTimePicker.tsx +70 -70
  61. package/src/components/Input/FormLabel.tsx +14 -14
  62. package/src/components/Input/MultiCheckbox.tsx +79 -79
  63. package/src/components/Input/MultiSelect.tsx +52 -52
  64. package/src/components/Input/RadioGroup.tsx +61 -61
  65. package/src/components/Input/SingleCheckbox.tsx +23 -23
  66. package/src/components/Input/SingleSelect.tsx +126 -126
  67. package/src/components/Input/TextField.tsx +50 -50
  68. package/src/components/Input/TimePicker.tsx +82 -82
  69. package/src/components/Input/index.ts +26 -26
  70. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  71. package/src/components/JsonPreview/index.tsx +1 -1
  72. package/src/components/LabelValue/LabelValue.tsx +21 -21
  73. package/src/components/LabelValue/index.tsx +1 -1
  74. package/src/components/Layout/ChangePassword.tsx +49 -49
  75. package/src/components/Layout/Header/AppHeader.tsx +124 -124
  76. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  77. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  78. package/src/components/Layout/Header/HelpWidget/HelpWidget.tsx +298 -298
  79. package/src/components/Layout/Header/HelpWidget/styles.tsx +94 -94
  80. package/src/components/Layout/Header/Notification.tsx +13 -13
  81. package/src/components/Layout/Header/UserBox.tsx +91 -91
  82. package/src/components/Layout/Header/applications.ts +90 -90
  83. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  84. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  85. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  86. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  87. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  88. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  89. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  90. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  91. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  92. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  93. package/src/components/Layout/Header/assets/index.ts +33 -33
  94. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  95. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  96. package/src/components/Layout/Header/assets/payx.svg +19 -19
  97. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  98. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  99. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  100. package/src/components/Layout/Header/icons.tsx +57 -57
  101. package/src/components/Layout/Header/index.tsx +1 -1
  102. package/src/components/Layout/Header/styles.tsx +98 -98
  103. package/src/components/Layout/Tickets/MyTickets.tsx +74 -74
  104. package/src/components/Layout/Tickets/Services.tsx +6 -6
  105. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -66
  106. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  107. package/src/components/Layout/Tickets/index.tsx +1 -1
  108. package/src/components/Layout/Tickets/styles.tsx +136 -136
  109. package/src/components/LayoutWrapper.tsx +25 -25
  110. package/src/components/LinearProgress.tsx +19 -19
  111. package/src/components/ListItemButton.tsx +95 -95
  112. package/src/components/LoginForm.tsx +105 -105
  113. package/src/components/MediaRow/MediaRow.tsx +69 -69
  114. package/src/components/MediaRow/index.tsx +1 -1
  115. package/src/components/MenuButton.tsx +103 -103
  116. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  117. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  118. package/src/components/ModalButtons/index.tsx +4 -4
  119. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  120. package/src/components/NoDataIllustration/index.tsx +1 -1
  121. package/src/components/PageContent.tsx +17 -17
  122. package/src/components/PageHeader.tsx +52 -52
  123. package/src/components/PageNotFound.tsx +26 -26
  124. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  125. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  126. package/src/components/PopupConfirm/index.tsx +1 -1
  127. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  128. package/src/components/Router.tsx +7 -7
  129. package/src/components/Row/Row.tsx +24 -24
  130. package/src/components/Row/index.tsx +1 -1
  131. package/src/components/SearchBar/SearchBar.tsx +53 -53
  132. package/src/components/SearchBar/index.tsx +1 -1
  133. package/src/components/SideMenuHeader.tsx +29 -29
  134. package/src/components/SideNav.tsx +168 -168
  135. package/src/components/Spinner.tsx +18 -18
  136. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  137. package/src/components/StepsHeader/index.tsx +1 -1
  138. package/src/components/StyledTableContainer.tsx +33 -33
  139. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  140. package/src/components/SwitchButton/index.tsx +1 -1
  141. package/src/components/Table.tsx +42 -42
  142. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  143. package/src/components/TableComponent/Icons/index.tsx +50 -50
  144. package/src/components/TableComponent/ReactTable.tsx +293 -293
  145. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  146. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  147. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  148. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  149. package/src/components/TableComponent/index.tsx +226 -226
  150. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  151. package/src/components/TableComponent/styles.tsx +173 -173
  152. package/src/components/TableComponent/types.ts +57 -57
  153. package/src/components/Tabs/Tabs.tsx +52 -52
  154. package/src/components/Tabs/TabsContainer.tsx +50 -50
  155. package/src/components/Tabs/index.tsx +1 -1
  156. package/src/components/Tabs/styles.tsx +55 -55
  157. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  158. package/src/components/ToastContainer/index.tsx +1 -1
  159. package/src/components/UploadButton/UploadButton.tsx +126 -126
  160. package/src/components/UploadButton/index.tsx +1 -1
  161. package/src/components/UploadButton/types.ts +19 -19
  162. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  163. package/src/components/UploadDocument/index.tsx +1 -1
  164. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  165. package/src/components/UploadFileDialog/index.tsx +1 -1
  166. package/src/components/index.ts +86 -86
  167. package/src/config/axios.ts +74 -74
  168. package/src/config/axiosXTenant.ts +57 -57
  169. package/src/constants/UIConstants.ts +97 -97
  170. package/src/constants/formValidations.ts +6 -6
  171. package/src/constants/index.ts +5 -5
  172. package/src/constants/isDevelopment.ts +3 -3
  173. package/src/constants/permissions.ts +67 -67
  174. package/src/constants/validateMessages.ts +12 -12
  175. package/src/contexts/LoginFormProvider.tsx +39 -39
  176. package/src/contexts/Providers.tsx +60 -60
  177. package/src/contexts/PublicProviders.tsx +30 -30
  178. package/src/contexts/QueryClientProvider.tsx +22 -22
  179. package/src/hooks/index.ts +3 -3
  180. package/src/hooks/useAppInit.ts +33 -33
  181. package/src/hooks/useAuth.ts +96 -96
  182. package/src/hooks/useFetch.ts +53 -53
  183. package/src/hooks/useRouter.ts +31 -31
  184. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  185. package/src/layouts/Components/icons/index.tsx +403 -403
  186. package/src/layouts/Components/styles.tsx +60 -60
  187. package/src/layouts/ComponentsLayout.tsx +3 -3
  188. package/src/permissions/PageWithPermission.tsx +18 -18
  189. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  190. package/src/permissions/ValidateAccess.tsx +18 -18
  191. package/src/permissions/index.ts +2 -2
  192. package/src/react-app-env.d.ts +1 -1
  193. package/src/shared-state/AssetsStore.ts +15 -15
  194. package/src/shared-state/PermissionsStore.ts +352 -352
  195. package/src/shared-state/UserStore.ts +13 -13
  196. package/src/shared-state/index.ts +4 -4
  197. package/src/theme/App.less +3 -3
  198. package/src/theme/MuiThemeProvider.tsx +13 -13
  199. package/src/theme/customCssBaseline.ts +78 -78
  200. package/src/theme/index.css +75 -75
  201. package/src/theme/muiTheme.ts +490 -490
  202. package/src/theme/theme.d.ts +75 -75
  203. package/src/utils/alphabet.ts +23 -23
  204. package/src/utils/arrayPadEnd.ts +3 -3
  205. package/src/utils/formatCurrency.ts +9 -9
  206. package/src/utils/getUrlParams.ts +5 -5
  207. package/src/utils/index.ts +8 -8
  208. package/src/utils/logout.ts +24 -24
  209. package/src/utils/ordinalSuffixOf.ts +14 -14
  210. package/src/utils/romanize.ts +40 -40
  211. package/src/utils/withLocalization.tsx +11 -11
  212. package/src/utils/withRouteWrapper.tsx +25 -25
  213. package/src/utils/withSuspense.tsx +6 -6
  214. package/styled-components.tsx +60 -60
  215. package/tsconfig.json +21 -21
@@ -1,49 +1,49 @@
1
- import { Button, Stack } from '@mui/material'
2
- import { useForm } from 'react-hook-form'
3
- import { toast } from 'react-toastify'
4
- import { FormTextField } from '..'
5
- import axios, { axiosErrorToast } from '../../config/axios'
6
-
7
- export default function ChangePassword({ close }) {
8
- const { handleSubmit, control } = useForm()
9
-
10
- const onSubmit = async (formData) => {
11
- try {
12
- await axios.post('/auth/change-password', formData)
13
- toast.success('Password Changed Successfully')
14
- } catch (error) {
15
- axiosErrorToast(error)
16
- }
17
- }
18
-
19
- return (
20
- <form onSubmit={handleSubmit(onSubmit)}>
21
- <Stack gap={2}>
22
- <FormTextField
23
- label="Old Password"
24
- control={control}
25
- name="oldPassword"
26
- required
27
- />
28
- <FormTextField
29
- label="New Password"
30
- control={control}
31
- name="newPassword"
32
- required
33
- />
34
- <FormTextField
35
- label="Confirm Password"
36
- control={control}
37
- name="password"
38
- required
39
- />
40
- <Stack>
41
- <Button variant="outlined" onClick={close}>
42
- Cancel
43
- </Button>
44
- <Button type="submit">Submit</Button>
45
- </Stack>
46
- </Stack>
47
- </form>
48
- )
49
- }
1
+ import { Button, Stack } from '@mui/material'
2
+ import { useForm } from 'react-hook-form'
3
+ import { toast } from 'react-toastify'
4
+ import { FormTextField } from '..'
5
+ import axios, { axiosErrorToast } from '../../config/axios'
6
+
7
+ export default function ChangePassword({ close }) {
8
+ const { handleSubmit, control } = useForm()
9
+
10
+ const onSubmit = async (formData) => {
11
+ try {
12
+ await axios.post('/auth/change-password', formData)
13
+ toast.success('Password Changed Successfully')
14
+ } catch (error) {
15
+ axiosErrorToast(error)
16
+ }
17
+ }
18
+
19
+ return (
20
+ <form onSubmit={handleSubmit(onSubmit)}>
21
+ <Stack gap={2}>
22
+ <FormTextField
23
+ label="Old Password"
24
+ control={control}
25
+ name="oldPassword"
26
+ required
27
+ />
28
+ <FormTextField
29
+ label="New Password"
30
+ control={control}
31
+ name="newPassword"
32
+ required
33
+ />
34
+ <FormTextField
35
+ label="Confirm Password"
36
+ control={control}
37
+ name="password"
38
+ required
39
+ />
40
+ <Stack>
41
+ <Button variant="outlined" onClick={close}>
42
+ Cancel
43
+ </Button>
44
+ <Button type="submit">Submit</Button>
45
+ </Stack>
46
+ </Stack>
47
+ </form>
48
+ )
49
+ }
@@ -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 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
+ 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} key={index}>
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} key={index}>
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