@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,98 +1,98 @@
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
- } from './styles'
13
-
14
- export const campxTenantKey = Cookies.get('campx_tenant')
15
-
16
- const AppsMenu = () => {
17
- const [anchorEl, setAnchorEl] = useState<any>(null)
18
- const open = Boolean(anchorEl)
19
-
20
- const handleClick = (event) => {
21
- setAnchorEl(event.currentTarget)
22
- }
23
-
24
- const handleClose = () => {
25
- setAnchorEl(null)
26
- }
27
-
28
- return (
29
- <>
30
- <StyledIconButton onClick={handleClick}>
31
- <AppsIcon />
32
- </StyledIconButton>
33
-
34
- <Menu
35
- transitionDuration={150}
36
- elevation={3}
37
- id="basic-menu"
38
- anchorEl={anchorEl}
39
- open={open}
40
- onClose={handleClose}
41
- anchorOrigin={{
42
- vertical: 'bottom',
43
- horizontal: 'left',
44
- }}
45
- transformOrigin={{
46
- vertical: 'top',
47
- horizontal: 'left',
48
- }}
49
- sx={{
50
- '& .MuiPaper-root': {
51
- left: '0 !important',
52
- top: '64px !important',
53
- },
54
- }}
55
- >
56
- <Box sx={{ padding: '0.3rem 1rem' }}>
57
- <Typography variant="body2">Switch to</Typography>
58
- </Box>
59
- <Box>
60
- {applications.map((item, index) => (
61
- <StyledLink
62
- href={item.path + `/${campxTenantKey ?? ''}`}
63
- key={index}
64
- >
65
- <StyledMenuItemContainer
66
- key={index}
67
- onClick={() => {
68
- window.location.href = item.path
69
- handleClose()
70
- }}
71
- >
72
- <MenuItem data={item} />
73
- </StyledMenuItemContainer>
74
- </StyledLink>
75
- ))}
76
- </Box>
77
- </Menu>
78
- </>
79
- )
80
- }
81
-
82
- export default AppsMenu
83
-
84
- const MenuItem = ({ data }) => {
85
- return (
86
- <StyledMenuItem>
87
- <Box>
88
- <img src={data.icon} style={{ width: '32px', height: '32px' }} />
89
- </Box>
90
- <Box>
91
- <Typography variant="h1" sx={{ marginBottom: '7px' }}>
92
- {data?.title}
93
- </Typography>
94
- <StyledDescription>{data?.description}</StyledDescription>
95
- </Box>
96
- </StyledMenuItem>
97
- )
98
- }
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
+ } from './styles'
13
+
14
+ export const campxTenantKey = Cookies.get('campx_tenant')
15
+
16
+ const AppsMenu = () => {
17
+ const [anchorEl, setAnchorEl] = useState<any>(null)
18
+ const open = Boolean(anchorEl)
19
+
20
+ const handleClick = (event) => {
21
+ setAnchorEl(event.currentTarget)
22
+ }
23
+
24
+ const handleClose = () => {
25
+ setAnchorEl(null)
26
+ }
27
+
28
+ return (
29
+ <>
30
+ <StyledIconButton onClick={handleClick}>
31
+ <AppsIcon />
32
+ </StyledIconButton>
33
+
34
+ <Menu
35
+ transitionDuration={150}
36
+ elevation={3}
37
+ id="basic-menu"
38
+ anchorEl={anchorEl}
39
+ open={open}
40
+ onClose={handleClose}
41
+ anchorOrigin={{
42
+ vertical: 'bottom',
43
+ horizontal: 'left',
44
+ }}
45
+ transformOrigin={{
46
+ vertical: 'top',
47
+ horizontal: 'left',
48
+ }}
49
+ sx={{
50
+ '& .MuiPaper-root': {
51
+ left: '0 !important',
52
+ top: '64px !important',
53
+ },
54
+ }}
55
+ >
56
+ <Box sx={{ padding: '0.3rem 1rem' }}>
57
+ <Typography variant="body2">Switch to</Typography>
58
+ </Box>
59
+ <Box>
60
+ {applications.map((item, index) => (
61
+ <StyledLink
62
+ href={item.path + `/${campxTenantKey ?? ''}`}
63
+ key={index}
64
+ >
65
+ <StyledMenuItemContainer
66
+ key={index}
67
+ onClick={() => {
68
+ window.location.href = item.path
69
+ handleClose()
70
+ }}
71
+ >
72
+ <MenuItem data={item} />
73
+ </StyledMenuItemContainer>
74
+ </StyledLink>
75
+ ))}
76
+ </Box>
77
+ </Menu>
78
+ </>
79
+ )
80
+ }
81
+
82
+ export default AppsMenu
83
+
84
+ const MenuItem = ({ data }) => {
85
+ return (
86
+ <StyledMenuItem>
87
+ <Box>
88
+ <img src={data.icon} style={{ width: '32px', height: '32px' }} />
89
+ </Box>
90
+ <Box>
91
+ <Typography variant="h1" sx={{ marginBottom: '7px' }}>
92
+ {data?.title}
93
+ </Typography>
94
+ <StyledDescription>{data?.description}</StyledDescription>
95
+ </Box>
96
+ </StyledMenuItem>
97
+ )
98
+ }
@@ -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,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
- 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
+ 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,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="320" height="320.001" viewBox="0 0 320 320.001">
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_37" data-name="Subtraction 37" d="M2495-5403H2175v-320h320v320Zm-260-260v200h200v-200Z" transform="translate(-2175 5723)" fill="url(#linear-gradient)"/>
9
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="320" height="320.001" viewBox="0 0 320 320.001">
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_37" data-name="Subtraction 37" d="M2495-5403H2175v-320h320v320Zm-260-260v200h200v-200Z" transform="translate(-2175 5723)" fill="url(#linear-gradient)"/>
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>