@campxdev/shared 1.6.1 → 1.6.3

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 (219) 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/index.ts +13 -13
  5. package/src/assets/fonts/poppins/index.ts +18 -18
  6. package/src/assets/images/index.ts +17 -17
  7. package/src/assets/images/unauth.svg +92 -92
  8. package/src/components/ActionButton.tsx +20 -20
  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 +123 -123
  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/AnchorElement.tsx +44 -44
  24. package/src/components/DropDownButton/DropDownButton.tsx +184 -184
  25. package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
  26. package/src/components/DropDownButton/index.tsx +1 -1
  27. package/src/components/DropDownButton/styles.tsx +59 -59
  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/FilterComponents/FilterButton.tsx +56 -56
  34. package/src/components/FilterComponents/SearchBar.tsx +45 -45
  35. package/src/components/FloatingContainer.tsx +33 -33
  36. package/src/components/Form/Form.tsx +156 -156
  37. package/src/components/Form/RenderForm.tsx +188 -188
  38. package/src/components/FullCalendar/Actions.tsx +162 -162
  39. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  40. package/src/components/FullScreenLoader.tsx +19 -19
  41. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  42. package/src/components/HookForm/DatePicker.tsx +40 -40
  43. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  44. package/src/components/HookForm/FormLabel.tsx +14 -14
  45. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  46. package/src/components/HookForm/MultiSelect.tsx +53 -53
  47. package/src/components/HookForm/RadioGroup.tsx +45 -45
  48. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  49. package/src/components/HookForm/SingleSelect.tsx +46 -46
  50. package/src/components/HookForm/TextField.tsx +40 -40
  51. package/src/components/HookForm/TimePicker.tsx +40 -40
  52. package/src/components/HookForm/index.ts +23 -23
  53. package/src/components/IconButtons/IconButtons.tsx +137 -137
  54. package/src/components/IconButtons/Icons.tsx +268 -268
  55. package/src/components/IconButtons/assets/edit.svg +4 -4
  56. package/src/components/IconButtons/assets/eye.svg +6 -6
  57. package/src/components/IconButtons/assets/trash.svg +7 -7
  58. package/src/components/IconButtons/index.tsx +8 -8
  59. package/src/components/IconLabel.tsx +37 -37
  60. package/src/components/Image/Image.tsx +45 -45
  61. package/src/components/Image/index.tsx +1 -1
  62. package/src/components/ImageUpload.tsx +98 -98
  63. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  64. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  65. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  66. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  67. package/src/components/Input/DatePicker.tsx +73 -73
  68. package/src/components/Input/DateRangePicker.tsx +105 -105
  69. package/src/components/Input/DateTimePicker.tsx +81 -81
  70. package/src/components/Input/FormLabel.tsx +21 -21
  71. package/src/components/Input/MultiCheckbox.tsx +64 -64
  72. package/src/components/Input/MultiSelect.tsx +150 -150
  73. package/src/components/Input/RadioGroup.tsx +104 -104
  74. package/src/components/Input/SingleCheckbox.tsx +78 -78
  75. package/src/components/Input/SingleSelect.tsx +104 -104
  76. package/src/components/Input/TextField.tsx +46 -46
  77. package/src/components/Input/TimePicker.tsx +74 -74
  78. package/src/components/Input/index.ts +26 -26
  79. package/src/components/Input/types.ts +3 -3
  80. package/src/components/JsonPreview.tsx +7 -7
  81. package/src/components/LabelValue.tsx +21 -21
  82. package/src/components/Layout/ChangePassword.tsx +49 -49
  83. package/src/components/Layout/Header/AppHeader.tsx +121 -102
  84. package/src/components/Layout/Header/AppsMenu.tsx +102 -102
  85. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  86. package/src/components/Layout/Header/Notification.tsx +13 -13
  87. package/src/components/Layout/Header/UserBox.tsx +61 -70
  88. package/src/components/Layout/Header/applications.ts +91 -91
  89. package/src/components/Layout/Header/assets/campx_square_small.svg +8 -8
  90. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  91. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  92. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  93. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  94. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  95. package/src/components/Layout/Header/assets/exams_small.svg +11 -11
  96. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  97. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  98. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  99. package/src/components/Layout/Header/assets/index.ts +33 -33
  100. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  101. package/src/components/Layout/Header/assets/pay_small.svg +15 -15
  102. package/src/components/Layout/Header/assets/payx.svg +19 -19
  103. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  104. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  105. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  106. package/src/components/Layout/Header/icons.tsx +57 -57
  107. package/src/components/Layout/Header/index.tsx +1 -1
  108. package/src/components/Layout/Header/styles.tsx +133 -133
  109. package/src/components/Layout/Helmet.tsx +49 -49
  110. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  111. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  112. package/src/components/Layout/SideNav.tsx +168 -168
  113. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  114. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  115. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  116. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  117. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  118. package/src/components/Layout/Tickets/index.tsx +1 -1
  119. package/src/components/Layout/Tickets/services.ts +11 -11
  120. package/src/components/Layout/Tickets/styles.tsx +136 -136
  121. package/src/components/LinearProgress.tsx +19 -19
  122. package/src/components/ListItemButton.tsx +95 -95
  123. package/src/components/LoginForm.tsx +80 -80
  124. package/src/components/MediaRow/MediaRow.tsx +69 -69
  125. package/src/components/MediaRow/index.tsx +1 -1
  126. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  127. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  128. package/src/components/ModalButtons/index.tsx +4 -4
  129. package/src/components/NoDataIllustration.tsx +32 -32
  130. package/src/components/PageContent.tsx +12 -12
  131. package/src/components/PageHeader.tsx +55 -55
  132. package/src/components/PageNotFound.tsx +26 -26
  133. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  134. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  135. package/src/components/PopupConfirm/index.tsx +1 -1
  136. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  137. package/src/components/Row.tsx +24 -24
  138. package/src/components/Spinner.tsx +18 -18
  139. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  140. package/src/components/StepsHeader/index.tsx +1 -1
  141. package/src/components/StyledTableContainer.tsx +33 -33
  142. package/src/components/SwitchButton.tsx +41 -41
  143. package/src/components/Table.tsx +42 -42
  144. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  145. package/src/components/TableComponent/Icons/index.tsx +50 -50
  146. package/src/components/TableComponent/ReactTable.tsx +295 -295
  147. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  148. package/src/components/TableComponent/Table.tsx +197 -197
  149. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  150. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  151. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  152. package/src/components/TableComponent/index.tsx +1 -1
  153. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  154. package/src/components/TableComponent/styles.tsx +170 -170
  155. package/src/components/TableComponent/types.ts +57 -57
  156. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  157. package/src/components/Tabs/Tabs.tsx +53 -53
  158. package/src/components/Tabs/TabsContainer.tsx +50 -50
  159. package/src/components/Tabs/index.tsx +1 -1
  160. package/src/components/Tabs/styles.tsx +55 -55
  161. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  162. package/src/components/ToastContainer/index.tsx +1 -1
  163. package/src/components/UploadButton/UploadButton.tsx +126 -126
  164. package/src/components/UploadButton/index.tsx +1 -1
  165. package/src/components/UploadButton/types.ts +19 -19
  166. package/src/components/UploadDocument.tsx +108 -108
  167. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  168. package/src/components/UploadFileDialog/index.tsx +1 -1
  169. package/src/components/index.ts +93 -93
  170. package/src/config/axios.ts +73 -73
  171. package/src/config/axiosEvaluator.ts +53 -53
  172. package/src/config/axiosXTenant.ts +57 -57
  173. package/src/constants/UIConstants.ts +97 -97
  174. package/src/constants/formValidations.ts +6 -6
  175. package/src/constants/index.ts +5 -5
  176. package/src/constants/isDevelopment.ts +3 -3
  177. package/src/constants/permissions.ts +67 -67
  178. package/src/constants/validateMessages.ts +12 -12
  179. package/src/contexts/LoginFormProvider.tsx +39 -39
  180. package/src/contexts/Providers.tsx +44 -73
  181. package/src/contexts/PublicProviders.tsx +30 -30
  182. package/src/contexts/QueryClientProvider.tsx +22 -22
  183. package/src/hooks/index.ts +4 -4
  184. package/src/hooks/useAuth.ts +96 -96
  185. package/src/hooks/useFetch.ts +53 -53
  186. package/src/hooks/useFilters.ts +80 -80
  187. package/src/hooks/useRouter.ts +31 -31
  188. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  189. package/src/layouts/Components/icons/index.tsx +403 -403
  190. package/src/layouts/Components/styles.tsx +74 -74
  191. package/src/layouts/ComponentsLayout.tsx +3 -3
  192. package/src/permissions/PageWithPermission.tsx +18 -18
  193. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  194. package/src/permissions/ValidateAccess.tsx +18 -18
  195. package/src/permissions/index.ts +2 -2
  196. package/src/react-app-env.d.ts +1 -1
  197. package/src/shared-state/AssetsStore.ts +15 -15
  198. package/src/shared-state/PermissionsStore.ts +352 -352
  199. package/src/shared-state/UserStore.ts +13 -13
  200. package/src/shared-state/index.ts +4 -4
  201. package/src/theme/App.less +3 -3
  202. package/src/theme/MuiThemeProvider.tsx +18 -13
  203. package/src/theme/customCssBaseline.ts +135 -135
  204. package/src/theme/index.css +28 -28
  205. package/src/theme/muiTheme.ts +592 -592
  206. package/src/theme/theme.d.ts +75 -75
  207. package/src/utils/alphabet.ts +23 -23
  208. package/src/utils/arrayPadEnd.ts +3 -3
  209. package/src/utils/formatCurrency.ts +9 -9
  210. package/src/utils/getUrlParams.ts +5 -5
  211. package/src/utils/index.ts +7 -7
  212. package/src/utils/logout.ts +25 -25
  213. package/src/utils/ordinalSuffixOf.ts +14 -14
  214. package/src/utils/romanize.ts +40 -40
  215. package/src/utils/withRouteWrapper.tsx +25 -25
  216. package/src/utils/withSuspense.tsx +6 -6
  217. package/styled-components.tsx +60 -60
  218. package/tsconfig.json +21 -21
  219. package/yarn-error.log +0 -109
@@ -1,102 +1,102 @@
1
- import { Box, Menu, Typography } from '@mui/material'
2
- import Cookies from 'js-cookie'
3
- import { useState } from 'react'
4
- import { applications } from './applications'
5
- import { AppsIcon } from './icons'
6
- import {
7
- StyledDescription,
8
- StyledIconButton,
9
- StyledMenuItem,
10
- StyledMenuItemContainer,
11
- StyledLink,
12
- StyledImageBox,
13
- } from './styles'
14
-
15
- export const campxTenantKey = Cookies.get('campx_tenant')
16
-
17
- const AppsMenu = () => {
18
- const [anchorEl, setAnchorEl] = useState<any>(null)
19
- const open = Boolean(anchorEl)
20
-
21
- const handleClick = (event) => {
22
- setAnchorEl(event.currentTarget)
23
- }
24
-
25
- const handleClose = () => {
26
- setAnchorEl(null)
27
- }
28
-
29
- return (
30
- <>
31
- <StyledIconButton onClick={handleClick}>
32
- <AppsIcon />
33
- </StyledIconButton>
34
-
35
- <Menu
36
- transitionDuration={150}
37
- elevation={3}
38
- id="basic-menu"
39
- anchorEl={anchorEl}
40
- open={open}
41
- onClose={handleClose}
42
- anchorOrigin={{
43
- vertical: 'bottom',
44
- horizontal: 'left',
45
- }}
46
- transformOrigin={{
47
- vertical: 'top',
48
- horizontal: 'left',
49
- }}
50
- sx={{
51
- '& .MuiPaper-root': {
52
- left: '0 !important',
53
- top: '64px !important',
54
- '&>:last-child': {
55
- paddingBottom: '0px',
56
- },
57
- },
58
- }}
59
- >
60
- <Box sx={{ padding: '0.3rem 1rem' }}>
61
- <Typography variant="body2">Switch to</Typography>
62
- </Box>
63
- <Box>
64
- {applications.map((item, index) => (
65
- <StyledLink
66
- href={item.path + `/${campxTenantKey ?? ''}`}
67
- key={index}
68
- >
69
- <StyledMenuItemContainer
70
- key={index}
71
- onClick={() => {
72
- window.location.href = item.path
73
- handleClose()
74
- }}
75
- >
76
- <MenuItem data={item} />
77
- </StyledMenuItemContainer>
78
- </StyledLink>
79
- ))}
80
- </Box>
81
- </Menu>
82
- </>
83
- )
84
- }
85
-
86
- export default AppsMenu
87
-
88
- const MenuItem = ({ data }) => {
89
- return (
90
- <StyledMenuItem>
91
- <StyledImageBox>
92
- <img src={data.icon} style={{ width: '20px', height: '20px' }} />
93
- </StyledImageBox>
94
- <Box>
95
- <Typography variant="h1" sx={{ marginBottom: '7px' }}>
96
- {data?.title}
97
- </Typography>
98
- <StyledDescription>{data?.description}</StyledDescription>
99
- </Box>
100
- </StyledMenuItem>
101
- )
102
- }
1
+ import { Box, Menu, Typography } from '@mui/material'
2
+ import Cookies from 'js-cookie'
3
+ import { useState } from 'react'
4
+ import { applications } from './applications'
5
+ import { AppsIcon } from './icons'
6
+ import {
7
+ StyledDescription,
8
+ StyledIconButton,
9
+ StyledMenuItem,
10
+ StyledMenuItemContainer,
11
+ StyledLink,
12
+ StyledImageBox,
13
+ } from './styles'
14
+
15
+ export const campxTenantKey = Cookies.get('campx_tenant')
16
+
17
+ const AppsMenu = () => {
18
+ const [anchorEl, setAnchorEl] = useState<any>(null)
19
+ const open = Boolean(anchorEl)
20
+
21
+ const handleClick = (event) => {
22
+ setAnchorEl(event.currentTarget)
23
+ }
24
+
25
+ const handleClose = () => {
26
+ setAnchorEl(null)
27
+ }
28
+
29
+ return (
30
+ <>
31
+ <StyledIconButton onClick={handleClick}>
32
+ <AppsIcon />
33
+ </StyledIconButton>
34
+
35
+ <Menu
36
+ transitionDuration={150}
37
+ elevation={3}
38
+ id="basic-menu"
39
+ anchorEl={anchorEl}
40
+ open={open}
41
+ onClose={handleClose}
42
+ anchorOrigin={{
43
+ vertical: 'bottom',
44
+ horizontal: 'left',
45
+ }}
46
+ transformOrigin={{
47
+ vertical: 'top',
48
+ horizontal: 'left',
49
+ }}
50
+ sx={{
51
+ '& .MuiPaper-root': {
52
+ left: '0 !important',
53
+ top: '64px !important',
54
+ '&>:last-child': {
55
+ paddingBottom: '0px',
56
+ },
57
+ },
58
+ }}
59
+ >
60
+ <Box sx={{ padding: '0.3rem 1rem' }}>
61
+ <Typography variant="body2">Switch to</Typography>
62
+ </Box>
63
+ <Box>
64
+ {applications.map((item, index) => (
65
+ <StyledLink
66
+ href={item.path + `/${campxTenantKey ?? ''}`}
67
+ key={index}
68
+ >
69
+ <StyledMenuItemContainer
70
+ key={index}
71
+ onClick={() => {
72
+ window.location.href = item.path
73
+ handleClose()
74
+ }}
75
+ >
76
+ <MenuItem data={item} />
77
+ </StyledMenuItemContainer>
78
+ </StyledLink>
79
+ ))}
80
+ </Box>
81
+ </Menu>
82
+ </>
83
+ )
84
+ }
85
+
86
+ export default AppsMenu
87
+
88
+ const MenuItem = ({ data }) => {
89
+ return (
90
+ <StyledMenuItem>
91
+ <StyledImageBox>
92
+ <img src={data.icon} style={{ width: '20px', height: '20px' }} />
93
+ </StyledImageBox>
94
+ <Box>
95
+ <Typography variant="h1" sx={{ marginBottom: '7px' }}>
96
+ {data?.title}
97
+ </Typography>
98
+ <StyledDescription>{data?.description}</StyledDescription>
99
+ </Box>
100
+ </StyledMenuItem>
101
+ )
102
+ }
@@ -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 DropDownButton from '../../DropDownButton/DropDownButton'
5
-
6
- const CogWheelMenu = ({ menu }) => {
7
- const history = useHistory()
8
-
9
- return (
10
- <DropDownButton
11
- anchor={({ open }) => (
12
- <IconButton color="secondary" onClick={open}>
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: 'top',
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 DropDownButton from '../../DropDownButton/DropDownButton'
5
+
6
+ const CogWheelMenu = ({ menu }) => {
7
+ const history = useHistory()
8
+
9
+ return (
10
+ <DropDownButton
11
+ anchor={({ open }) => (
12
+ <IconButton color="secondary" onClick={open}>
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: 'top',
27
+ },
28
+ }}
29
+ />
30
+ )
31
+ }
32
+
33
+ export default CogWheelMenu
@@ -1,13 +1,13 @@
1
- import { IconButton } from '@mui/material'
2
- import { NotificationIcon } from './icons'
3
-
4
- function Notification() {
5
- return (
6
- <>
7
- <IconButton>
8
- <NotificationIcon />
9
- </IconButton>
10
- </>
11
- )
12
- }
13
- export default Notification
1
+ import { IconButton } from '@mui/material'
2
+ import { NotificationIcon } from './icons'
3
+
4
+ function Notification() {
5
+ return (
6
+ <>
7
+ <IconButton>
8
+ <NotificationIcon />
9
+ </IconButton>
10
+ </>
11
+ )
12
+ }
13
+ export default Notification
@@ -1,70 +1,61 @@
1
- import {
2
- ConfirmationNumberOutlined,
3
- ExitToAppOutlined,
4
- HttpsOutlined,
5
- } from '@mui/icons-material'
6
- import ConfirmationNumberOutlinedIcon from '@mui/icons-material/ConfirmationNumberOutlined'
7
- import { ReactNode } from 'react'
8
- import logout from '../../../utils/logout'
9
- import ChangePassword from '../../ChangePassword'
10
- import DropDownButton from '../../DropDownButton/DropDownButton'
11
- import { IMenuItemProps } from '../../DropDownButton/DropdownMenuItem'
12
- import { DialogButton } from '../../ModalButtons'
13
- import MyTickets from '../Tickets/MyTickets'
14
- import { StyledAvatar } from './styles'
15
-
16
- const getStartingLetters = (text: string) => {
17
- if (!text) return ''
18
- return text
19
- .split(' ')
20
- ?.map((w) => w[0])
21
- ?.join('')
22
- }
23
-
24
- export default function UserBox({
25
- fullName,
26
- actions,
27
- }: {
28
- fullName: string
29
- actions: IMenuItemProps[] | []
30
- }) {
31
- return (
32
- <>
33
- <DropDownButton
34
- anchor={({ open }) => (
35
- <StyledAvatar onClick={open}>
36
- {getStartingLetters(fullName)}
37
- </StyledAvatar>
38
- )}
39
- menu={[
40
- ...actions,
41
- {
42
- label: 'My Tickets',
43
- actionType: 'dialog',
44
- content: ({ close }) => <MyTickets close={close} />,
45
- contentTitle: 'My Tickets',
46
- icon: <ConfirmationNumberOutlined />,
47
- dialogProps: {
48
- maxWidth: 'xl',
49
- },
50
- },
51
- {
52
- label: 'Change Password',
53
- actionType: 'dialog',
54
- icon: <HttpsOutlined />,
55
- content: ({ close }) => <ChangePassword close={close} />,
56
- contentTitle: 'Change Password',
57
- },
58
- {
59
- label: 'Logout',
60
- icon: <ExitToAppOutlined />,
61
- onClick: logout,
62
- },
63
- ]}
64
- menuProps={{
65
- PaperProps: { sx: { top: '64px !important' } },
66
- }}
67
- />
68
- </>
69
- )
70
- }
1
+ import {
2
+ ConfirmationNumberOutlined,
3
+ ExitToAppOutlined,
4
+ HttpsOutlined,
5
+ } from '@mui/icons-material'
6
+ import ConfirmationNumberOutlinedIcon from '@mui/icons-material/ConfirmationNumberOutlined'
7
+ import { ReactNode } from 'react'
8
+ import logout from '../../../utils/logout'
9
+ import ChangePassword from '../../ChangePassword'
10
+ import DropDownButton from '../../DropDownButton/DropDownButton'
11
+ import { IMenuItemProps } from '../../DropDownButton/DropdownMenuItem'
12
+ import { DialogButton } from '../../ModalButtons'
13
+ import MyTickets from '../Tickets/MyTickets'
14
+ import { StyledAvatar } from './styles'
15
+
16
+ const getStartingLetters = (text: string) => {
17
+ if (!text) return ''
18
+ return text
19
+ .split(' ')
20
+ ?.map((w) => w[0])
21
+ ?.join('')
22
+ }
23
+
24
+ export default function UserBox({
25
+ fullName,
26
+ actions,
27
+ }: {
28
+ fullName: string
29
+ actions: IMenuItemProps[] | []
30
+ }) {
31
+ return (
32
+ <>
33
+ <DropDownButton
34
+ anchor={({ open }) => (
35
+ <StyledAvatar onClick={open}>
36
+ {getStartingLetters(fullName)}
37
+ </StyledAvatar>
38
+ )}
39
+ menu={[
40
+ ...actions,
41
+
42
+ {
43
+ label: 'Change Password',
44
+ actionType: 'dialog',
45
+ icon: <HttpsOutlined />,
46
+ content: ({ close }) => <ChangePassword close={close} />,
47
+ contentTitle: 'Change Password',
48
+ },
49
+ {
50
+ label: 'Logout',
51
+ icon: <ExitToAppOutlined />,
52
+ onClick: logout,
53
+ },
54
+ ]}
55
+ menuProps={{
56
+ PaperProps: { sx: { top: '64px !important' } },
57
+ }}
58
+ />
59
+ </>
60
+ )
61
+ }
@@ -1,91 +1,91 @@
1
- import { isDevelopment } from '../../../constants'
2
- import {
3
- campxSquareSmall,
4
- examsSmall,
5
- hostelSmall,
6
- paySmall,
7
- peopleSmall,
8
- commuteSmall,
9
- } from './assets'
10
-
11
- const origins = {
12
- ums: {
13
- dev: 'https://ums.campx.dev',
14
- prod: 'https://ums.campx.in',
15
- },
16
- payments: {
17
- dev: 'https://payments.campx.dev',
18
- prod: 'https://payments.campx.in',
19
- },
20
- exams: {
21
- dev: 'https://exams.campx.dev',
22
- prod: 'https://exams.campx.in',
23
- },
24
- people: {
25
- dev: 'https://people.campx.dev',
26
- prod: 'https://people.campx.in',
27
- },
28
- hostel: {
29
- dev: 'https://hostel.campx.dev',
30
- prod: 'https://hostel.campx.in',
31
- },
32
- commute: {
33
- dev: 'https://commute.campx.dev',
34
- prod: 'https://commute.campx.in',
35
- },
36
- }
37
-
38
- export const applications = [
39
- {
40
- title: 'CollegeX',
41
- path: isDevelopment ? origins.ums.dev : origins.ums.prod,
42
- icon: campxSquareSmall,
43
- key: 'ums',
44
- description: 'Manage Complete Campus Activities',
45
- },
46
- {
47
- title: 'ExamX',
48
- key: 'exams',
49
- path: isDevelopment ? origins.exams.dev : origins.exams.prod,
50
- icon: examsSmall,
51
- description: 'Manage all Examinations in the Campus',
52
- },
53
- {
54
- title: 'PayX',
55
- key: 'payments',
56
- path: isDevelopment ? origins.payments.dev : origins.payments.prod,
57
- icon: paySmall,
58
- description: 'Manage Payments in the Campus',
59
- },
60
- {
61
- title: 'HostelX',
62
- key: 'hostel',
63
- path: isDevelopment ? origins.hostel.dev : origins.hostel.prod,
64
- icon: hostelSmall,
65
- description: 'Manage Hostels in the Campus',
66
- },
67
- {
68
- title: 'CommuteX',
69
- key: 'commute',
70
- path: isDevelopment ? origins.commute.dev : origins.commute.prod,
71
- icon: commuteSmall,
72
- description: 'Manage Commute in the Campus',
73
- },
74
- ...(isDevelopment
75
- ? [
76
- {
77
- title: 'PeopleX',
78
- key: 'people',
79
- path: isDevelopment ? origins.people.dev : origins.people.prod,
80
- icon: peopleSmall,
81
- description: 'Manage People in the Campus',
82
- },
83
- ]
84
- : []),
85
- // {
86
- // title: 'EnrollX',
87
- // path: '/hostel',
88
- // icon: enrollHeaderLogo,
89
- // // description: 'Manage Admissions in the Campus',
90
- // },
91
- ]
1
+ import { isDevelopment } from '../../../constants'
2
+ import {
3
+ campxSquareSmall,
4
+ examsSmall,
5
+ hostelSmall,
6
+ paySmall,
7
+ peopleSmall,
8
+ commuteSmall,
9
+ } from './assets'
10
+
11
+ const origins = {
12
+ ums: {
13
+ dev: 'https://ums.campx.dev',
14
+ prod: 'https://ums.campx.in',
15
+ },
16
+ payments: {
17
+ dev: 'https://payments.campx.dev',
18
+ prod: 'https://payments.campx.in',
19
+ },
20
+ exams: {
21
+ dev: 'https://exams.campx.dev',
22
+ prod: 'https://exams.campx.in',
23
+ },
24
+ people: {
25
+ dev: 'https://people.campx.dev',
26
+ prod: 'https://people.campx.in',
27
+ },
28
+ hostel: {
29
+ dev: 'https://hostel.campx.dev',
30
+ prod: 'https://hostel.campx.in',
31
+ },
32
+ commute: {
33
+ dev: 'https://commute.campx.dev',
34
+ prod: 'https://commute.campx.in',
35
+ },
36
+ }
37
+
38
+ export const applications = [
39
+ {
40
+ title: 'CollegeX',
41
+ path: isDevelopment ? origins.ums.dev : origins.ums.prod,
42
+ icon: campxSquareSmall,
43
+ key: 'ums',
44
+ description: 'Manage Complete Campus Activities',
45
+ },
46
+ {
47
+ title: 'ExamX',
48
+ key: 'exams',
49
+ path: isDevelopment ? origins.exams.dev : origins.exams.prod,
50
+ icon: examsSmall,
51
+ description: 'Manage all Examinations in the Campus',
52
+ },
53
+ {
54
+ title: 'PayX',
55
+ key: 'payments',
56
+ path: isDevelopment ? origins.payments.dev : origins.payments.prod,
57
+ icon: paySmall,
58
+ description: 'Manage Payments in the Campus',
59
+ },
60
+ {
61
+ title: 'HostelX',
62
+ key: 'hostel',
63
+ path: isDevelopment ? origins.hostel.dev : origins.hostel.prod,
64
+ icon: hostelSmall,
65
+ description: 'Manage Hostels in the Campus',
66
+ },
67
+ {
68
+ title: 'CommuteX',
69
+ key: 'commute',
70
+ path: isDevelopment ? origins.commute.dev : origins.commute.prod,
71
+ icon: commuteSmall,
72
+ description: 'Manage Commute in the Campus',
73
+ },
74
+ ...(isDevelopment
75
+ ? [
76
+ {
77
+ title: 'PeopleX',
78
+ key: 'people',
79
+ path: isDevelopment ? origins.people.dev : origins.people.prod,
80
+ icon: peopleSmall,
81
+ description: 'Manage People in the Campus',
82
+ },
83
+ ]
84
+ : []),
85
+ // {
86
+ // title: 'EnrollX',
87
+ // path: '/hostel',
88
+ // icon: enrollHeaderLogo,
89
+ // // description: 'Manage Admissions in the Campus',
90
+ // },
91
+ ]
@@ -1,9 +1,9 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="35" height="35" viewBox="0 0 35 35">
2
- <defs>
3
- <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
- <stop offset="0" stop-color="#596e79"/>
5
- <stop offset="1" stop-color="#7c909b"/>
6
- </linearGradient>
7
- </defs>
8
- <path id="Subtraction_7" data-name="Subtraction 7" d="M-5678.321,8264.99h-13.18v-13.234h6.563v6.672h6.617v6.563Zm21.82,0h-13.18v-6.562h6.617v-6.672h6.563v13.234Zm0-21.875h-6.562v-6.562h-6.617v-6.562h13.18v13.125Zm-28.437,0h-6.562V8229.99h13.18v6.563h-6.617v6.563Z" transform="translate(5691.501 -8229.99)" fill="url(#linear-gradient)"/>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="35" height="35" viewBox="0 0 35 35">
2
+ <defs>
3
+ <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
+ <stop offset="0" stop-color="#596e79"/>
5
+ <stop offset="1" stop-color="#7c909b"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <path id="Subtraction_7" data-name="Subtraction 7" d="M-5678.321,8264.99h-13.18v-13.234h6.563v6.672h6.617v6.563Zm21.82,0h-13.18v-6.562h6.617v-6.672h6.563v13.234Zm0-21.875h-6.562v-6.562h-6.617v-6.562h13.18v13.125Zm-28.437,0h-6.562V8229.99h13.18v6.563h-6.617v6.563Z" transform="translate(5691.501 -8229.99)" fill="url(#linear-gradient)"/>
9
9
  </svg>
@@ -1,14 +1,14 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="164.636" height="30" viewBox="0 0 164.636 30">
2
- <defs>
3
- <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
- <stop offset="0" stop-color="#6a2886"/>
5
- <stop offset="1" stop-color="#8234a4"/>
6
- </linearGradient>
7
- </defs>
8
- <g id="Group_4626" data-name="Group 4626" transform="translate(-154.491 -25)">
9
- <text id="COMMUTEX" transform="translate(186.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">COMMUTEX</tspan></text>
10
- <g id="Group_4542" data-name="Group 4542" transform="translate(1.791 -224.981)">
11
- <path id="Union_49" data-name="Union 49" d="M14.451,30l-3.59-4.941L7.271,30H.073L0,29.947,10.177,15.939H.007V14.064H10.226L3.657,5.031v0L0,0V0H7.312L10.9,4.941,14.492,0h7.2l.073.053L11.584,14.064H21.757v1.875H11.54l6.566,9.03v0L21.763,30v0Z" transform="translate(152.7 249.981)" fill="url(#linear-gradient)"/>
12
- </g>
13
- </g>
14
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="164.636" height="30" viewBox="0 0 164.636 30">
2
+ <defs>
3
+ <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
+ <stop offset="0" stop-color="#6a2886"/>
5
+ <stop offset="1" stop-color="#8234a4"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <g id="Group_4626" data-name="Group 4626" transform="translate(-154.491 -25)">
9
+ <text id="COMMUTEX" transform="translate(186.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">COMMUTEX</tspan></text>
10
+ <g id="Group_4542" data-name="Group 4542" transform="translate(1.791 -224.981)">
11
+ <path id="Union_49" data-name="Union 49" d="M14.451,30l-3.59-4.941L7.271,30H.073L0,29.947,10.177,15.939H.007V14.064H10.226L3.657,5.031v0L0,0V0H7.312L10.9,4.941,14.492,0h7.2l.073.053L11.584,14.064H21.757v1.875H11.54l6.566,9.03v0L21.763,30v0Z" transform="translate(152.7 249.981)" fill="url(#linear-gradient)"/>
12
+ </g>
13
+ </g>
14
+ </svg>