@campxdev/shared 0.6.19 → 1.0.0

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 (242) hide show
  1. package/.eslintignore +3 -3
  2. package/.eslintrc.js +33 -33
  3. package/.prettierrc +10 -10
  4. package/antd.customize.less +73 -73
  5. package/exports.ts +16 -16
  6. package/package.json +94 -93
  7. package/publish.sh +1 -1
  8. package/src/assets/fonts/avenir/index.ts +2 -2
  9. package/src/assets/fonts/poppins/index.ts +7 -7
  10. package/src/assets/images/index.ts +17 -17
  11. package/src/assets/images/unauth.svg +92 -92
  12. package/src/components/ActionButton.tsx +28 -28
  13. package/src/components/Attachment.tsx +26 -26
  14. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  15. package/src/components/AutocompleteSearch/index.tsx +1 -1
  16. package/src/components/Breadcrumbs.tsx +72 -72
  17. package/src/components/Card.tsx +98 -98
  18. package/src/components/CardsGrid.tsx +28 -28
  19. package/src/components/ChangePassword.tsx +164 -164
  20. package/src/components/Chips.tsx +81 -81
  21. package/src/components/Detail.tsx +15 -15
  22. package/src/components/DetailsGrid.tsx +52 -52
  23. package/src/components/DividerHeading.tsx +41 -41
  24. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -63
  25. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  26. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  27. package/src/components/DropDownButton.tsx +194 -194
  28. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  29. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  30. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  31. package/src/components/ErrorBoundary/index.tsx +1 -1
  32. package/src/components/ErrorBox.tsx +42 -42
  33. package/src/components/FloatingContainer.tsx +33 -33
  34. package/src/components/Form/Form.tsx +156 -156
  35. package/src/components/Form/RenderForm.tsx +188 -188
  36. package/src/components/FullCalendar/Actions.tsx +162 -162
  37. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  38. package/src/components/FullScreenLoader.tsx +19 -19
  39. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  40. package/src/components/HookForm/DatePicker.tsx +65 -65
  41. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  42. package/src/components/HookForm/FormLabel.tsx +14 -14
  43. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  44. package/src/components/HookForm/MultiSelect.tsx +100 -100
  45. package/src/components/HookForm/RadioGroup.tsx +106 -106
  46. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  47. package/src/components/HookForm/SingleSelect.tsx +93 -93
  48. package/src/components/HookForm/TextField.tsx +74 -74
  49. package/src/components/HookForm/TimePicker.tsx +82 -82
  50. package/src/components/HookForm/index.ts +23 -23
  51. package/src/components/IconButtons/IconButtons.tsx +137 -137
  52. package/src/components/IconButtons/Icons.tsx +268 -268
  53. package/src/components/IconButtons/assets/edit.svg +4 -4
  54. package/src/components/IconButtons/assets/eye.svg +6 -6
  55. package/src/components/IconButtons/assets/trash.svg +7 -7
  56. package/src/components/IconButtons/index.tsx +8 -8
  57. package/src/components/IconLabel.tsx +37 -37
  58. package/src/components/Image/Image.tsx +43 -43
  59. package/src/components/Image/index.tsx +1 -1
  60. package/src/components/ImageUpload.tsx +98 -98
  61. package/src/components/Input/AutoCompleteSearch.tsx +113 -113
  62. package/src/components/Input/DatePicker.tsx +60 -60
  63. package/src/components/Input/DateRangePicker.tsx +131 -131
  64. package/src/components/Input/DateTimePicker.tsx +70 -70
  65. package/src/components/Input/FormLabel.tsx +14 -14
  66. package/src/components/Input/MultiCheckbox.tsx +79 -79
  67. package/src/components/Input/MultiSelect.tsx +52 -52
  68. package/src/components/Input/RadioGroup.tsx +61 -61
  69. package/src/components/Input/SingleCheckbox.tsx +23 -23
  70. package/src/components/Input/SingleSelect.tsx +124 -124
  71. package/src/components/Input/TextField.tsx +50 -50
  72. package/src/components/Input/TimePicker.tsx +82 -82
  73. package/src/components/Input/index.ts +26 -26
  74. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  75. package/src/components/JsonPreview/index.tsx +1 -1
  76. package/src/components/LabelValue/LabelValue.tsx +21 -21
  77. package/src/components/LabelValue/index.tsx +1 -1
  78. package/src/components/Layout/ChangePassword.tsx +49 -49
  79. package/src/components/Layout/Header/AppHeader.tsx +124 -124
  80. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  81. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  82. package/src/components/Layout/Header/HelpWidget/HelpWidget.tsx +298 -0
  83. package/src/components/Layout/Header/HelpWidget/styles.tsx +92 -0
  84. package/src/components/Layout/Header/Notification.tsx +13 -13
  85. package/src/components/Layout/Header/UserBox.tsx +90 -70
  86. package/src/components/Layout/Header/applications.ts +90 -90
  87. package/src/components/Layout/Header/assets/background.png +0 -0
  88. package/src/components/Layout/Header/assets/campx.png +0 -0
  89. package/src/components/Layout/Header/assets/{newAssets/campx_square_small.svg → campx_square_small.svg} +9 -9
  90. package/src/components/Layout/Header/assets/{newAssets/commutex.png → commuteX.png} +0 -0
  91. package/src/components/Layout/Header/assets/commutex.png +0 -0
  92. package/src/components/Layout/Header/assets/{newAssets/commutex.svg → commutex.svg} +14 -14
  93. package/src/components/Layout/Header/assets/{newAssets/commutexSmall.svg → commutexSmall.svg} +11 -11
  94. package/src/components/Layout/Header/assets/contactBg.png +0 -0
  95. package/src/components/Layout/Header/assets/{newAssets/enroll.svg → enroll.svg} +14 -14
  96. package/src/components/Layout/Header/assets/{newAssets/enrollx.svg → enrollx.svg} +14 -14
  97. package/src/components/Layout/Header/assets/{newAssets/entrollx.png → entrollx.png} +0 -0
  98. package/src/components/Layout/Header/assets/{newAssets/exams_small.svg → exams_small.svg} +12 -12
  99. package/src/components/Layout/Header/assets/{newAssets/examsx.svg → examsx.svg} +14 -14
  100. package/src/components/Layout/Header/assets/examx.png +0 -0
  101. package/src/components/Layout/Header/assets/{newAssets/hostel_small.svg → hostel_small.svg} +13 -13
  102. package/src/components/Layout/Header/assets/hostelx.png +0 -0
  103. package/src/components/Layout/Header/assets/{newAssets/hostelx.svg → hostelx.svg} +13 -13
  104. package/src/components/Layout/Header/assets/index.ts +33 -29
  105. package/src/components/Layout/Header/assets/{newAssets/libraryx.svg → libraryx.svg} +12 -12
  106. package/src/components/Layout/Header/assets/{newAssets/libreryx.png → libreryx.png} +0 -0
  107. package/src/components/Layout/Header/assets/{newAssets/pay_small.svg → pay_small.svg} +16 -16
  108. package/src/components/Layout/Header/assets/payx.png +0 -0
  109. package/src/components/Layout/Header/assets/{newAssets/payx.svg → payx.svg} +19 -19
  110. package/src/components/Layout/Header/assets/{newAssets/people_small.svg → people_small.svg} +9 -9
  111. package/src/components/Layout/Header/assets/{newAssets/peoplex.svg → peoplex.svg} +12 -12
  112. package/src/components/Layout/Header/assets/{newAssets/pepolex.png → pepolex.png} +0 -0
  113. package/src/components/Layout/Header/assets/{newAssets/squarex.svg → squarex.svg} +12 -12
  114. package/src/components/Layout/Header/icons.tsx +57 -57
  115. package/src/components/Layout/Header/index.tsx +1 -1
  116. package/src/components/Layout/Header/styles.tsx +98 -98
  117. package/src/components/Layout/Tickets/MyTickets.tsx +74 -0
  118. package/src/components/Layout/Tickets/Services.tsx +6 -0
  119. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -0
  120. package/src/components/Layout/Tickets/TimeLine.tsx +64 -0
  121. package/src/components/Layout/Tickets/index.tsx +1 -0
  122. package/src/components/Layout/Tickets/styles.tsx +136 -0
  123. package/src/components/LayoutWrapper.tsx +25 -25
  124. package/src/components/LinearProgress.tsx +19 -19
  125. package/src/components/ListItemButton.tsx +95 -94
  126. package/src/components/LoginForm.tsx +103 -103
  127. package/src/components/MediaRow/MediaRow.tsx +69 -69
  128. package/src/components/MediaRow/index.tsx +1 -1
  129. package/src/components/MenuButton.tsx +103 -103
  130. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  131. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  132. package/src/components/ModalButtons/index.tsx +4 -4
  133. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  134. package/src/components/NoDataIllustration/index.tsx +1 -1
  135. package/src/components/PageContent.tsx +17 -17
  136. package/src/components/PageHeader.tsx +52 -52
  137. package/src/components/PageNotFound.tsx +26 -26
  138. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  139. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  140. package/src/components/PopupConfirm/index.tsx +1 -1
  141. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  142. package/src/components/Router.tsx +7 -7
  143. package/src/components/Row/Row.tsx +24 -24
  144. package/src/components/Row/index.tsx +1 -1
  145. package/src/components/SearchBar/SearchBar.tsx +53 -53
  146. package/src/components/SearchBar/index.tsx +1 -1
  147. package/src/components/SideMenuHeader.tsx +29 -29
  148. package/src/components/SideNav.tsx +168 -168
  149. package/src/components/Spinner.tsx +18 -18
  150. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  151. package/src/components/StepsHeader/index.tsx +1 -1
  152. package/src/components/StyledTableContainer.tsx +33 -33
  153. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  154. package/src/components/SwitchButton/index.tsx +1 -1
  155. package/src/components/Table.tsx +42 -42
  156. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  157. package/src/components/TableComponent/Icons/index.tsx +50 -50
  158. package/src/components/TableComponent/ReactTable.tsx +293 -293
  159. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  160. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  161. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  162. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  163. package/src/components/TableComponent/index.tsx +226 -226
  164. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  165. package/src/components/TableComponent/styles.tsx +173 -173
  166. package/src/components/TableComponent/types.ts +57 -57
  167. package/src/components/Tabs/Tabs.tsx +52 -52
  168. package/src/components/Tabs/TabsContainer.tsx +50 -50
  169. package/src/components/Tabs/index.tsx +1 -1
  170. package/src/components/Tabs/styles.tsx +55 -55
  171. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  172. package/src/components/ToastContainer/index.tsx +1 -1
  173. package/src/components/UploadButton/UploadButton.tsx +126 -126
  174. package/src/components/UploadButton/index.tsx +1 -1
  175. package/src/components/UploadButton/types.ts +19 -19
  176. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  177. package/src/components/UploadDocument/index.tsx +1 -1
  178. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  179. package/src/components/UploadFileDialog/index.tsx +1 -1
  180. package/src/components/index.ts +86 -86
  181. package/src/config/axios.ts +74 -74
  182. package/src/config/axiosXTenant.ts +57 -57
  183. package/src/constants/UIConstants.ts +97 -97
  184. package/src/constants/formValidations.ts +6 -6
  185. package/src/constants/index.ts +5 -5
  186. package/src/constants/isDevelopment.ts +3 -3
  187. package/src/constants/permissions.ts +67 -67
  188. package/src/constants/validateMessages.ts +12 -12
  189. package/src/contexts/LoginFormProvider.tsx +39 -39
  190. package/src/contexts/Providers.tsx +59 -59
  191. package/src/contexts/QueryClientProvider.tsx +22 -22
  192. package/src/hooks/index.ts +3 -3
  193. package/src/hooks/useAppInit.ts +33 -33
  194. package/src/hooks/useAuth.ts +92 -91
  195. package/src/hooks/useFetch.ts +53 -53
  196. package/src/hooks/useRouter.ts +31 -31
  197. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  198. package/src/layouts/Components/icons/index.tsx +403 -403
  199. package/src/layouts/Components/styles.tsx +60 -60
  200. package/src/layouts/ComponentsLayout.tsx +3 -3
  201. package/src/permissions/PageWithPermission.tsx +18 -18
  202. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  203. package/src/permissions/PermissionsStore.ts +352 -352
  204. package/src/permissions/ValidateAccess.tsx +18 -18
  205. package/src/permissions/index.ts +3 -3
  206. package/src/react-app-env.d.ts +1 -1
  207. package/src/shared-state/AssetsStore.ts +15 -15
  208. package/src/shared-state/UserStore.ts +13 -13
  209. package/src/shared-state/index.ts +3 -3
  210. package/src/theme/App.less +3 -3
  211. package/src/theme/MuiThemeProvider.tsx +13 -13
  212. package/src/theme/customCssBaseline.ts +78 -78
  213. package/src/theme/index.css +75 -75
  214. package/src/theme/muiTheme.ts +490 -490
  215. package/src/theme/theme.d.ts +75 -75
  216. package/src/utils/alphabet.ts +23 -23
  217. package/src/utils/arrayPadEnd.ts +3 -3
  218. package/src/utils/formatCurrency.ts +9 -9
  219. package/src/utils/getUrlParams.ts +5 -5
  220. package/src/utils/index.ts +8 -8
  221. package/src/utils/logout.ts +24 -24
  222. package/src/utils/ordinalSuffixOf.ts +14 -14
  223. package/src/utils/romanize.ts +40 -40
  224. package/src/utils/withLocalization.tsx +11 -11
  225. package/src/utils/withRouteWrapper.tsx +25 -25
  226. package/src/utils/withSuspense.tsx +6 -6
  227. package/styled-components.tsx +60 -60
  228. package/todo.md +20 -20
  229. package/tsconfig.json +21 -21
  230. package/src/components/Layout/Header/FreshDeskHelpButton.tsx +0 -19
  231. package/src/components/Layout/Header/assets/campx.svg +0 -29
  232. package/src/components/Layout/Header/assets/collegex.png +0 -0
  233. package/src/components/Layout/Header/assets/enrollx.png +0 -0
  234. package/src/components/Layout/Header/assets/newAssets/campx.png +0 -0
  235. package/src/components/Layout/Header/assets/newAssets/examx.png +0 -0
  236. package/src/components/Layout/Header/assets/newAssets/hostelx.png +0 -0
  237. package/src/components/Layout/Header/assets/newAssets/payx.png +0 -0
  238. package/src/components/Layout/Header/assets/newexamx.png +0 -0
  239. package/src/components/Layout/Header/assets/newpayx.png +0 -0
  240. package/src/components/Layout/Header/assets/payxHeader.svg +0 -21
  241. package/src/components/Layout/Header/assets/peoplex.png +0 -0
  242. package/src/components/Layout/Header/assets/peoplexHeader.svg +0 -14
@@ -1,19 +1,19 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="93.064" height="30" viewBox="0 0 93.064 30">
2
- <defs>
3
- <linearGradient id="linear-gradient" x1="0.222" y1="1" x2="0.787" gradientUnits="objectBoundingBox">
4
- <stop offset="0" stop-color="#88b053"/>
5
- <stop offset="1" stop-color="#50840b"/>
6
- </linearGradient>
7
- </defs>
8
- <g id="Group_4626" data-name="Group 4626" transform="translate(-157.064 -25)">
9
- <text id="PAYX" transform="translate(190.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">PAYX</tspan></text>
10
- <g id="Group_4464" data-name="Group 4464" transform="translate(-1440.537 -756.55)">
11
- <g id="Group_4461" data-name="Group 4461" transform="translate(1597.6 781.55)">
12
- <g id="Group_4460" data-name="Group 4460" transform="translate(0 0)">
13
- <path id="Subtraction_8" data-name="Subtraction 8" d="M7.5,15.42,18.668.054,18.593,0H11.232L3.766,10.275v0L.026,15.418v0H7.5Z" transform="translate(2.447 14.58)" fill="url(#linear-gradient)"/>
14
- <path id="Subtraction_8-2" data-name="Subtraction 8" d="M11.19,0,.026,15.366.1,15.42H7.462L14.928,5.145v0L18.668,0V0H11.19Z" transform="translate(-0.026 0)" fill="url(#linear-gradient)"/>
15
- </g>
16
- </g>
17
- </g>
18
- </g>
19
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="93.064" height="30" viewBox="0 0 93.064 30">
2
+ <defs>
3
+ <linearGradient id="linear-gradient" x1="0.222" y1="1" x2="0.787" gradientUnits="objectBoundingBox">
4
+ <stop offset="0" stop-color="#88b053"/>
5
+ <stop offset="1" stop-color="#50840b"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <g id="Group_4626" data-name="Group 4626" transform="translate(-157.064 -25)">
9
+ <text id="PAYX" transform="translate(190.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">PAYX</tspan></text>
10
+ <g id="Group_4464" data-name="Group 4464" transform="translate(-1440.537 -756.55)">
11
+ <g id="Group_4461" data-name="Group 4461" transform="translate(1597.6 781.55)">
12
+ <g id="Group_4460" data-name="Group 4460" transform="translate(0 0)">
13
+ <path id="Subtraction_8" data-name="Subtraction 8" d="M7.5,15.42,18.668.054,18.593,0H11.232L3.766,10.275v0L.026,15.418v0H7.5Z" transform="translate(2.447 14.58)" fill="url(#linear-gradient)"/>
14
+ <path id="Subtraction_8-2" data-name="Subtraction 8" d="M11.19,0,.026,15.366.1,15.42H7.462L14.928,5.145v0L18.668,0V0H11.19Z" transform="translate(-0.026 0)" fill="url(#linear-gradient)"/>
15
+ </g>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </svg>
@@ -1,9 +1,9 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="426.29" height="320.001" viewBox="0 0 426.29 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="#d0002b"/>
5
- <stop offset="1" stop-color="#ea4a6b"/>
6
- </linearGradient>
7
- </defs>
8
- <path id="Union_42" data-name="Union 42" d="M-1429.646-7174l-50.322-69.259-9.444,13,40.5,55.514-1.027.747h-182.829l-.021-.03,40.96-56.372-9.342-12.857L-1651.493-7174h-102.486l-.021-.03,51.243-70.524.019.026,101.257-139.358.5.683,0,0,60.424,82.832,60.775-82.837.006.008.306-.421,151.761,208.879-1.027.747Zm-92.314-279.665v0A40.334,40.334,0,0,1-1481.627-7494a40.335,40.335,0,0,1,40.334,40.334v0a40.335,40.335,0,0,1-40.334,40.333A40.333,40.333,0,0,1-1521.96-7453.664Zm-119.905,0v0A40.334,40.334,0,0,1-1601.532-7494a40.335,40.335,0,0,1,40.334,40.334v0a40.335,40.335,0,0,1-40.334,40.333A40.333,40.333,0,0,1-1641.865-7453.664Z" transform="translate(1753.999 7494)" fill="url(#linear-gradient)"/>
9
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="426.29" height="320.001" viewBox="0 0 426.29 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="#d0002b"/>
5
+ <stop offset="1" stop-color="#ea4a6b"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <path id="Union_42" data-name="Union 42" d="M-1429.646-7174l-50.322-69.259-9.444,13,40.5,55.514-1.027.747h-182.829l-.021-.03,40.96-56.372-9.342-12.857L-1651.493-7174h-102.486l-.021-.03,51.243-70.524.019.026,101.257-139.358.5.683,0,0,60.424,82.832,60.775-82.837.006.008.306-.421,151.761,208.879-1.027.747Zm-92.314-279.665v0A40.334,40.334,0,0,1-1481.627-7494a40.335,40.335,0,0,1,40.334,40.334v0a40.335,40.335,0,0,1-40.334,40.333A40.333,40.333,0,0,1-1521.96-7453.664Zm-119.905,0v0A40.334,40.334,0,0,1-1601.532-7494a40.335,40.335,0,0,1,40.334,40.334v0a40.335,40.335,0,0,1-40.334,40.333A40.333,40.333,0,0,1-1641.865-7453.664Z" transform="translate(1753.999 7494)" fill="url(#linear-gradient)"/>
9
+ </svg>
@@ -1,12 +1,12 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="155.964" height="30.002" viewBox="0 0 155.964 30.002">
2
- <defs>
3
- <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
- <stop offset="0" stop-color="#d0002b"/>
5
- <stop offset="1" stop-color="#ea4a6b"/>
6
- </linearGradient>
7
- </defs>
8
- <g id="Group_4626" data-name="Group 4626" transform="translate(-136.164 -24.999)">
9
- <text id="PEOPLEX" transform="translate(186.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">PEOPLEX</tspan></text>
10
- <path id="Union_42" data-name="Union 42" d="M-1723.591-7464l-4.718-6.494-.884,1.217,3.8,5.2-.1.072h-17.139l0,0,3.84-5.284-.875-1.206-4.717,6.494H-1754l0,0,4.8-6.611,0,0,9.494-13.066.047.064h0l5.664,7.765,5.7-7.765h0l.029-.04,14.226,19.582-.1.072Zm-8.653-26.22a3.782,3.782,0,0,1,3.78-3.782,3.784,3.784,0,0,1,3.782,3.782,3.784,3.784,0,0,1-3.782,3.782A3.782,3.782,0,0,1-1732.245-7490.219Zm-11.241,0a3.782,3.782,0,0,1,3.78-3.782,3.783,3.783,0,0,1,3.782,3.782,3.783,3.783,0,0,1-3.782,3.782A3.782,3.782,0,0,1-1743.486-7490.219Z" transform="translate(1890.163 7519)" fill="url(#linear-gradient)"/>
11
- </g>
12
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="155.964" height="30.002" viewBox="0 0 155.964 30.002">
2
+ <defs>
3
+ <linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
4
+ <stop offset="0" stop-color="#d0002b"/>
5
+ <stop offset="1" stop-color="#ea4a6b"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <g id="Group_4626" data-name="Group 4626" transform="translate(-136.164 -24.999)">
9
+ <text id="PEOPLEX" transform="translate(186.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">PEOPLEX</tspan></text>
10
+ <path id="Union_42" data-name="Union 42" d="M-1723.591-7464l-4.718-6.494-.884,1.217,3.8,5.2-.1.072h-17.139l0,0,3.84-5.284-.875-1.206-4.717,6.494H-1754l0,0,4.8-6.611,0,0,9.494-13.066.047.064h0l5.664,7.765,5.7-7.765h0l.029-.04,14.226,19.582-.1.072Zm-8.653-26.22a3.782,3.782,0,0,1,3.78-3.782,3.784,3.784,0,0,1,3.782,3.782,3.784,3.784,0,0,1-3.782,3.782A3.782,3.782,0,0,1-1732.245-7490.219Zm-11.241,0a3.782,3.782,0,0,1,3.78-3.782,3.783,3.783,0,0,1,3.782,3.782,3.783,3.783,0,0,1-3.782,3.782A3.782,3.782,0,0,1-1743.486-7490.219Z" transform="translate(1890.163 7519)" fill="url(#linear-gradient)"/>
11
+ </g>
12
+ </svg>
@@ -1,12 +1,12 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="226.128" height="30" viewBox="0 0 226.128 30">
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
- <g id="Group_4626" data-name="Group 4626" transform="translate(-148 -25)">
9
- <text id="CAMPX_SQUARE" data-name="CAMPX SQUARE" transform="translate(190.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">CAMPX SQUARE</tspan></text>
10
- <path id="Subtraction_57" data-name="Subtraction 57" d="M-5680.2,8259.99h-11.3v-11.343h5.625v5.718h5.672v5.625Zm18.7,0h-11.3v-5.625h5.671v-5.718h5.625v11.343Zm0-18.749h-5.625v-5.626h-5.671v-5.625h11.3v11.251Zm-24.375,0h-5.625V8229.99h11.3v5.625h-5.672v5.626Z" transform="translate(5839.5 -8204.99)" fill="url(#linear-gradient)"/>
11
- </g>
12
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="226.128" height="30" viewBox="0 0 226.128 30">
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
+ <g id="Group_4626" data-name="Group 4626" transform="translate(-148 -25)">
9
+ <text id="CAMPX_SQUARE" data-name="CAMPX SQUARE" transform="translate(190.127 47.5)" font-size="22" font-family="Nexa-XBold, Nexa" font-weight="700"><tspan x="0" y="0">CAMPX SQUARE</tspan></text>
10
+ <path id="Subtraction_57" data-name="Subtraction 57" d="M-5680.2,8259.99h-11.3v-11.343h5.625v5.718h5.672v5.625Zm18.7,0h-11.3v-5.625h5.671v-5.718h5.625v11.343Zm0-18.749h-5.625v-5.626h-5.671v-5.625h11.3v11.251Zm-24.375,0h-5.625V8229.99h11.3v5.625h-5.672v5.626Z" transform="translate(5839.5 -8204.99)" fill="url(#linear-gradient)"/>
11
+ </g>
12
+ </svg>
@@ -1,57 +1,57 @@
1
- export const AppsIcon = () => {
2
- return (
3
- <svg
4
- id="apps"
5
- xmlns="http://www.w3.org/2000/svg"
6
- width="24"
7
- height="24"
8
- viewBox="0 0 24 24"
9
- >
10
- <path
11
- id="Path_15109"
12
- data-name="Path 15109"
13
- d="M7,0H4A4,4,0,0,0,0,4V7a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V4A4,4,0,0,0,7,0ZM9,7A2,2,0,0,1,7,9H4A2,2,0,0,1,2,7V4A2,2,0,0,1,4,2H7A2,2,0,0,1,9,4Z"
14
- fill="#d4483e"
15
- />
16
- <path
17
- id="Path_15110"
18
- data-name="Path 15110"
19
- d="M20,0H17a4,4,0,0,0-4,4V7a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V4a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"
20
- fill="#f8d759"
21
- />
22
- <path
23
- id="Path_15111"
24
- data-name="Path 15111"
25
- d="M7,13H4a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V17A4,4,0,0,0,7,13Zm2,7a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2H7a2,2,0,0,1,2,2Z"
26
- fill="#88b053"
27
- />
28
- <path
29
- id="Path_15112"
30
- data-name="Path 15112"
31
- d="M20,13H17a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V17A4,4,0,0,0,20,13Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"
32
- fill="#4baabe"
33
- />
34
- </svg>
35
- )
36
- }
37
-
38
- export const NotificationIcon = () => {
39
- return (
40
- <>
41
- <svg
42
- xmlns="http://www.w3.org/2000/svg"
43
- width="18.125"
44
- height="20"
45
- viewBox="0 0 18.125 20"
46
- >
47
- <path
48
- id="bell_10_"
49
- data-name="bell (10)"
50
- d="M18.958,11.384l-1.583-5.7a7.767,7.767,0,0,0-15.064.395L1.085,11.595a4.166,4.166,0,0,0,4.067,5.07H6.08a4.166,4.166,0,0,0,8.166,0h.7a4.166,4.166,0,0,0,4.015-5.281Zm-8.795,6.948a2.5,2.5,0,0,1-2.346-1.666H12.51A2.5,2.5,0,0,1,10.163,18.332Zm6.771-4.32A2.481,2.481,0,0,1,14.944,15H5.152a2.5,2.5,0,0,1-2.44-3.042L3.937,6.444a6.1,6.1,0,0,1,11.832-.31l1.583,5.7a2.481,2.481,0,0,1-.418,2.181Z"
51
- transform="translate(-0.986 -0.002)"
52
- fill="#121212"
53
- />
54
- </svg>
55
- </>
56
- )
57
- }
1
+ export const AppsIcon = () => {
2
+ return (
3
+ <svg
4
+ id="apps"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="24"
7
+ height="24"
8
+ viewBox="0 0 24 24"
9
+ >
10
+ <path
11
+ id="Path_15109"
12
+ data-name="Path 15109"
13
+ d="M7,0H4A4,4,0,0,0,0,4V7a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V4A4,4,0,0,0,7,0ZM9,7A2,2,0,0,1,7,9H4A2,2,0,0,1,2,7V4A2,2,0,0,1,4,2H7A2,2,0,0,1,9,4Z"
14
+ fill="#d4483e"
15
+ />
16
+ <path
17
+ id="Path_15110"
18
+ data-name="Path 15110"
19
+ d="M20,0H17a4,4,0,0,0-4,4V7a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V4a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"
20
+ fill="#f8d759"
21
+ />
22
+ <path
23
+ id="Path_15111"
24
+ data-name="Path 15111"
25
+ d="M7,13H4a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V17A4,4,0,0,0,7,13Zm2,7a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2H7a2,2,0,0,1,2,2Z"
26
+ fill="#88b053"
27
+ />
28
+ <path
29
+ id="Path_15112"
30
+ data-name="Path 15112"
31
+ d="M20,13H17a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V17A4,4,0,0,0,20,13Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"
32
+ fill="#4baabe"
33
+ />
34
+ </svg>
35
+ )
36
+ }
37
+
38
+ export const NotificationIcon = () => {
39
+ return (
40
+ <>
41
+ <svg
42
+ xmlns="http://www.w3.org/2000/svg"
43
+ width="18.125"
44
+ height="20"
45
+ viewBox="0 0 18.125 20"
46
+ >
47
+ <path
48
+ id="bell_10_"
49
+ data-name="bell (10)"
50
+ d="M18.958,11.384l-1.583-5.7a7.767,7.767,0,0,0-15.064.395L1.085,11.595a4.166,4.166,0,0,0,4.067,5.07H6.08a4.166,4.166,0,0,0,8.166,0h.7a4.166,4.166,0,0,0,4.015-5.281Zm-8.795,6.948a2.5,2.5,0,0,1-2.346-1.666H12.51A2.5,2.5,0,0,1,10.163,18.332Zm6.771-4.32A2.481,2.481,0,0,1,14.944,15H5.152a2.5,2.5,0,0,1-2.44-3.042L3.937,6.444a6.1,6.1,0,0,1,11.832-.31l1.583,5.7a2.481,2.481,0,0,1-.418,2.181Z"
51
+ transform="translate(-0.986 -0.002)"
52
+ fill="#121212"
53
+ />
54
+ </svg>
55
+ </>
56
+ )
57
+ }
@@ -1 +1 @@
1
- export { default } from './AppHeader'
1
+ export { default } from './AppHeader'
@@ -1,98 +1,98 @@
1
- import {
2
- alpha,
3
- AppBar,
4
- Box,
5
- IconButton,
6
- ListItemText,
7
- styled,
8
- Typography,
9
- Link,
10
- } from '@mui/material'
11
-
12
- export const StyledImageWrapper = styled('div')`
13
- width: auto;
14
- height: 24px;
15
- & img {
16
- width: 100%;
17
- height: 100%;
18
- object-fit: contain;
19
- }
20
- `
21
-
22
- export const StyledItemText = styled(ListItemText)(({ theme }) => ({
23
- color: theme.palette.text.primary,
24
- transition: '0.2s ease',
25
- }))
26
-
27
- export const StyledAppBar = styled(AppBar)(({ theme }) => ({
28
- backgroundColor: 'white',
29
- boxShadow: '0px 8px 28px rgb(136,136,136, 0.3)',
30
- }))
31
-
32
- export const StyledHeader = styled(Box)(({ theme }) => ({
33
- boxShadow: '0px 2px 10px #0000001a',
34
- backgroundColor: 'white',
35
- display: 'flex',
36
- alignItems: 'center',
37
- justifyContent: 'space-between',
38
- '& .actions': {
39
- marginRight: '10px',
40
- display: 'flex',
41
- alignItems: 'center',
42
- gap: '14px',
43
- },
44
- }))
45
-
46
- export const StyledUser = styled(Box)(({ theme }) => ({
47
- cursor: 'pointer',
48
- borderRadius: '5px',
49
- transition: 'background 0.2s ease',
50
- padding: '5px 16px',
51
- display: 'flex',
52
- alignItems: 'center',
53
- gap: '8px',
54
- '&:hover': {
55
- background: theme.palette.secondary.light,
56
- },
57
- }))
58
-
59
- export const StyledIconButton = styled(IconButton)({
60
- padding: '20px',
61
- backgroundColor: 'black',
62
- display: 'flex',
63
- alignItems: 'center',
64
- justifyContent: 'center',
65
- borderRadius: '0px',
66
- })
67
-
68
- export const StyledLink = styled(Link)({
69
- textDecoration: 'none',
70
- })
71
-
72
- export const StyledDescription = styled(Typography)(({ theme }) => ({
73
- fontSize: '12px',
74
- fontWeight: 600,
75
- color: alpha(theme?.palette?.secondary?.lighter, 0.5),
76
- }))
77
-
78
- export const StyledMenuItem = styled(Box)({
79
- height: '64px',
80
- width: '380px',
81
- padding: '40px 20px',
82
- transition: 'background ease 0.3s',
83
- '&:hover': {
84
- background: 'rgba(0, 0, 0, 0.03)',
85
- },
86
- display: 'flex',
87
- alignItems: 'center',
88
- gap: '20px',
89
- })
90
-
91
- export const StyledMenuItemContainer = styled(Box)(({ theme }) => ({
92
- cursor: 'pointer',
93
- borderBottom: `1px solid ${theme?.palette?.secondary?.lighter}`,
94
- '&:last-of-type': {
95
- border: 'none',
96
- },
97
- padding: '8px 0px',
98
- }))
1
+ import {
2
+ alpha,
3
+ AppBar,
4
+ Box,
5
+ IconButton,
6
+ ListItemText,
7
+ styled,
8
+ Typography,
9
+ Link,
10
+ } from '@mui/material'
11
+
12
+ export const StyledImageWrapper = styled('div')`
13
+ width: auto;
14
+ height: 24px;
15
+ & img {
16
+ width: 100%;
17
+ height: 100%;
18
+ object-fit: contain;
19
+ }
20
+ `
21
+
22
+ export const StyledItemText = styled(ListItemText)(({ theme }) => ({
23
+ color: theme.palette.text.primary,
24
+ transition: '0.2s ease',
25
+ }))
26
+
27
+ export const StyledAppBar = styled(AppBar)(({ theme }) => ({
28
+ backgroundColor: 'white',
29
+ boxShadow: '0px 8px 28px rgb(136,136,136, 0.3)',
30
+ }))
31
+
32
+ export const StyledHeader = styled(Box)(({ theme }) => ({
33
+ boxShadow: '0px 2px 10px #0000001a',
34
+ backgroundColor: 'white',
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'space-between',
38
+ '& .actions': {
39
+ marginRight: '10px',
40
+ display: 'flex',
41
+ alignItems: 'center',
42
+ gap: '14px',
43
+ },
44
+ }))
45
+
46
+ export const StyledUser = styled(Box)(({ theme }) => ({
47
+ cursor: 'pointer',
48
+ borderRadius: '5px',
49
+ transition: 'background 0.2s ease',
50
+ padding: '5px 16px',
51
+ display: 'flex',
52
+ alignItems: 'center',
53
+ gap: '8px',
54
+ '&:hover': {
55
+ background: theme.palette.secondary.light,
56
+ },
57
+ }))
58
+
59
+ export const StyledIconButton = styled(IconButton)({
60
+ padding: '20px',
61
+ backgroundColor: 'black',
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ justifyContent: 'center',
65
+ borderRadius: '0px',
66
+ })
67
+
68
+ export const StyledLink = styled(Link)({
69
+ textDecoration: 'none',
70
+ })
71
+
72
+ export const StyledDescription = styled(Typography)(({ theme }) => ({
73
+ fontSize: '12px',
74
+ fontWeight: 600,
75
+ color: alpha(theme?.palette?.secondary?.lighter, 0.5),
76
+ }))
77
+
78
+ export const StyledMenuItem = styled(Box)({
79
+ height: '64px',
80
+ width: '380px',
81
+ padding: '40px 20px',
82
+ transition: 'background ease 0.3s',
83
+ '&:hover': {
84
+ background: 'rgba(0, 0, 0, 0.03)',
85
+ },
86
+ display: 'flex',
87
+ alignItems: 'center',
88
+ gap: '20px',
89
+ })
90
+
91
+ export const StyledMenuItemContainer = styled(Box)(({ theme }) => ({
92
+ cursor: 'pointer',
93
+ borderBottom: `1px solid ${theme?.palette?.secondary?.lighter}`,
94
+ '&:last-of-type': {
95
+ border: 'none',
96
+ },
97
+ padding: '8px 0px',
98
+ }))
@@ -0,0 +1,74 @@
1
+ import { Box, Typography } from '@mui/material'
2
+ import moment from 'moment'
3
+ import { useState } from 'react'
4
+ import { useQuery } from 'react-query'
5
+ import axios from '../../../config/axios'
6
+ import Spinner from '../../Spinner'
7
+ // import { getImage } from './Services'
8
+ import { StyledCardData, StyledLeftContainer, StyledListItem } from './styles'
9
+ import TicketDetails from './TicketDetails'
10
+
11
+ function MyTickets() {
12
+ const [currentTicket, setCurrentTicket] = useState(null)
13
+ const { data, isLoading } = useQuery<any>('tickets', () =>
14
+ axios.get('/service-tickets/my-tickets').then((res) => res.data.result),
15
+ )
16
+ // const { data: imageData } = useQuery('imageData', () => getImage(data))
17
+ if (isLoading) return <Spinner />
18
+ return (
19
+ <Box sx={{ display: 'flex', gap: '20px' }}>
20
+ <Box sx={{ margin: '10px', borderRadius: '10px' }}>
21
+ <StyledLeftContainer>
22
+ {data?.map((item) => (
23
+ <TicketListItem
24
+ key={item}
25
+ data={item}
26
+ setCurrentTicket={setCurrentTicket}
27
+ currentTicket={currentTicket}
28
+ />
29
+ ))}
30
+ </StyledLeftContainer>
31
+ </Box>
32
+ {currentTicket?._id ? (
33
+ <TicketDetails data={currentTicket} id={currentTicket._id} />
34
+ ) : (
35
+ ''
36
+ )}
37
+ </Box>
38
+ )
39
+ }
40
+
41
+ export default MyTickets
42
+
43
+ const TicketListItem = ({ data, setCurrentTicket, currentTicket }) => {
44
+ return (
45
+ <StyledListItem
46
+ isActive={currentTicket?._id === data?._id ? true : false}
47
+ onClick={() => {
48
+ // set selected ticket data
49
+ setCurrentTicket(data)
50
+ }}
51
+ >
52
+ <Box
53
+ sx={{
54
+ width: '400px',
55
+ display: 'flex',
56
+ }}
57
+ >
58
+ <Box className="left">
59
+ <Typography variant="body2">{data?.name}</Typography>
60
+ <Typography variant="subtitle2">
61
+ {moment(data?.createdAt).format('DD MMMM, YYYY hh:mm: a')}
62
+ </Typography>
63
+ </Box>
64
+ <Box className="right">
65
+ <StyledCardData>
66
+ <Typography variant="h5" sx={{ fontSize: '9px' }}>
67
+ {data?.status.replace('_', ' ')}
68
+ </Typography>
69
+ </StyledCardData>
70
+ </Box>
71
+ </Box>
72
+ </StyledListItem>
73
+ )
74
+ }
@@ -0,0 +1,6 @@
1
+ import axios from '../../../config/axios'
2
+
3
+ export const getImage = async (id: string) => {
4
+ let imageData = await axios.get(`/service-tickets/${id}`)
5
+ return imageData?.data
6
+ }
@@ -0,0 +1,66 @@
1
+ /* eslint-disable react/jsx-key */
2
+ import { Box, Card, Stack, Typography } from '@mui/material'
3
+ import axios from 'axios'
4
+ import moment from 'moment'
5
+ import { useQuery } from 'react-query'
6
+ import { getImage } from './Services'
7
+ import { StyledBoxDetails, StyledCardData } from './styles'
8
+ import StyledTimeLine from './TimeLine'
9
+ // export const getImage = async (id: string) => {
10
+ // let imgData = await axios.get(`/service-tickets/${id}`)
11
+ // return imgData?.data
12
+ // }
13
+ function TicketDetails({ data, id }) {
14
+ const { data: imageData } = useQuery(['imageData', id], () => getImage(id))
15
+ console.log(imageData, 'imagedata')
16
+ return (
17
+ <Box>
18
+ {data ? (
19
+ <Card
20
+ sx={{
21
+ marginTop: '20px',
22
+ }}
23
+ >
24
+ <StyledBoxDetails>
25
+ <Box>
26
+ <Typography variant="h5">{data?.name}</Typography>
27
+ <Typography variant="subtitle2" sx={{ marginTop: '5px' }}>
28
+ {moment(data?.createdAt).format('DD MMMM, YYYY hh:mm: a') ??
29
+ ' '}
30
+ </Typography>
31
+ <Typography
32
+ sx={{ marginTop: '20px', maxWidth: '500px', fontSize: '14px' }}
33
+ >
34
+ {data?.description}
35
+ </Typography>
36
+ <Stack direction={'column'} gap="20px" sx={{ marginTop: '10px' }}>
37
+ {imageData?.issueFiles?.map((item) => (
38
+ <img src={item?.url} height={'100px'} width={'200px'} />
39
+ ))}
40
+ </Stack>
41
+ </Box>
42
+ <StyledCardData
43
+ sx={{
44
+ marginRight: '10px',
45
+ }}
46
+ >
47
+ <Typography variant="h5" sx={{ fontSize: '10px' }}>
48
+ {data.status.replace('_', ' ')}
49
+ </Typography>
50
+ </StyledCardData>
51
+ </StyledBoxDetails>
52
+ </Card>
53
+ ) : (
54
+ ''
55
+ )}
56
+ <Box sx={{ marginTop: '30px', marginBottom: '30px' }}>
57
+ <Typography variant="h1" sx={{ marginBottom: '10px' }}>
58
+ {data?.timelineLogs ? 'Ticket Timeline' : ''}
59
+ </Typography>
60
+ <StyledTimeLine data={data?.timelineLogs} />
61
+ </Box>
62
+ </Box>
63
+ )
64
+ }
65
+
66
+ export default TicketDetails
@@ -0,0 +1,64 @@
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
+ }
@@ -0,0 +1 @@
1
+ export { default } from './MyTickets'