@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,64 +0,0 @@
1
- /* eslint-disable react/jsx-key */
2
- import moment from 'moment'
3
- import { Typography } from '@mui/material'
4
- import {
5
- TimelineSeparator,
6
- TimelineConnector,
7
- TimelineDot,
8
- TimelineContent,
9
- } from '@mui/lab'
10
- import { StyledTimelineBox, StyledTimeLineItem } from './styles'
11
-
12
- interface TimelineComponentProps {
13
- data: any
14
- }
15
-
16
- function StyledTimeLine({ data }: TimelineComponentProps) {
17
- return data?.map((item, index) => (
18
- <StyledTimeLineItem key={index}>
19
- <TimelineSeparator>
20
- <TimelineDot
21
- variant="outlined"
22
- sx={{ width: '20px', height: '20px' }}
23
- />
24
- {!(index === data.length - 1) ? <TimelineConnector /> : ''}
25
- </TimelineSeparator>
26
- <TimelineContent>
27
- <Typography variant="h6">{item?.message}</Typography>
28
- <Typography sx={{ marginTop: '10px' }}>
29
- {moment(item?.createdAt).format(' h:mmA Do MMMM YYYY, ')}
30
- </Typography>
31
- <RenderContent timeLog={item} />
32
- </TimelineContent>
33
- </StyledTimeLineItem>
34
- ))
35
- }
36
- export default StyledTimeLine
37
-
38
- const RenderContent = ({ timeLog }) => {
39
- if (timeLog?.files) {
40
- return (
41
- <StyledTimelineBox>
42
- <Typography sx={{ marginBottom: '3px' }}>{timeLog?.notes}</Typography>
43
- {/* {timeLog?.files?.map((item) => (
44
- <img src={item?.url} height={'100px'} width={'200px'} />
45
- ))} */}
46
- </StyledTimelineBox>
47
- )
48
- }
49
-
50
- if (timeLog?.notes) {
51
- return (
52
- <StyledTimelineBox
53
- sx={{
54
- maxWidth: '400px',
55
- }}
56
- >
57
- <Typography sx={{ wordWrap: 'break-word' }}>
58
- {timeLog?.notes}
59
- </Typography>
60
- </StyledTimelineBox>
61
- )
62
- }
63
- return <></>
64
- }
@@ -1 +0,0 @@
1
- export { default } from './MyTickets'
@@ -1,11 +0,0 @@
1
- import axios from '../../../config/axios'
2
-
3
- export const getImage = async (id: string) => {
4
- let imageData = await axios.get(`/square/service-tickets/${id}`)
5
- return imageData?.data
6
- }
7
-
8
- export const fetchTickets = async () => {
9
- let imageData = await axios.get(`/square/service-tickets/my-tickets`)
10
- return imageData?.data
11
- }
@@ -1,136 +0,0 @@
1
- import { TimelineItem } from '@mui/lab'
2
- import { alpha, Box, Card, styled, Typography } from '@mui/material'
3
-
4
- export const StyledListItem = styled(Box, {
5
- shouldForwardProp: (prop) => prop !== 'isActive',
6
- })<{ isActive: boolean }>(({ theme, isActive }) => ({
7
- maxWidth: '400px',
8
- height: '85px',
9
- display: 'flex',
10
- border: theme.borders.grayLight,
11
-
12
- alignItems: 'center',
13
- cursor: 'pointer',
14
- transition: 'all 0.2s ease',
15
- ':first-child': {
16
- borderTopRightRadius: '10px',
17
- borderTopLeftRadius: '10px',
18
- },
19
- '&:hover': {
20
- background: alpha(theme.palette.secondary.main, 0.02),
21
- },
22
-
23
- '& .left': {
24
- paddingLeft: '10px',
25
- marginRight: 'auto',
26
- '& .MuiTypography-root': {
27
- marginTop: '4px',
28
- '& > span': {
29
- color: theme.palette.secondary.main,
30
- },
31
- },
32
- },
33
- '& .right': {
34
- paddingRight: '15px',
35
- display: 'flex',
36
- },
37
- '&:before': {
38
- transition: 'all 0.2s ease',
39
- content: "''",
40
- height: '95%',
41
- width: '4px',
42
- borderRadius: '2px',
43
- background: 'transparent',
44
- ...(isActive && {
45
- background: theme.palette.common.yellow,
46
- }),
47
- },
48
-
49
- ...(isActive && {
50
- background: alpha(theme.palette.secondary.main, 0.035),
51
- }),
52
- }))
53
-
54
- export const StyledRemarksContainer = styled(Box)({
55
- height: '170px',
56
- borderRadius: '10px',
57
- border: '1px solid #1212121A',
58
- marginBottom: '20px ',
59
- })
60
- export const StyledLetterBackGround = styled(Box)({
61
- width: '60px',
62
- height: '60px',
63
- display: 'flex',
64
- backgroundColor: 'black',
65
- justifyContent: 'center',
66
- alignItems: 'center',
67
- })
68
- export const StyledNamecontainer = styled(Box)({
69
- display: 'flex',
70
- gap: '20px',
71
- alignItems: 'center',
72
- margin: '25px',
73
- })
74
-
75
- export const StyledLetter = ({ letter }) => {
76
- //letter?.split(' ')[0][0]}${letter?.split(' ')[1][0]
77
- const value = `${letter?.split(' ')[0][0]}`
78
-
79
- return (
80
- <StyledLetterBackGround>
81
- <Typography variant="h1" sx={{ color: 'white' }}>
82
- {value.toLocaleUpperCase()}
83
- </Typography>
84
- </StyledLetterBackGround>
85
- )
86
- }
87
- export const StyledBox = styled(Box)({
88
- width: '900px',
89
- height: 'calc(80vh - 100px)',
90
- overflowY: 'auto',
91
- '&::-webkit-scrollbar': {
92
- width: '0px',
93
- height: '0px',
94
- },
95
- })
96
-
97
- export const StyledTimelineBox = styled(Box)({
98
- borderRadius: '10px',
99
- border: '1px solid #1212121A',
100
- margin: '20px 0',
101
- padding: '20px',
102
- maxWidth: '600px',
103
- })
104
-
105
- export const StyledTimeLineItem = styled(TimelineItem)(({ theme }) => ({
106
- '& .MuiTimelineDot-root': {
107
- backgroundColor: theme.palette.secondary,
108
- },
109
- '&:before': {
110
- content: 'none',
111
- },
112
- }))
113
-
114
- export const StyledLeftContainer = styled(Box)({
115
- maxHeight: 'calc(80vh - 50px)',
116
- // maxHeight: 'calc(80vh - 130px)', 1st default value
117
- overflowY: 'auto',
118
- '&::-webkit-scrollbar': {
119
- width: '0px',
120
- height: '0px',
121
- },
122
- })
123
-
124
- export const StyledCardData = styled(Card)({
125
- borderRadius: '4px',
126
- width: 'auto',
127
- backgroundColor: '#1E19F51A',
128
- padding: '6px 10px',
129
- })
130
-
131
- export const StyledBoxDetails = styled(Box)({
132
- display: 'flex',
133
- justifyContent: 'space-between',
134
- width: '950px',
135
- padding: '20px',
136
- })
@@ -1,19 +0,0 @@
1
- import {
2
- BoxProps,
3
- styled,
4
- Box,
5
- LinearProgress as MuiLinearProgress,
6
- } from '@mui/material'
7
-
8
- export const LinearProgress = styled((props: BoxProps) => (
9
- <Box {...props}>
10
- <MuiLinearProgress color={'inherit'} sx={{ height: '4px' }} />
11
- </Box>
12
- ))(({ theme }) => ({
13
- width: '100%',
14
- position: 'fixed',
15
- top: 0,
16
- left: 0,
17
- zIndex: 400,
18
- color: theme.palette.primary.main,
19
- }))
@@ -1,95 +0,0 @@
1
- import { ChevronRight } from '@mui/icons-material'
2
- import {
3
- Box,
4
- ListItemButton as MuiListItemButton,
5
- ListItemButtonProps,
6
- ListItemIcon,
7
- ListItemText,
8
- styled,
9
- } from '@mui/material'
10
- import { ReactNode } from 'react'
11
-
12
- interface Props extends ListItemButtonProps {
13
- hasChildren?: boolean
14
- isActive?: boolean
15
- label: String
16
- icon?: any
17
- }
18
-
19
- export const ListItemButton = ({
20
- isActive,
21
- hasChildren,
22
- onClick,
23
- label,
24
- icon: Icon,
25
- }: Props) => {
26
- return (
27
- <StyledListItemButton isActive={isActive} onClick={onClick}>
28
- {Icon ? (
29
- <ListItemIcon>{<Icon />}</ListItemIcon>
30
- ) : (
31
- <Box minWidth={16}></Box>
32
- )}
33
- <ListItemText primary={label} />
34
- </StyledListItemButton>
35
- )
36
- }
37
-
38
- export const StyledChevronIcon = styled(ChevronRight)<{ open: boolean }>(
39
- ({ theme, open }) => ({
40
- transform: open ? 'rotate(90deg)' : 'rotate(0deg)',
41
- transition: 'transform 0.2s ease-in-out',
42
- }),
43
- )
44
-
45
- export const StyledListItemButton = styled(MuiListItemButton)<{
46
- isActive: boolean
47
- children: ReactNode
48
- dropDown?: boolean
49
- }>(({ theme, isActive, dropDown = false }) => ({
50
- gap: '10px',
51
- fontWeight: 'bold',
52
- padding: '8px 20px',
53
- backgroundColor: isActive && '#1d1d1d',
54
- '&:hover': {
55
- backgroundColor: isActive && '#1d1d1d',
56
- },
57
- '&:after': {
58
- content: '""',
59
- position: 'absolute',
60
- height: '100%',
61
- left: 0,
62
- top: 0,
63
- width: isActive ? '6px' : 0,
64
- opacity: isActive ? (dropDown ? 0 : 1) : 0,
65
- transition: theme.transitions.create(['opacity', 'width']),
66
- background: theme.palette.common.yellow,
67
- borderTopRightRadius: '3px',
68
- borderBottomRightRadius: '3px',
69
- },
70
- '&.MuiButton-endIcon, &.MuiButton-startIcon': {
71
- transition: theme.transitions.create(['color']),
72
-
73
- '&.MuiSvgIcon-root': {
74
- fontSize: 'inherit',
75
- transition: 'none',
76
- },
77
- },
78
- '& .MuiSvgIcon-root': {
79
- fontSize: theme.typography.pxToRem(20),
80
- marginRight: theme.spacing(1),
81
- // color: isActive
82
- // ? theme.sidebar.menuItemColorActive
83
- // : theme.sidebar.menuItemIconColor,
84
- },
85
- '& .MuiTypography-root': {
86
- color: theme.palette.common.white,
87
- },
88
- '& svg': {
89
- color: theme.palette.common.white,
90
- },
91
- '& .MuiListItemIcon-root': {
92
- minWidth: 0,
93
- maxWidth: '1rem',
94
- },
95
- }))
@@ -1,279 +0,0 @@
1
- import { Visibility, VisibilityOff } from '@mui/icons-material'
2
- import {
3
- Alert,
4
- Box,
5
- Button,
6
- IconButton,
7
- InputAdornment,
8
- Stack,
9
- Typography,
10
- styled,
11
- } from '@mui/material'
12
- import axiosBase from 'axios'
13
- import Cookies from 'js-cookie'
14
- import { useEffect, useState } from 'react'
15
- import { useForm } from 'react-hook-form'
16
- import ActionButton from './ActionButton'
17
- import { FormTextField } from './HookForm'
18
- import axios from '../config/axios'
19
- import ResetPassword from './ResetPassword'
20
- import { Link } from 'react-router-dom'
21
- import { DialogButton } from './ModalButtons'
22
- import adminAxios from '../utils/adminAxios'
23
-
24
- export function LoginForm({
25
- loginUrl,
26
- showSuperAdminForm,
27
- }: {
28
- loginUrl?: string
29
- showSuperAdminForm?: boolean
30
- }) {
31
- const [showPassword, setShowPassword] = useState(false)
32
- const [forgotMail, setForgotMail] = useState(null)
33
- const [forgotPassword, setForgotPassword] = useState(true)
34
- const [resetPassword, setResetPassword] = useState(false)
35
- const { handleSubmit, control } = useForm()
36
- const [error, setError] = useState('')
37
-
38
- const onSubmit = async (values) => {
39
- try {
40
- const res = await axiosBase({
41
- method: 'POST',
42
- baseURL: process.env.REACT_APP_API_HOST,
43
- url: loginUrl ? loginUrl : `/auth-server/auth/login`,
44
- data: values,
45
- })
46
- Cookies.set('campx_tenant', res?.data?.subDomain)
47
- Cookies.set('campx_session_key', res.data?.token)
48
- window.location.href = window.location.origin + `/${res?.data?.subDomain}`
49
- } catch (err) {
50
- // eslint-disable-next-line no-console
51
- console.log(err)
52
- setError(err?.response?.data?.message ?? 'Server Error')
53
- }
54
- }
55
-
56
- const [mailSent, setMailSent] = useState(false)
57
-
58
- async function handleSendMail() {
59
- try {
60
- await axios
61
- .get(
62
- `https://api.campx.dev/auth-server/auth/forgot-password?email=${forgotMail}`,
63
- )
64
- .then((res) => {
65
- setForgotMail(null)
66
- setMailSent(true)
67
- setError(null)
68
- })
69
- } catch (err) {
70
- if (!forgotMail) {
71
- setError('Email should not be empty')
72
- setMailSent(false)
73
- } else {
74
- setError(err.response.data.message ?? 'Server Error')
75
- setMailSent(false)
76
- }
77
- }
78
- }
79
-
80
- useEffect(() => {
81
- const restLink = window.location.pathname.split('/')[1]
82
- if (restLink == 'reset-password') {
83
- setResetPassword(true)
84
- }
85
- }, [])
86
-
87
- return (
88
- <Box sx={{ position: 'relative', height: '100%' }}>
89
- {resetPassword ? (
90
- <>
91
- <ResetPassword />
92
- </>
93
- ) : forgotPassword ? (
94
- <form onSubmit={handleSubmit(onSubmit)}>
95
- <Stack gap={'30px'} sx={{ display: resetPassword ? 'none' : 'flex' }}>
96
- <FormTextField
97
- control={control}
98
- name="username"
99
- label="User ID"
100
- required
101
- />
102
- <FormTextField
103
- control={control}
104
- name="password"
105
- label="Password"
106
- type={showPassword ? 'text' : 'password'}
107
- required
108
- InputProps={{
109
- endAdornment: (
110
- <InputAdornment position="end">
111
- <IconButton
112
- size="small"
113
- aria-label="toggle password visibility"
114
- onClick={() => setShowPassword((prev) => !prev)}
115
- edge="end"
116
- >
117
- {showPassword ? <VisibilityOff /> : <Visibility />}
118
- </IconButton>
119
- </InputAdornment>
120
- ),
121
- }}
122
- />
123
- <ActionButton type="submit">Login</ActionButton>
124
- <Typography
125
- variant="h6"
126
- align="right"
127
- onClick={() => setForgotPassword(false)}
128
- >
129
- <StyledLink to="/">Forgot Password</StyledLink>
130
- </Typography>
131
- </Stack>
132
- </form>
133
- ) : (
134
- <>
135
- <Stack gap={'30px'}>
136
- <FormTextField
137
- control={control}
138
- name="email"
139
- label="Email"
140
- required
141
- onChange={(e) => setForgotMail(e.target.value)}
142
- />
143
- <Button onClick={() => handleSendMail()}>Send Email</Button>
144
-
145
- <Typography
146
- variant="subtitle2"
147
- onClick={() => {
148
- setForgotPassword(true)
149
- setError('')
150
- setMailSent(false)
151
- }}
152
- align="right"
153
- >
154
- <StyledLink to="/">Login here</StyledLink>
155
- </Typography>
156
-
157
- {mailSent && (
158
- <Alert severity="success">
159
- Reset password link has been sent to your email.
160
- </Alert>
161
- )}
162
- </Stack>
163
- </>
164
- )}
165
-
166
- {error && (
167
- <Alert severity="error" sx={{ marginTop: '20px' }}>
168
- {error}
169
- </Alert>
170
- )}
171
-
172
- {showSuperAdminForm && (
173
- <Box
174
- sx={{
175
- position: 'absolute',
176
- bottom: '20px',
177
- right: '20px',
178
- }}
179
- >
180
- <DialogButton
181
- title="Super Admin Login"
182
- anchor={({ open }) => (
183
- <Button onClick={open} size="small" variant="text">
184
- Super Admin Login
185
- </Button>
186
- )}
187
- content={({ close }) => <SuperAdminLoginForm close={close} />}
188
- />
189
- </Box>
190
- )}
191
- </Box>
192
- )
193
- }
194
-
195
- export const StyledLink = styled(Link)({
196
- textDecoration: 'none',
197
- color: 'black',
198
- })
199
-
200
- export default LoginForm
201
-
202
- const SuperAdminLoginForm = ({ close }) => {
203
- const [showPassword, setShowPassword] = useState(false)
204
- const [loading, setLoading] = useState(false)
205
- const { handleSubmit, control } = useForm({
206
- defaultValues: null,
207
- })
208
- const [error, setError] = useState('')
209
-
210
- const onSubmit = async (values) => {
211
- setLoading(true)
212
- try {
213
- const res = await adminAxios.post(`/auth/login`, values)
214
- Cookies.set('campx_admin_session_key', res?.data?.cookie)
215
-
216
- setLoading(false)
217
- window.location.href = '/campx'
218
- } catch (err) {
219
- setLoading(false)
220
- setError(err.response.data.message ?? 'Server Error')
221
- }
222
- }
223
-
224
- const onError = (e) => {
225
- console.log(e)
226
- }
227
-
228
- return (
229
- <Box width={'100%'} marginTop="20px">
230
- <form onSubmit={handleSubmit(onSubmit, onError)}>
231
- <Stack gap={'40px'}>
232
- <Typography variant="h6" textAlign={'center'}>
233
- Sign in to Super Admin Account
234
- </Typography>
235
- <FormTextField
236
- control={control}
237
- name="username"
238
- label="Username/Email"
239
- required
240
- />
241
- <FormTextField
242
- control={control}
243
- name="password"
244
- label="Password"
245
- type={showPassword ? 'text' : 'password'}
246
- required
247
- InputProps={{
248
- endAdornment: (
249
- <InputAdornment position="end">
250
- <IconButton
251
- size="small"
252
- aria-label="toggle password visibility"
253
- onClick={() => setShowPassword((prev) => !prev)}
254
- edge="end"
255
- >
256
- {showPassword ? <VisibilityOff /> : <Visibility />}
257
- </IconButton>
258
- </InputAdornment>
259
- ),
260
- }}
261
- />
262
- <ActionButton
263
- type="submit"
264
- fullWidth
265
- disabled={loading}
266
- loading={loading}
267
- >
268
- Login
269
- </ActionButton>
270
- </Stack>
271
- </form>
272
- {error && (
273
- <Alert severity="error" sx={{ marginTop: '20px' }}>
274
- {error}
275
- </Alert>
276
- )}
277
- </Box>
278
- )
279
- }
@@ -1,67 +0,0 @@
1
- import { Delete } from '@mui/icons-material'
2
- import { Box, IconButton, styled, Typography, Stack } from '@mui/material'
3
- import Image from '../Image'
4
-
5
- interface MediaRowProps {
6
- list: any[]
7
- onDelete?: (mediaKey: string) => void
8
- }
9
-
10
- export default function MediaRow({ list, onDelete }: MediaRowProps) {
11
- return (
12
- <Box sx={{ display: 'flex', gap: '1rem', width: '100%', flexWrap: 'wrap' }}>
13
- {list.map((item, index) => (
14
- <>{renderMediaCard(item, onDelete)}</>
15
- ))}
16
- </Box>
17
- )
18
- }
19
-
20
- const renderMediaCard = (item: any, onDelete?: (mediaKey: string) => void) => {
21
- switch (item?.type) {
22
- case 'image':
23
- return (
24
- <StyledImageContainer>
25
- <IconButton
26
- size="small"
27
- color="error"
28
- onClick={() => {
29
- onDelete(item?.key)
30
- }}
31
- >
32
- <Delete fontSize="small" />
33
- </IconButton>
34
- <Image src={item?.url} height={120} width={150} alt={''} />
35
- </StyledImageContainer>
36
- )
37
- case 'file':
38
- return (
39
- <Stack
40
- direction={'row'}
41
- alignItems="center"
42
- justifyContent={'space-between'}
43
- gap={'10px'}
44
- >
45
- <Typography>{item?.fileName}</Typography>
46
- <IconButton color="error">
47
- <Delete fontSize="small" />
48
- </IconButton>
49
- </Stack>
50
- )
51
-
52
- default:
53
- break
54
- }
55
- }
56
-
57
- const StyledImageContainer = styled(Box)(({ theme }) => ({
58
- border: theme.borders.grayLight,
59
- borderRadius: '10px',
60
- padding: '0.7rem',
61
- position: 'relative',
62
- '& > button': {
63
- position: 'absolute',
64
- right: 0,
65
- top: 0,
66
- },
67
- }))
@@ -1 +0,0 @@
1
- export { default } from './MediaRow'