@campxdev/shared 1.8.13 → 1.8.14

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 (266) hide show
  1. package/package.json +20 -4
  2. package/antd.customize.less +0 -73
  3. package/exports.ts +0 -19
  4. package/src/assets/fonts/avenir/Avenir-Book.ttf +0 -0
  5. package/src/assets/fonts/avenir/Avenir-Heavy.ttf +0 -0
  6. package/src/assets/fonts/avenir/Avenir-HeavyOblique.ttf +0 -0
  7. package/src/assets/fonts/avenir/Avenir-Medium.ttf +0 -0
  8. package/src/assets/fonts/avenir/Avenir-MediumOblique.ttf +0 -0
  9. package/src/assets/fonts/avenir/index.ts +0 -13
  10. package/src/assets/fonts/poppins/Poppins-Bold.ttf +0 -0
  11. package/src/assets/fonts/poppins/Poppins-Italic.ttf +0 -0
  12. package/src/assets/fonts/poppins/Poppins-Light.ttf +0 -0
  13. package/src/assets/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  14. package/src/assets/fonts/poppins/Poppins-Medium.ttf +0 -0
  15. package/src/assets/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  16. package/src/assets/fonts/poppins/Poppins-Regular.ttf +0 -0
  17. package/src/assets/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  18. package/src/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  19. package/src/assets/fonts/poppins/index.ts +0 -18
  20. package/src/assets/images/401.png +0 -0
  21. package/src/assets/images/403.png +0 -0
  22. package/src/assets/images/404.png +0 -0
  23. package/src/assets/images/404notfound.svg +0 -1
  24. package/src/assets/images/500.png +0 -0
  25. package/src/assets/images/avatar.png +0 -0
  26. package/src/assets/images/campx_logo__full_primary.png +0 -0
  27. package/src/assets/images/index.ts +0 -17
  28. package/src/assets/images/internalservererror.svg +0 -1
  29. package/src/assets/images/noInternet.svg +0 -1
  30. package/src/assets/images/nointernet.png +0 -0
  31. package/src/assets/images/notfound.png +0 -0
  32. package/src/assets/images/pagenotfound.svg +0 -1
  33. package/src/assets/images/permissiondenied.svg +0 -1
  34. package/src/assets/images/unauth.svg +0 -92
  35. package/src/components/ActionButton.tsx +0 -20
  36. package/src/components/Attachment.tsx +0 -26
  37. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +0 -57
  38. package/src/components/AutocompleteSearch/index.tsx +0 -1
  39. package/src/components/Breadcrumbs.tsx +0 -72
  40. package/src/components/Card.tsx +0 -98
  41. package/src/components/CardsGrid.tsx +0 -28
  42. package/src/components/ChangePassword.tsx +0 -123
  43. package/src/components/Chips.tsx +0 -81
  44. package/src/components/Detail.tsx +0 -15
  45. package/src/components/DetailsGrid.tsx +0 -52
  46. package/src/components/DividerHeading.tsx +0 -41
  47. package/src/components/DrawerWrapper/DialogWrapper.tsx +0 -67
  48. package/src/components/DrawerWrapper/DrawerTemplate.tsx +0 -53
  49. package/src/components/DrawerWrapper/DrawerWrapper.tsx +0 -53
  50. package/src/components/DropDownButton/AnchorElement.tsx +0 -44
  51. package/src/components/DropDownButton/DropDownButton.tsx +0 -184
  52. package/src/components/DropDownButton/DropdownMenuItem.tsx +0 -110
  53. package/src/components/DropDownButton/index.tsx +0 -1
  54. package/src/components/DropDownButton/styles.tsx +0 -59
  55. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -33
  56. package/src/components/ErrorBoundary/ErrorFallback.tsx +0 -241
  57. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +0 -13
  58. package/src/components/ErrorBoundary/index.tsx +0 -1
  59. package/src/components/ErrorBox.tsx +0 -42
  60. package/src/components/ExcelToJsonInput/ExcelJsonUpload.tsx +0 -50
  61. package/src/components/ExcelToJsonInput/ExcelToJsonInput.tsx +0 -57
  62. package/src/components/ExcelToJsonInput/index.tsx +0 -1
  63. package/src/components/FilterComponents/FilterButton.tsx +0 -56
  64. package/src/components/FilterComponents/SearchBar.tsx +0 -45
  65. package/src/components/FloatingContainer.tsx +0 -33
  66. package/src/components/Form/Form.tsx +0 -147
  67. package/src/components/Form/RenderForm.tsx +0 -189
  68. package/src/components/FullScreenLoader.tsx +0 -19
  69. package/src/components/HookForm/AutoCompleteSearch.tsx +0 -113
  70. package/src/components/HookForm/DatePicker.tsx +0 -40
  71. package/src/components/HookForm/DateTimePicker.tsx +0 -47
  72. package/src/components/HookForm/FormLabel.tsx +0 -14
  73. package/src/components/HookForm/MultiCheckbox.tsx +0 -69
  74. package/src/components/HookForm/MultiSelect.tsx +0 -53
  75. package/src/components/HookForm/RadioGroup.tsx +0 -47
  76. package/src/components/HookForm/SingleCheckbox.tsx +0 -34
  77. package/src/components/HookForm/SingleSelect.tsx +0 -46
  78. package/src/components/HookForm/TextField.tsx +0 -40
  79. package/src/components/HookForm/TimePicker.tsx +0 -40
  80. package/src/components/HookForm/index.ts +0 -23
  81. package/src/components/IconButtons/IconButtons.tsx +0 -137
  82. package/src/components/IconButtons/Icons.tsx +0 -268
  83. package/src/components/IconButtons/assets/edit.svg +0 -4
  84. package/src/components/IconButtons/assets/eye.svg +0 -6
  85. package/src/components/IconButtons/assets/trash.svg +0 -7
  86. package/src/components/IconButtons/index.tsx +0 -8
  87. package/src/components/IconLabel.tsx +0 -37
  88. package/src/components/Image/Image.tsx +0 -45
  89. package/src/components/Image/broken-image.png +0 -0
  90. package/src/components/Image/index.tsx +0 -1
  91. package/src/components/ImageUpload.tsx +0 -98
  92. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +0 -216
  93. package/src/components/Input/AsyncSearchSelect/index.tsx +0 -1
  94. package/src/components/Input/AsyncSearchSelect/styles.tsx +0 -105
  95. package/src/components/Input/AutoCompleteSearch.tsx +0 -121
  96. package/src/components/Input/DatePicker.tsx +0 -87
  97. package/src/components/Input/DateRangePicker.tsx +0 -105
  98. package/src/components/Input/DateTimePicker.tsx +0 -84
  99. package/src/components/Input/FormLabel.tsx +0 -21
  100. package/src/components/Input/MultiCheckbox.tsx +0 -64
  101. package/src/components/Input/MultiSelect.tsx +0 -150
  102. package/src/components/Input/RadioGroup.tsx +0 -104
  103. package/src/components/Input/SingleCheckbox.tsx +0 -78
  104. package/src/components/Input/SingleSelect.tsx +0 -104
  105. package/src/components/Input/TextField.tsx +0 -46
  106. package/src/components/Input/TimePicker.tsx +0 -77
  107. package/src/components/Input/index.ts +0 -26
  108. package/src/components/Input/types.ts +0 -3
  109. package/src/components/JsonPreview.tsx +0 -7
  110. package/src/components/LabelValue.tsx +0 -21
  111. package/src/components/Layout/ChangePassword.tsx +0 -49
  112. package/src/components/Layout/Header/AppHeader.tsx +0 -112
  113. package/src/components/Layout/Header/AppsMenu.tsx +0 -105
  114. package/src/components/Layout/Header/HeaderActions/CogWheelMenu.tsx +0 -33
  115. package/src/components/Layout/Header/HeaderActions/FreshDeskHelpButton.tsx +0 -24
  116. package/src/components/Layout/Header/HeaderActions/HeaderActions.tsx +0 -18
  117. package/src/components/Layout/Header/HeaderActions/UserBox.tsx +0 -56
  118. package/src/components/Layout/Header/Notification.tsx +0 -13
  119. package/src/components/Layout/Header/applications.ts +0 -103
  120. package/src/components/Layout/Header/assets/background.png +0 -0
  121. package/src/components/Layout/Header/assets/campx.png +0 -0
  122. package/src/components/Layout/Header/assets/campx_square_small.svg +0 -9
  123. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  124. package/src/components/Layout/Header/assets/commutex.png +0 -0
  125. package/src/components/Layout/Header/assets/commutex.svg +0 -14
  126. package/src/components/Layout/Header/assets/commutexSmall.svg +0 -11
  127. package/src/components/Layout/Header/assets/contactBg.png +0 -0
  128. package/src/components/Layout/Header/assets/enroll.svg +0 -14
  129. package/src/components/Layout/Header/assets/enroll_logo.svg +0 -9
  130. package/src/components/Layout/Header/assets/enrollx.svg +0 -14
  131. package/src/components/Layout/Header/assets/entrollx.png +0 -0
  132. package/src/components/Layout/Header/assets/exams_small.svg +0 -12
  133. package/src/components/Layout/Header/assets/examsx.svg +0 -14
  134. package/src/components/Layout/Header/assets/examx.png +0 -0
  135. package/src/components/Layout/Header/assets/hostel_small.svg +0 -13
  136. package/src/components/Layout/Header/assets/hostelx.png +0 -0
  137. package/src/components/Layout/Header/assets/hostelx.svg +0 -13
  138. package/src/components/Layout/Header/assets/index.ts +0 -35
  139. package/src/components/Layout/Header/assets/libraryx.svg +0 -12
  140. package/src/components/Layout/Header/assets/libreryx.png +0 -0
  141. package/src/components/Layout/Header/assets/pay_small.svg +0 -16
  142. package/src/components/Layout/Header/assets/payx.png +0 -0
  143. package/src/components/Layout/Header/assets/payx.svg +0 -19
  144. package/src/components/Layout/Header/assets/people_small.svg +0 -9
  145. package/src/components/Layout/Header/assets/peoplex.svg +0 -12
  146. package/src/components/Layout/Header/assets/pepolex.png +0 -0
  147. package/src/components/Layout/Header/assets/squarex.svg +0 -12
  148. package/src/components/Layout/Header/icons.tsx +0 -57
  149. package/src/components/Layout/Header/index.tsx +0 -1
  150. package/src/components/Layout/Header/styles.tsx +0 -133
  151. package/src/components/Layout/Helmet.tsx +0 -49
  152. package/src/components/Layout/LayoutWrapper.tsx +0 -28
  153. package/src/components/Layout/SideMenuHeader.tsx +0 -29
  154. package/src/components/Layout/SideNav.tsx +0 -168
  155. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +0 -273
  156. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +0 -94
  157. package/src/components/Layout/Tickets/MyTickets.tsx +0 -72
  158. package/src/components/Layout/Tickets/TicketDetails.tsx +0 -65
  159. package/src/components/Layout/Tickets/TimeLine.tsx +0 -64
  160. package/src/components/Layout/Tickets/index.tsx +0 -1
  161. package/src/components/Layout/Tickets/services.ts +0 -11
  162. package/src/components/Layout/Tickets/styles.tsx +0 -136
  163. package/src/components/LinearProgress.tsx +0 -19
  164. package/src/components/ListItemButton.tsx +0 -95
  165. package/src/components/LoginForm.tsx +0 -279
  166. package/src/components/MediaRow/MediaRow.tsx +0 -67
  167. package/src/components/MediaRow/index.tsx +0 -1
  168. package/src/components/ModalButtons/DialogButton.tsx +0 -126
  169. package/src/components/ModalButtons/DrawerButton.tsx +0 -115
  170. package/src/components/ModalButtons/index.tsx +0 -4
  171. package/src/components/NoDataIllustration.tsx +0 -32
  172. package/src/components/PageContent.tsx +0 -12
  173. package/src/components/PageHeader.tsx +0 -55
  174. package/src/components/PageNotFound.tsx +0 -26
  175. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +0 -40
  176. package/src/components/PopupConfirm/PopupConfirm.tsx +0 -67
  177. package/src/components/PopupConfirm/animation.gif +0 -0
  178. package/src/components/PopupConfirm/index.tsx +0 -1
  179. package/src/components/PopupConfirm/useConfirm.ts +0 -47
  180. package/src/components/ResetPassword.tsx +0 -107
  181. package/src/components/Row.tsx +0 -24
  182. package/src/components/Spinner.tsx +0 -18
  183. package/src/components/StepsHeader/StepsHeader.tsx +0 -115
  184. package/src/components/StepsHeader/index.tsx +0 -1
  185. package/src/components/StyledTableContainer.tsx +0 -33
  186. package/src/components/SwitchButton.tsx +0 -41
  187. package/src/components/Table.tsx +0 -42
  188. package/src/components/Tables/BasicTable/Table.tsx +0 -198
  189. package/src/components/Tables/BasicTable/TableFooter.tsx +0 -86
  190. package/src/components/Tables/BasicTable/index.tsx +0 -1
  191. package/src/components/Tables/ReactTable/BatchActionsHeader.tsx +0 -58
  192. package/src/components/Tables/ReactTable/ReactTable.tsx +0 -295
  193. package/src/components/Tables/ReactTable/RenderTableBody.tsx +0 -49
  194. package/src/components/Tables/ReactTable/index.tsx +0 -1
  195. package/src/components/Tables/ReactTable/react-table-config.d.ts +0 -128
  196. package/src/components/Tables/common/NoRecordsFound.tsx +0 -27
  197. package/src/components/Tables/common/TableStats.tsx +0 -22
  198. package/src/components/Tables/common/icons.tsx +0 -50
  199. package/src/components/Tables/common/no-data-illu.svg +0 -1
  200. package/src/components/Tables/common/styles.tsx +0 -170
  201. package/src/components/Tables/common/types.ts +0 -57
  202. package/src/components/Tabs/NavigationTabs.tsx +0 -80
  203. package/src/components/Tabs/Tabs.tsx +0 -53
  204. package/src/components/Tabs/TabsContainer.tsx +0 -53
  205. package/src/components/Tabs/index.tsx +0 -1
  206. package/src/components/Tabs/styles.tsx +0 -55
  207. package/src/components/ToastContainer/ToastContainer.tsx +0 -57
  208. package/src/components/ToastContainer/index.tsx +0 -1
  209. package/src/components/UploadButton/UploadButton.tsx +0 -126
  210. package/src/components/UploadButton/index.tsx +0 -1
  211. package/src/components/UploadButton/types.ts +0 -19
  212. package/src/components/UploadDocument.tsx +0 -108
  213. package/src/components/UploadFileDialog/AnimatedUploadFile.gif +0 -0
  214. package/src/components/UploadFileDialog/UploadFileDialog.tsx +0 -238
  215. package/src/components/UploadFileDialog/index.tsx +0 -1
  216. package/src/components/index.ts +0 -106
  217. package/src/config/axios.ts +0 -73
  218. package/src/config/axiosEvaluator.ts +0 -53
  219. package/src/config/axiosXTenant.ts +0 -57
  220. package/src/constants/UIConstants.ts +0 -97
  221. package/src/constants/formValidations.ts +0 -6
  222. package/src/constants/index.ts +0 -5
  223. package/src/constants/isDevelopment.ts +0 -4
  224. package/src/constants/permissions.ts +0 -67
  225. package/src/constants/validateMessages.ts +0 -12
  226. package/src/contexts/LoginFormProvider.tsx +0 -44
  227. package/src/contexts/Providers.tsx +0 -50
  228. package/src/contexts/PublicProviders.tsx +0 -30
  229. package/src/contexts/QueryClientProvider.tsx +0 -22
  230. package/src/hooks/index.ts +0 -4
  231. package/src/hooks/useAuth.ts +0 -96
  232. package/src/hooks/useFetch.ts +0 -53
  233. package/src/hooks/useFilters.ts +0 -83
  234. package/src/hooks/useRouter.ts +0 -31
  235. package/src/layouts/Components/DashBoardMenu.tsx +0 -232
  236. package/src/layouts/Components/icons/index.tsx +0 -403
  237. package/src/layouts/Components/styles.tsx +0 -74
  238. package/src/layouts/ComponentsLayout.tsx +0 -3
  239. package/src/permissions/PageWithPermission.tsx +0 -18
  240. package/src/permissions/PermissionDeniedPage.tsx +0 -16
  241. package/src/permissions/ValidateAccess.tsx +0 -18
  242. package/src/permissions/index.ts +0 -2
  243. package/src/react-app-env.d.ts +0 -1
  244. package/src/shared-state/AssetsStore.ts +0 -15
  245. package/src/shared-state/PermissionsStore.ts +0 -384
  246. package/src/shared-state/UserStore.ts +0 -13
  247. package/src/shared-state/index.ts +0 -4
  248. package/src/theme/App.less +0 -3
  249. package/src/theme/MuiThemeProvider.tsx +0 -18
  250. package/src/theme/customCssBaseline.ts +0 -135
  251. package/src/theme/index.css +0 -28
  252. package/src/theme/muiTheme.ts +0 -595
  253. package/src/theme/theme.d.ts +0 -75
  254. package/src/utils/adminAxios.ts +0 -15
  255. package/src/utils/alphabet.ts +0 -23
  256. package/src/utils/arrayPadEnd.ts +0 -3
  257. package/src/utils/formatCurrency.ts +0 -9
  258. package/src/utils/getUrlParams.ts +0 -5
  259. package/src/utils/index.ts +0 -7
  260. package/src/utils/logout.ts +0 -25
  261. package/src/utils/ordinalSuffixOf.ts +0 -14
  262. package/src/utils/romanize.ts +0 -40
  263. package/src/utils/withRouteWrapper.tsx +0 -25
  264. package/src/utils/withSuspense.tsx +0 -6
  265. package/styled-components.tsx +0 -60
  266. package/tsconfig.json +0 -21
@@ -1,126 +0,0 @@
1
- import { Close } from '@mui/icons-material'
2
- import {
3
- Box,
4
- Dialog,
5
- DialogProps,
6
- DialogTitle,
7
- Grow,
8
- IconButton,
9
- styled,
10
- } from '@mui/material'
11
- import { TransitionProps } from '@mui/material/transitions'
12
- import { forwardRef, ReactNode, useState } from 'react'
13
- import { SCROLLBAR_DARK } from '../../theme/muiTheme'
14
-
15
- const StyledDialogHeader = styled(Box)(() => ({
16
- height: '64px',
17
- backgroundColor: '#f7f7f7',
18
- display: 'flex',
19
- justifyContent: 'space-between',
20
- alignItems: 'end',
21
- padding: '0.6rem 1rem',
22
- paddingBottom: '10px',
23
- }))
24
-
25
- const StyledDialogContent = styled(Box)(() => ({
26
- width: '100%',
27
- padding: '1rem',
28
- maxHeight: 'calc(100vh - 64px)',
29
- overflow: 'auto',
30
- ...SCROLLBAR_DARK,
31
- }))
32
-
33
- export const Transition = forwardRef(function Transition(
34
- props: TransitionProps & {
35
- children: React.ReactElement
36
- },
37
- ref: React.Ref<unknown>,
38
- ) {
39
- return <Grow timeout={1000} ref={ref} {...props} />
40
- })
41
-
42
- interface DrawerButtonProps {
43
- anchor: (props: { open: () => void }) => ReactNode
44
- content: (props: { close: () => void }) => ReactNode
45
- title: string
46
- dialogProps?: Omit<DialogProps, 'open'>
47
- onDialogClose?: () => void
48
- }
49
-
50
- export default function DialogButton({
51
- content,
52
- title,
53
- dialogProps,
54
- onDialogClose,
55
- anchor,
56
- }: DrawerButtonProps) {
57
- const [open, setOpen] = useState(false)
58
-
59
- const onClose = () => {
60
- onDialogClose && onDialogClose()
61
- setOpen(false)
62
- }
63
-
64
- const onOpen = () => {
65
- setOpen(true)
66
- }
67
-
68
- return (
69
- <>
70
- {anchor({
71
- open: onOpen,
72
- })}
73
- <CustomDialog
74
- open={open}
75
- content={content}
76
- dialogProps={dialogProps}
77
- onClose={onClose}
78
- title={title}
79
- />
80
- </>
81
- )
82
- }
83
-
84
- interface CustomDialogProps {
85
- content: (props: { close: () => void }) => ReactNode
86
- title: string
87
- onClose: () => void
88
- open: boolean
89
- dialogProps?: Omit<DialogProps, 'open'>
90
- }
91
-
92
- export const CustomDialog = ({
93
- onClose,
94
- dialogProps,
95
- title,
96
- content,
97
- open,
98
- }: CustomDialogProps) => {
99
- return (
100
- <Dialog
101
- PaperProps={{
102
- ...dialogProps?.PaperProps,
103
- elevation: 2,
104
- sx: { borderRadius: '10px' },
105
- }}
106
- fullWidth
107
- onClose={onClose}
108
- open={open}
109
- transitionDuration={140}
110
- TransitionComponent={Transition}
111
- sx={{
112
- ...dialogProps?.sx,
113
- '& .MuiBackdrop-root': { backgroundColor: 'rgba(0, 0, 0, 0.4)' },
114
- }}
115
- {...dialogProps}
116
- >
117
- <StyledDialogHeader>
118
- <DialogTitle>{title}</DialogTitle>
119
- <IconButton onClick={onClose} sx={{ color: 'black' }}>
120
- <Close />
121
- </IconButton>
122
- </StyledDialogHeader>
123
- <StyledDialogContent>{content({ close: onClose })}</StyledDialogContent>
124
- </Dialog>
125
- )
126
- }
@@ -1,115 +0,0 @@
1
- import { Close } from '@mui/icons-material'
2
- import {
3
- Box,
4
- ButtonProps,
5
- DialogTitle,
6
- Drawer,
7
- DrawerProps,
8
- IconButton,
9
- styled,
10
- } from '@mui/material'
11
- import { ReactNode, useState } from 'react'
12
- import { SCROLLBAR_DARK } from '../../theme/muiTheme'
13
-
14
- const StyledDrawerHeader = styled(Box)(({ theme }) => ({
15
- height: '64px',
16
- backgroundColor: '#f7f7f7',
17
- display: 'flex',
18
- justifyContent: 'space-between',
19
- alignItems: 'end',
20
- padding: '0.6rem 1rem',
21
- paddingBottom: '10px',
22
- }))
23
-
24
- const StyledDrawerContent = styled(Box)(({ theme }) => ({
25
- padding: '1rem',
26
- height: 'calc(100vh - 64px)',
27
- overflowY: 'auto',
28
- paddingBottom: '4rem',
29
- ...SCROLLBAR_DARK,
30
- }))
31
-
32
- export interface DrawerButtonProps {
33
- anchor: (props: { open: () => void }) => ReactNode
34
- content: (props: { close: () => void }) => ReactNode
35
- title: string | ReactNode
36
- btnTxt?: string | ReactNode
37
- btnProps?: ButtonProps
38
- }
39
-
40
- export default function DrawerButton({
41
- content,
42
- title,
43
- anchor,
44
- }: DrawerButtonProps) {
45
- const [open, setOpen] = useState(false)
46
-
47
- const onOpen = () => {
48
- setOpen(true)
49
- }
50
-
51
- const onClose = () => {
52
- setOpen(false)
53
- }
54
- return (
55
- <>
56
- {anchor({ open: onOpen })}
57
- <CustomDrawer
58
- content={content}
59
- onClose={onClose}
60
- open={open}
61
- title={title}
62
- />
63
- </>
64
- )
65
- }
66
-
67
- interface CustomDrawerProps {
68
- content: (props: { close: () => void }) => ReactNode
69
- title: string | ReactNode
70
- drawerProps?: Omit<DrawerProps, 'open'>
71
- onClose: () => void
72
- open: boolean
73
- }
74
-
75
- export const CustomDrawer = ({
76
- onClose,
77
- drawerProps,
78
- title,
79
- content,
80
- open,
81
- }: CustomDrawerProps) => {
82
- return (
83
- <Drawer
84
- anchor="right"
85
- elevation={2}
86
- onClose={onClose}
87
- open={open}
88
- PaperProps={{
89
- ...drawerProps?.PaperProps,
90
- elevation: 2,
91
- }}
92
- sx={{
93
- ...drawerProps?.sx,
94
- zIndex: 500,
95
- '& .MuiDrawer-paper': {
96
- boxSizing: 'border-box',
97
- width: 600,
98
- },
99
- '& .MuiBackdrop-root': {
100
- backgroundColor: 'rgba(0, 0, 0, 0.4)',
101
- },
102
- }}
103
- transitionDuration={140}
104
- {...drawerProps}
105
- >
106
- <StyledDrawerHeader>
107
- <DialogTitle>{title}</DialogTitle>
108
- <IconButton onClick={onClose} sx={{ color: 'black' }}>
109
- <Close />
110
- </IconButton>
111
- </StyledDrawerHeader>
112
- <StyledDrawerContent>{content({ close: onClose })}</StyledDrawerContent>
113
- </Drawer>
114
- )
115
- }
@@ -1,4 +0,0 @@
1
- import DialogButton from './DialogButton'
2
- import DrawerButton from './DrawerButton'
3
-
4
- export { DialogButton, DrawerButton }
@@ -1,32 +0,0 @@
1
- import { Box, Typography } from '@mui/material'
2
- import Image from './Image'
3
- import { ReactNode } from 'react'
4
-
5
- interface Props {
6
- imageSrc: string
7
- height?: string
8
- message?: string | ReactNode
9
- }
10
-
11
- export default function NoData({
12
- imageSrc,
13
- height = '300px',
14
- message = 'No Data Found',
15
- }: Props) {
16
- return (
17
- <Box
18
- sx={{
19
- marginTop: '20px',
20
- }}
21
- >
22
- <Image alt="No Data Found" height={height} width="auto" src={imageSrc} />
23
- {typeof message === 'string' ? (
24
- <Typography marginTop={'20px'} textAlign={'center'}>
25
- {message}
26
- </Typography>
27
- ) : (
28
- <>{message}</>
29
- )}
30
- </Box>
31
- )
32
- }
@@ -1,12 +0,0 @@
1
- import { Box, BoxProps, styled } from '@mui/material'
2
-
3
- const StyledPageContent = styled(Box)(() => ({
4
- paddingLeft: '25px',
5
- paddingRight: '25px',
6
- marginTop: '16px',
7
- paddingBottom: '3rem',
8
- }))
9
-
10
- export function PageContent(props: BoxProps) {
11
- return <StyledPageContent {...props}>{props.children}</StyledPageContent>
12
- }
@@ -1,55 +0,0 @@
1
- import { Box, styled, Typography } from '@mui/material'
2
- import { ReactNode } from 'react'
3
-
4
- interface PageHeaderProps {
5
- title: string | ReactNode
6
- subtitle?: string | ReactNode
7
- actions?: ReactNode
8
- noPadding?: boolean
9
- }
10
-
11
- const StyledBox = styled(Box, {
12
- shouldForwardProp: (prop) => prop !== 'noPadding',
13
- })<{ noPadding: boolean }>(({ theme, noPadding }) => ({
14
- minHeight: '40px',
15
- padding: noPadding ? 0 : '0 25px',
16
- display: 'flex',
17
- alignItems: 'center',
18
- justifyContent: 'space-between',
19
- margin: '1rem 0',
20
- flexWrap: 'wrap',
21
- '& .actions': {
22
- display: 'flex',
23
- gap: '1rem',
24
- alignItems: 'center',
25
- marginLeft: 'auto',
26
- '& .MuiButton-root': {
27
- height: '40px',
28
- },
29
- },
30
- }))
31
-
32
- export default function PageHeader({
33
- title,
34
- subtitle,
35
- actions,
36
- noPadding = false,
37
- }: PageHeaderProps) {
38
- return (
39
- <StyledBox noPadding={noPadding}>
40
- <>
41
- {typeof title === 'string' ? (
42
- <Typography variant="h1">{title}</Typography>
43
- ) : (
44
- title
45
- )}
46
- {typeof subtitle === 'string' ? (
47
- <Typography>{subtitle}</Typography>
48
- ) : (
49
- <Box marginTop={'10px'}>{subtitle}</Box>
50
- )}
51
- </>
52
- <Box className="actions">{actions}</Box>
53
- </StyledBox>
54
- )
55
- }
@@ -1,26 +0,0 @@
1
- import { Box, Button, Typography } from '@mui/material'
2
- import axios from 'axios'
3
- import React, { useEffect, useState } from 'react'
4
- import { pagenotfound } from '../assets/images'
5
-
6
- function PageNotFound() {
7
- return (
8
- <>
9
- <Box
10
- sx={{
11
- width: '100%',
12
- display: 'flex',
13
- flexDirection: 'column',
14
- alignItems: 'center',
15
- justifyContent: 'center',
16
- marginTop: '50px',
17
- }}
18
- >
19
- <img src={pagenotfound} alt="page not found" width={470} />
20
- <Typography variant="h1">Page Not Found.</Typography>
21
- </Box>
22
- </>
23
- )
24
- }
25
-
26
- export default PageNotFound
@@ -1,40 +0,0 @@
1
- import { createContext, ReactNode, useState } from 'react'
2
- import PopupConfirm from './PopupConfirm'
3
-
4
- interface ConfirmContextProps {
5
- confirm: {
6
- prompt: ReactNode
7
- isOpen: boolean
8
- proceed: () => void
9
- cancel: () => void
10
- }
11
- setConfirm: any
12
- }
13
-
14
- export const ConfirmContext = createContext<ConfirmContextProps>({
15
- confirm: {
16
- cancel: () => {},
17
- proceed: () => {},
18
- prompt: 'Are you sure?',
19
- isOpen: false,
20
- },
21
- setConfirm: () => {},
22
- })
23
-
24
- const ConfirmContextProvider = ({ children }) => {
25
- const [confirm, setConfirm] = useState({
26
- prompt: '',
27
- isOpen: false,
28
- proceed: null,
29
- cancel: null,
30
- })
31
-
32
- return (
33
- <ConfirmContext.Provider value={{ confirm, setConfirm }}>
34
- {children}
35
- <PopupConfirm />
36
- </ConfirmContext.Provider>
37
- )
38
- }
39
-
40
- export default ConfirmContextProvider
@@ -1,67 +0,0 @@
1
- import { Box, Button, Dialog, styled, Typography } from '@mui/material'
2
- import useConfirm from './useConfirm'
3
- const animatedImage = require('./animation.gif')
4
-
5
- const StyledImage = styled((props: any) => (
6
- <Box>
7
- <img {...props} />
8
- </Box>
9
- ))(({ theme }) => ({
10
- width: '154px',
11
- '> img': {
12
- width: '100%',
13
- height: '100%',
14
- objectFit: 'contain',
15
- },
16
- }))
17
-
18
- const StyledDialogContent = styled(Box)(({ theme }) => ({
19
- height: '360px',
20
- width: '570px',
21
- display: 'flex',
22
- alignItems: 'center',
23
- justifyContent: 'center',
24
- flexDirection: 'column',
25
- }))
26
-
27
- const PopupConfirm = () => {
28
- const { prompt = '', isOpen = false, proceed, cancel } = useConfirm()
29
- return (
30
- <Dialog
31
- PaperProps={{
32
- elevation: 2,
33
- sx: {
34
- borderRadius: '10px',
35
- },
36
- }}
37
- sx={{
38
- '& .MuiBackdrop-root': { backgroundColor: 'rgba(0, 0, 0, 0.4)' },
39
- zIndex: 1600,
40
- }}
41
- keepMounted
42
- maxWidth="sm"
43
- fullWidth
44
- open={isOpen}
45
- transitionDuration={150}
46
- >
47
- <StyledDialogContent>
48
- <Box sx={{ marginBottom: '20px' }}>
49
- <StyledImage src={animatedImage} alt="Upload Image" />
50
- </Box>
51
-
52
- <Typography variant="h6" sx={{ minHeight: '30px' }}>
53
- {prompt}
54
- </Typography>
55
- <Box sx={{ display: 'flex', gap: '20px', marginTop: '30px' }}>
56
- <Button color="secondary" variant="outlined" onClick={cancel}>
57
- No, Cancel
58
- </Button>
59
- <Button variant="outlined" onClick={proceed} sx={{ height: '40px' }}>
60
- Yes, I'm. Sure
61
- </Button>
62
- </Box>
63
- </StyledDialogContent>
64
- </Dialog>
65
- )
66
- }
67
- export default PopupConfirm
@@ -1 +0,0 @@
1
- export { default } from './PopupConfirm'
@@ -1,47 +0,0 @@
1
- import { ReactNode, useContext, useEffect, useState } from 'react'
2
- import { ConfirmContext } from './ConfirmContextProvider'
3
-
4
- export default function useConfirm(): {
5
- isConfirmed: (prompt?: string) => Promise<boolean>
6
- prompt?: ReactNode
7
- isOpen?: boolean
8
- proceed?: () => void
9
- cancel?: () => void
10
- } {
11
- const { confirm, setConfirm } = useContext(ConfirmContext)
12
- const [needsCleanup, setNeedsCleanup] = useState(false)
13
-
14
- const isConfirmed = (prompt) => {
15
- setNeedsCleanup(true)
16
- const promise = new Promise((resolve, reject) => {
17
- setConfirm({
18
- prompt,
19
- isOpen: true,
20
- proceed: resolve,
21
- cancel: reject,
22
- })
23
- })
24
- return promise.then(
25
- () => {
26
- setConfirm({ ...confirm, isOpen: false })
27
- return true
28
- },
29
- () => {
30
- setConfirm({ ...confirm, isOpen: false })
31
- return false
32
- },
33
- )
34
- }
35
-
36
- useEffect(() => {
37
- return () => {
38
- if (confirm.cancel && needsCleanup) {
39
- confirm.cancel()
40
- }
41
- }
42
- }, [confirm, needsCleanup])
43
- return {
44
- ...confirm,
45
- isConfirmed,
46
- }
47
- }
@@ -1,107 +0,0 @@
1
- import { VisibilityOff, Visibility } from '@mui/icons-material'
2
- import { Stack, InputAdornment, IconButton, Button, Alert } from '@mui/material'
3
- import React, { useState } from 'react'
4
- import { FormTextField } from './HookForm'
5
- import axios from '../config/axios'
6
- import { useForm } from 'react-hook-form'
7
- import { useNavigate } from 'react-router-dom'
8
- import { toast } from 'react-toastify'
9
-
10
- function ResetPassword() {
11
- const searchParams = new URLSearchParams(document.location.search)
12
- const { handleSubmit, control } = useForm()
13
- const navigate = useNavigate()
14
- const [error, setError] = useState('')
15
- const [showPassword, setShowPassword] = useState(false)
16
- const [showConfirmPassword, setShowConfirmPassword] = useState(false)
17
-
18
- async function handleResetPassword(values) {
19
- const token = searchParams.get('token')
20
- values.token = token
21
-
22
- if (values.newPassword == values.confirmNewPassword) {
23
- try {
24
- await axios
25
- .post(`https://api.campx.dev/auth-server/auth/reset-password`, values)
26
- .then((res) => {
27
- navigate('/login')
28
- toast.success('Password Changed Successfully')
29
- })
30
- } catch (err) {
31
- if (
32
- values.newPassword.length == 0 &&
33
- values.confirmNewPassword.length == 0
34
- ) {
35
- setError('Please enter valid password')
36
- } else if (token == null) {
37
- setError('Invalid token')
38
- } else {
39
- setError(err.response.data.message ?? 'Server Error')
40
- }
41
- }
42
- } else {
43
- setError("New Password and Confirm New password doesn't match")
44
- }
45
- }
46
-
47
- return (
48
- <>
49
- <form onSubmit={handleSubmit(handleResetPassword)}>
50
- <Stack gap={'30px'}>
51
- <FormTextField
52
- control={control}
53
- name="newPassword"
54
- label="New Password"
55
- type={showPassword ? 'text' : 'password'}
56
- required
57
- InputProps={{
58
- endAdornment: (
59
- <InputAdornment position="end">
60
- <IconButton
61
- size="small"
62
- aria-label="toggle password visibility"
63
- onClick={() => setShowPassword((prev) => !prev)}
64
- edge="end"
65
- >
66
- {showPassword ? <VisibilityOff /> : <Visibility />}
67
- </IconButton>
68
- </InputAdornment>
69
- ),
70
- }}
71
- />
72
-
73
- <FormTextField
74
- control={control}
75
- name="confirmNewPassword"
76
- label="Confirm Password"
77
- type={showConfirmPassword ? 'text' : 'password'}
78
- required
79
- InputProps={{
80
- endAdornment: (
81
- <InputAdornment position="end">
82
- <IconButton
83
- size="small"
84
- aria-label="toggle password visibility"
85
- onClick={() => setShowConfirmPassword((prev) => !prev)}
86
- edge="end"
87
- >
88
- {showPassword ? <VisibilityOff /> : <Visibility />}
89
- </IconButton>
90
- </InputAdornment>
91
- ),
92
- }}
93
- />
94
-
95
- <Button type="submit">Reset Password</Button>
96
- </Stack>
97
- </form>
98
- {error && (
99
- <Alert severity="error" sx={{ marginTop: '20px' }}>
100
- {error}
101
- </Alert>
102
- )}
103
- </>
104
- )
105
- }
106
-
107
- export default ResetPassword
@@ -1,24 +0,0 @@
1
- import { Box, SxProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
-
4
- export default function Row({
5
- gap,
6
- children,
7
- sx,
8
- }: {
9
- gap: number
10
- children: ReactNode
11
- sx?: SxProps
12
- }) {
13
- return (
14
- <Box
15
- sx={{
16
- display: 'flex',
17
- gap: `${gap}px`,
18
- ...sx,
19
- }}
20
- >
21
- {children}
22
- </Box>
23
- )
24
- }
@@ -1,18 +0,0 @@
1
- import { CircularProgress } from '@mui/material'
2
-
3
- function Spinner({ height = '200px' }: { height?: string | number }) {
4
- return (
5
- <div
6
- style={{
7
- justifyContent: 'center',
8
- alignItems: 'center',
9
- height,
10
- display: 'flex',
11
- }}
12
- >
13
- <CircularProgress />
14
- </div>
15
- )
16
- }
17
-
18
- export default Spinner