@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,384 +0,0 @@
1
- import { Store } from 'pullstate'
2
-
3
- export enum Permission {
4
- VIEW_AUDIT_LOGS = 'can_view_audit_logs',
5
- STUDENTS_VIEW = 'can_students_view',
6
- ADMISSIONS_VIEW = 'can_admissions_view',
7
- USERS_VIEW = 'can_users_view',
8
- SUBJECTS_VIEW = 'can_subjects_view',
9
- COURSE_REGISTRATION_VIEW = 'can_course_registration_view',
10
- END_SEMESTER_EXAMINATIONS_VIEW = 'can_end_semester_examinations_view',
11
- INTERNAL_EXAMINATIONS_VIEW = 'can_internal_examinations_view',
12
- VIEW_ANSWER_SHEET_REPORT = 'can_view_answer_sheet_report',
13
- SEATING_PLAN = 'can_examinations_seating_plan',
14
- VIEW_REPORTS = 'can_results_processing_view_reports',
15
- CAN_ADD_FEED = 'can_feed_add',
16
- MARKS_DIVISION = 'can_examinations_manage_marks_division',
17
-
18
- //classroom
19
-
20
- CLASSROOM_VIEW = 'can_classroom_view',
21
- CLASSROOM_EDIT = 'can_classroom_edit',
22
- CLASSROOM_DELETE = 'can_classroom_delete',
23
- CLASSROOM_ADD = 'can_classroom_add',
24
- CAN_CLASSROOM_SUBJECTS_VIEW = 'can_classroom_subjects_view',
25
- CAN_CLASSROOM_SUBJECT_ATTENDANCE_EDIT = 'can_classroom_subject_attendance_edit',
26
-
27
- // Tasks
28
-
29
- CAN_TASKS_ADD = 'can_tasks_add',
30
- CAN_TASKS_DELETE = 'can_tasks_delete',
31
- CAN_TASKS_EDIT = 'can_tasks_edit',
32
- CAN_TASKS_VIEW = 'can_tasks_view',
33
- CAN_TASKS_CHANGE_STATUS = 'can_tasks_change_status',
34
- CAN_REVOKE_MARKS = 'can_classroom_revoke_marks',
35
-
36
- // Academic Calendar
37
-
38
- ACADEMIC_CALENDAR_VIEW = 'can_academic_calendar_view',
39
- ACADEMIC_CALENDAR_EVENT_ADD = 'can_academic_calendar_event_add',
40
- ACADEMIC_CALENDAR_EVENT_EDIT = 'can_academic_calendar_event_edit',
41
- ACADEMIC_CALENDAR_EVENT_DELETE = 'can_academic_calendar_event_delete',
42
-
43
- //Departments
44
- CAN_DEPARTMENTS_VIEW = 'can_departments_view',
45
- CAN_DEPARTMENTS_ADD = 'can_departments_add',
46
- CAN_DEPARTMENTS_EDIT = 'can_departments_edit',
47
- CAN_DEPARTMENTS_DELETE = 'can_departments_delete',
48
-
49
- //Designations
50
- DESIGNATIONS_ADD = 'can_designations_add',
51
- DESIGNATIONS_DELETE = 'can_designations_delete',
52
- DESIGNATIONS_EDIT = 'can_designations_edit',
53
- DESIGNATIONS_VIEW = 'can_designations_view',
54
-
55
- //bundling
56
-
57
- BUNDLING_VIEW = 'can_bundling_view',
58
- BUNDLING_ADD = 'can_bundling_add',
59
- BUNDLING_EDIT = 'can_bundling_edit',
60
- BUNDLING_DELETE = 'can_bundling_delete',
61
-
62
- // manage
63
- MANAGE_ROLES_AND_PROFILES = 'can_manage_roles_and_profiles',
64
-
65
- MANAGE_USER_GROUPS = 'can_manage_user_groups',
66
- MANAGE_ASSESSMENTS = 'can_manage_assessments',
67
- USERS_ADD = 'can_users_add',
68
- USERS_EDIT = 'can_users_edit',
69
- USERS_DELETE = 'can_users_delete',
70
- USERS_REORDER = 'can_users_reorder',
71
- USERS_UPLOAD_PHOTOS = 'can_user_upload_photos',
72
- USERS_EXPORT = 'can_users_export',
73
- ADMISSIONS_ADD = 'can_admissions_add',
74
- ADMISSIONS_EDIT = 'can_admissions_edit',
75
- ADMISSIONS_DELETE = 'can_admissions_delete',
76
- ADMISSIONS_CHANGE_STATUS = 'can_admissions_change_status',
77
- ADMISSIONS_IMPORT = 'can_admissions_import',
78
- ADMISSIONS_EXPORT = 'can_admissions_export',
79
- ADMISSIONS_CONFIRM = 'can_admissions_confirm',
80
- STUDENTS_ADD = 'can_students_add',
81
- STUDENTS_EDIT = 'can_students_edit',
82
- STUDENTS_DELETE = 'can_students_delete',
83
- STUDENTS_DETAIN = 'can_students_detain',
84
- STUDENTS_IMPORT = 'can_students_import',
85
- STUDENTS_EXPORT = 'can_students_export',
86
- STUDENTS_RESULTS = 'can_students_results',
87
- STUDENTS_UPLOAD_PHOTOS = 'can_students_upload_photos',
88
- STUDENTS_TRANSFER = 'can_students_transfer',
89
- STUDENTS_ALLOTMENT = 'can_students_allotment',
90
- SUBJECTS_ADD = 'can_subjects_add',
91
- SUBJECTS_EDIT = 'can_subjects_edit',
92
- SUBJECTS_DELETE = 'can_subjects_delete',
93
- SUBJECTS_EDIT_SUBJECT_INFO = 'can_subjects_edit_subject_info',
94
- COURSE_REGISTRATION_ADD = 'can_course_registration_add',
95
- COURSE_REGISTRATION_EDIT = 'can_course_registration_edit',
96
- COURSE_REGISTRATION_DELETE = 'can_course_registration_delete',
97
- END_SEMESTER_EXAMINATIONS_ADD = 'can_end_semester_examinations_add',
98
- END_SEMESTER_EXAMINATIONS_EDIT = 'can_end_semester_examinations_edit',
99
- END_SEMESTER_EXAMINATIONS_DELETE = 'can_end_semester_examinations_delete',
100
- END_SEMESTER_EXAMINATIONS_SEATING_PLAN = 'can_end_semester_examinations_seating_plan',
101
- END_SEMESTER_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_end_semester_examinations_manage_exam_fee',
102
- END_SEMESTER_EXAMINATIONS_D_FORMS = 'can_end_semester_examinations_d_forms',
103
- END_SEMESTER_EXAMINATIONS_BUNDLING = 'can_end_semester_examinations_bundling',
104
- END_SEMESTER_EXAMINATIONS_MARKS_ENTRY = 'can_end_semester_examinations_marks_entry',
105
- END_SEMESTER_EXAMINATIONS_INVIGILATIONS = 'can_end_semester_examinations_invigilations',
106
- INTERNAL_EXAMINATIONS_ADD = 'can_internal_examinations_add',
107
- INTERNAL_EXAMINATIONS_EDIT = 'can_internal_examinations_edit',
108
- INTERNAL_EXAMINATIONS_DELETE = 'can_internal_examinations_delete',
109
- INTERNAL_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_internal_examinations_manage_exam_fee',
110
- INTERNAL_EXAMINATIONS_MANAGE_HALLTICKETS = 'can_internal_examinations_manage_halltickets',
111
- INTERNAL_EXAMINATIONS_SEATING_PLAN = 'can_internal_examinations_seating_plan',
112
- INTERNAL_EXAMINATIONS_INVIGILATIONS = 'can_internal_examinations_invigilations',
113
- EXTRA_CURRICULAR_ACTIVITIES_NEWS_FEED = 'can_extra_curricular_activities_news_feed',
114
- EXTRA_CURRICULAR_ACTIVITIES_CLUBS = 'can_extra_curricular_activities_clubs',
115
- EXTRA_CURRICULAR_ACTIVITIES_EVENTS = 'can_extra_curricular_activities_events',
116
- EDIT_ANSWER_SHEET_MARKS = 'can_edit_answer_sheet_marks',
117
- EDIT_EXTERNAL_MARKS = 'can_edit_external_marks',
118
- EXAM_COLLATERALS = 'can_exam_collaterals',
119
- REVALUTION = 'can_revaluation',
120
- EDIT_INTERNAL_MARKS = 'can_edit_internal_marks',
121
- PROCESS_RESULTS = 'can_process_results',
122
- CAN_PROGRAMS_ADD = 'can_programs_add',
123
- CAN_PROGRAMS_DELETE = 'can_programs_delete',
124
- CAN_PROGRAMS_EDIT = 'can_programs_edit',
125
- CAN_PROGRAMS_VIEW = 'can_programs_view',
126
- CAN_DEGRESS_ADD = 'can_degrees_add',
127
- CAN_DEGRESS_DELETE = 'can_degrees_delete',
128
- CAN_DEGRESS_EDIT = 'can_degrees_edit',
129
- CAN_SETTINGS_VIEW = 'can_settings_view',
130
- CAN_DASHBOARD_VIEW = 'can_dashboard_view',
131
- CAN_DEGRESS_VIEW = 'can_degrees_view',
132
- CAN_SEMESTERS_ADD = 'can_semesters_add',
133
- CAN_SEMESTERS_DELETE = 'can_semesters_delete',
134
- CAN_SEMESTERS_EDIT = 'can_semesters_edit',
135
- CAN_SEMESTERS_VIEW = 'can_semesters_view',
136
- CAN_CURRICULUMS_ADD = 'can_curriculums_add',
137
- CAN_CURRICULUMS_DELETE = 'can_curriculums_delete',
138
- CAN_CURRICULUMS_EDIT = 'can_curriculums_edit',
139
- CAN_CURRICULUMS_VIEW = 'can_curriculums_view',
140
- CAN_ASSESSMENT_RULES_ADD = 'can_assessment_rules_add',
141
- CAN_ASSESSMENT_RULES_DELETE = 'can_assessment_rules_delete',
142
- CAN_ASSESSMENT_RULES_EDIT = 'can_assessment_rules_edit',
143
- CAN_ASSESSMENT_RULES_VIEW = 'can_assessment_rules_view',
144
- CAN_RESULTS_PROCESSING_GENERATE_MEMOS = 'can_results_processing_generate_memos',
145
- CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = 'can_results_processing_moderation_and_grafting',
146
- CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = 'can_results_processing_publish_results',
147
- CAN_RESULTS_PROCESSING_UPDATE_INTERNAL_MARKS = 'can_results_processing_update_internal_marks',
148
- CAN_RESULTS_PROCESSING_VIEW = 'can_results_processing_view',
149
-
150
- //newly added permissions
151
-
152
- CAN_PHD_FORM_VIEW = 'can_admissions_view_phd_applications',
153
- CAN_PHD_FORM_DOWNLOAD = 'can_admissions_download_phd_applications',
154
- CAN_CET_VIEW = 'can_admissions_view_cet',
155
- CAN_CET_DOWNLOAD = 'can_admissions_download_cet',
156
- CAN_HOSTELER_DASHBOARD_VIEW = 'can_hosteler_dashboard_view',
157
- CAN_HOSTELER_VIEW = 'can_hosteler_view',
158
- CAN_HOSTELER_ADD = 'can_hosteler_add',
159
- CAN_HOSTELER_EDIT = 'can_hosteler_edit',
160
- CAN_HOSTELER_CHANGE_STATUS = 'can_hosteler_change_status',
161
- CAN_HOSTELER_FACE_DATA_RESET = 'can_hosteler_face_data_reset',
162
- CAN_HOSTELER_FEE_PAYMENT_VIEW = 'can_hosteler_fee_payments_view',
163
- CAN_HOSTELER_REPORTS_VIEW = 'can_hosteler_reports_view',
164
- CAN_HOSTELER_SETTINGS_VIEW_CONFIGURATION = 'can_hosteler_settings_view_configuration',
165
- CAN_HOSTELER_SETTINGS_EDIT_CONFIGURATION = 'can_hosteler_settings_edit_configuration',
166
- CAN_HOSTELER_SETTINGS_ADD_FEE_TYPES = 'can_hosteler_settings_add_fee_types',
167
- CAN_HOSTELER_SETTINGS_VIEW_FEE_TYPES = 'can_hosteler_settings_view_fee_types',
168
- CAN_HOSTELER_SETTINGS_EDIT_FEE_TYPES = 'can_hosteler_settings_edit_fee_types',
169
- CAN_HOSTELER_SETTINGS_DELETE_FEE_TYPES = 'can_hosteler_settings_delete_fee_types',
170
- CAN_HOSTELERS_SETTINGS_BLOCK_VIEW = 'can_hosteler_settings_blocks_view',
171
- CAN_HOSTELERS_SETTINGS_BLOCK_ADD = 'can_hosteler_settings_blocks_add',
172
- CAN_HOSTELERS_SETTINGS_BLOCK_EDIT = 'can_hosteler_settings_blocks_edit',
173
- CAN_HOSTELERS_SETTINGS_BLOCK_DELETE = 'can_hosteler_settings_blocks_delete',
174
- CAN_HOSTELERS_SETTINGS_ROOMS_VIEW = 'can_hosteler_settings_rooms_view',
175
- CAN_HOSTELERS_SETTINGS_ROOMS_ADD = 'can_hosteler_settings_rooms_add',
176
- CAN_HOSTELERS_SETTINGS_ROOMS_EDIT = 'can_hosteler_settings_rooms_edit',
177
- CAN_HOSTELERS_SETTINGS_ROOMS_DELETE = 'can_hosteler_settings_rooms_delete',
178
- CAN_HOSTELERS_SETTINGS_ROOMS_IMPORT = 'can_hosteler_settings_import_hostel_rooms',
179
- CAN_HOSTELERS_SETTINGS_AMENITIES_VIEW = 'can_hosteler_settings_amenities_view',
180
- CAN_HOSTELERS_SETTINGS_AMENITIES_ADD = 'can_hosteler_settings_amenities_add',
181
- CAN_HOSTELERS_SETTINGS_AMENITIES_EDIT = 'can_hosteler_settings_amenities_edit',
182
- CAN_HOSTELERS_SETTINGS_AMENITIES_DELETE = 'can_hosteler_settings_amenities_delete',
183
- CAN_ADMISSIONS_DASHBOARD_VIEW = 'can_admission_dashboard_view',
184
- CAN_LEAD_STATUS_VIEW = 'can_lead_status_view',
185
- CAN_LEAD_STATUS_EDIT = 'can_lead_status_edit',
186
- CAN_LEAD_STATUS_ADD = 'can_lead_status_add',
187
- CAN_LEAD_STATUS_DELETE = 'can_lead_status_delete',
188
- SCHOOLS_VIEW = 'can_schools_view',
189
- SCHOOLS_ADD = 'can_schools_add',
190
- SCHOOLS_EDIT = 'can_schools_edit',
191
- SCHOOLS_DELETE = 'can_schools_delete',
192
- SUBJECT_TYPE_VIEW = 'can_subject_types_view',
193
- SUBJECT_TYPE_ADD = 'can_subject_types_add',
194
- SUBJECT_TYPE_EDIT = 'can_subject_types_edit',
195
- SUBJECT_TYPE_DELETE = 'can_subject_types_delete',
196
- ASSESSMENT_TYPE_VIEW = 'can_assessment_types_view',
197
- ASSESSMENT_TYPE_ADD = 'can_assessment_types_add',
198
- ASSESSMENT_TYPE_EDIT = 'can_assessment_types_edit',
199
- ASSESSMENT_TYPE_DELETE = 'can_assessment_types_delete',
200
- CLASSROOM_REPORTS = 'can_classroom_reports',
201
- CLASSROOM_REASSIGN_FACULTY = 'can_classroom_re_assign_faculty',
202
- CAN_INDIVIDUAL_PAGES_VIEW = 'can_individual_pages_view',
203
- CAN_QUOTAS_EDIT = 'can_quotas_edit',
204
- CAN_QUOTAS_DELETE = 'can_quotas_delete',
205
- CAN_QUOTAS_ADD = 'can_quotas_add',
206
- CAN_QUOTAS_VIEW = 'can_quotas_view',
207
-
208
- // Exams
209
-
210
- // OMRS
211
- CAN_OMRS_VIEW = 'can_omrs_view',
212
- CAN_OMRS_UPDATE = 'can_omrs_update',
213
-
214
- // Hall tickets
215
- CAN_HALL_TICKETS_VIEW = 'can_hall_tickets_view',
216
-
217
- // Paper Configuration
218
- CAN_PAPER_CONFIGURATION_VIEW = 'can_paper_configuration_view',
219
- CAN_PAPER_CONFIGURATION_ADD = 'can_paper_configuration_add',
220
- CAN_PAPER_CONFIGURATION_EDIT = 'can_paper_configuration_edit',
221
- CAN_PAPER_CONFIGURATION_DELETE = 'can_paper_configuration_delete',
222
-
223
- // Time table
224
- CAN_EXAM_TIMETABLE_VIEW = 'can_exam_timetable_view',
225
- CAN_EXAM_TIMETABLE_ADD = 'can_exam_timetable_add',
226
- CAN_EXAM_TIMETABLE_EDIT = 'can_exam_timetable_edit',
227
- CAN_EXAM_TIMETABLE_DELETE = 'can_exam_timetable_delete',
228
-
229
- // Registrations
230
- CAN_REGISTARTIONS_VIEW = 'can_exam_registrations_view',
231
- CAN_REGISTARTIONS_ADD = 'can_exam_registrations_add',
232
-
233
- // Internal Marks
234
- CAN_INTERNAL_MARKS_VIEW = 'can_internal_marks_view',
235
- CAN_INTERNAL_MARKS_ADD = 'can_internal_marks_add',
236
- CAN_INTERNAL_MARKS_EDIT = 'can_internal_marks_edit',
237
- CAN_INTERNAL_MARKS_IMPORT = 'can_internal_marks_import',
238
- CAN_INTERANL_MARKS_IMPORT_LMS = 'can_internal_marks_import_lms',
239
-
240
- // External Marks
241
- CAN_EXTERNAL_MARKS_VIEW = 'can_external_marks_view',
242
- CAN_EXTERNAL_MARKS_ADD = 'can_external_marks_add',
243
- CAN_EXTERNAL_MARKS_EDIT = 'can_external_marks_edit',
244
-
245
- // D Form
246
- CAN_D_FORM_VIEW = 'can_d_forms_view',
247
- CAN_D_FORM_ADD = 'can_d_forms_add',
248
-
249
- // Evaluators
250
- CAN_EVALUATORS_VIEW = 'can_evaluators_view',
251
- CAN_EVALUATORS_ADD = 'can_evaluators_add',
252
- CAN_EVALUATORS_EDIT = 'can_evaluators_edi',
253
- CAN_EVALUATORS_DELETE = 'can_evaluators_delete',
254
-
255
- // Rooms
256
- CAN_EXAM_ROOM_VIEW = 'can_exam_rooms_view',
257
- CAN_EXAM_ROOM_ADD = 'can_exam_rooms_add',
258
- CAN_EXAM_ROOM_EDIT = 'can_exam_rooms_edit',
259
- CAN_EXAM_ROOM_DELETE = 'can_exam_rooms_delete',
260
-
261
- // Time slots
262
- CAN_TIME_SLOTS_VIEW = 'can_time_slots_view',
263
- CAN_TIME_SLOTS_ADD = 'can_time_slots_add',
264
- CAN_TIME_SLOTS_EDIT = 'can_time_slots_edit',
265
- CAN_TIME_SLOTS_DELETE = 'can_time_slots_delete',
266
-
267
- // Grades
268
-
269
- CAN_GRADES_ADD = 'can_grades_add',
270
- CAN_GRADES_EDIT = 'can_grades_edit',
271
- CAN_GRADES_DELETE = 'can_grades_delete',
272
- CAN_GRADES_VIEW = 'can_grades_view',
273
- }
274
-
275
- export interface IPermissions {
276
- // view
277
- can_view_audit_logs: boolean
278
- can_students_view: boolean
279
- can_admissions_view: boolean
280
- can_users_view: boolean
281
- can_subjects_view: boolean
282
- can_course_registration_view: boolean
283
- can_end_semester_examinations_view: boolean
284
- can_internal_examinations_view: boolean
285
- can_view_answer_sheet_report: boolean
286
- can_feed_add: boolean
287
- can_classroom_view: boolean
288
- can_classroom_edit: boolean
289
- can_classroom_delete: boolean
290
- can_classroom_add: boolean
291
- can_tasks_view: boolean
292
- can_classroom_revoke_marks: boolean
293
- // manage
294
- can_manage_roles_and_profiles: boolean
295
- can_manage_user_groups: boolean
296
- can_manage_programs: boolean
297
- can_manage_courses: boolean
298
- can_manage_semesters: boolean
299
- can_manage_curriculums: boolean
300
- can_manage_assessments: boolean
301
-
302
- //department
303
- can_departments_view: boolean
304
- can_departments_add: boolean
305
- can_departments_edit: boolean
306
- can_departments_delete: boolean
307
-
308
- can_users_add: boolean
309
- can_users_edit: boolean
310
- can_users_delete: boolean
311
- can_users_reorder: boolean
312
- can_admissions_add: boolean
313
- can_admissions_edit: boolean
314
- can_admissions_delete: boolean
315
- can_admissions_change_status: boolean
316
- can_admissions_import: boolean
317
- can_admissions_export: boolean
318
- can_admissions_confirm: boolean
319
- can_students_add: boolean
320
- can_students_edit: boolean
321
- can_students_delete: boolean
322
- can_students_detain: boolean
323
- can_students_import: boolean
324
- can_students_export: boolean
325
- can_students_results: boolean
326
- can_students_upload_photos: boolean
327
- can_students_transfer: boolean
328
- can_students_allotment: boolean
329
- can_subjects_add: boolean
330
- can_subjects_edit: boolean
331
- can_subjects_delete: boolean
332
- can_subjects_edit_subject_info: boolean
333
- can_course_registration_add: boolean
334
- can_course_registration_edit: boolean
335
- can_course_registration_delete: boolean
336
- can_end_semester_examinations_add: boolean
337
- can_end_semester_examinations_edit: boolean
338
- can_end_semester_examinations_delete: boolean
339
- can_end_semester_examinations_seating_plan: boolean
340
- can_end_semester_examinations_manage_exam_fee: boolean
341
- can_end_semester_examinations_d_forms: boolean
342
- can_end_semester_examinations_bundling: boolean
343
- can_end_semester_examinations_marks_entry: boolean
344
- can_end_semester_examinations_invigilations: boolean
345
- can_examinations_seating_plan: boolean
346
- can_internal_examinations_add: boolean
347
- can_internal_examinations_edit: boolean
348
- can_internal_examinations_delete: boolean
349
- can_internal_examinations_manage_exam_fee: boolean
350
- can_internal_examinations_manage_halltickets: boolean
351
- can_internal_examinations_seating_plan: boolean
352
- can_internal_examinations_invigilations: boolean
353
- can_extra_curricular_activities_news_feed: boolean
354
- can_extra_curricular_activities_clubs: boolean
355
- can_extra_curricular_activities_events: boolean
356
- can_edit_answer_sheet_marks: boolean
357
- can_edit_external_marks: boolean
358
- can_exam_collaterals: boolean
359
- can_revalution: boolean
360
- can_edit_internal_marks: boolean
361
- can_process_results: boolean
362
- can_generate_memos: boolean
363
- can_individual_pages_view: boolean
364
- can_tasks_add: boolean
365
- can_tasks_edit: boolean
366
- can_tasks_change_status: boolean
367
- can_tasks_delete: boolean
368
- can_classroom_subject_attendance_edit: boolean
369
- can_classroom_subjects_view: boolean
370
- can_internal_marks_import: boolean
371
- can_internal_marks_import_lms: boolean
372
- can_grades_add: boolean
373
- can_grades_edit: boolean
374
- can_grades_delete: boolean
375
- can_grades_view: boolean
376
- }
377
-
378
- interface IPermissionsStore {
379
- permissions: IPermissions
380
- }
381
-
382
- export const PermissionsStore = new Store<IPermissionsStore>({
383
- permissions: null,
384
- })
@@ -1,13 +0,0 @@
1
- import { Store } from 'pullstate'
2
-
3
- export interface IUserStore {
4
- username: string
5
- user: any
6
- roles: any[]
7
- }
8
-
9
- export const UserStore = new Store({
10
- username: '',
11
- user: null,
12
- roles: [],
13
- })
@@ -1,4 +0,0 @@
1
- import { AssetsStore } from './AssetsStore'
2
- import { UserStore } from './UserStore'
3
- import { PermissionsStore, Permission } from './PermissionsStore'
4
- export { AssetsStore, UserStore, Permission, PermissionsStore }
@@ -1,3 +0,0 @@
1
- @import '~antd/lib/style/themes/default.less';
2
- @import '~antd/dist/antd.less';
3
- @import './index.css';
@@ -1,18 +0,0 @@
1
- import { CssBaseline, ThemeProvider } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import muiTheme from './muiTheme'
4
-
5
- export default function MuiThemeProvider({
6
- children,
7
- theme,
8
- }: {
9
- children: ReactNode
10
- theme?: any
11
- }) {
12
- return (
13
- <ThemeProvider theme={theme ?? muiTheme}>
14
- {children}
15
- <CssBaseline />
16
- </ThemeProvider>
17
- )
18
- }
@@ -1,135 +0,0 @@
1
- import {
2
- avenirHeavy,
3
- avenirHeavyObliquue,
4
- avenirMedium,
5
- avenirMediumObliquue,
6
- avenirRegular,
7
- } from '../assets/fonts/avenir'
8
- import {
9
- lightPoppins,
10
- mediumPoppins,
11
- regularPoppins,
12
- semiboldPoppins,
13
- lightPoppinsItalic,
14
- mediumPoppinsItalic,
15
- regularPoppinsItalic,
16
- } from '../assets/fonts/poppins'
17
-
18
- export const customCssBaseline = `
19
- :root{
20
- --toastify-color-info: #3498db;
21
- --toastify-color-success: #7EB872;
22
- --toastify-color-warning: #f1c40f;
23
- --toastify-color-error: #BC2C3D;
24
- }
25
-
26
- html, body {
27
- font-size: 14px;
28
- font-family: Avenir, sans-serif;
29
- font-weight: 400;
30
- }
31
-
32
- @font-face {
33
- font-family: Avenir;
34
- src: url(${avenirRegular}) format('truetype');
35
- font-display: swap;
36
- font-weight: 400;
37
- }
38
- @font-face {
39
- font-family: Avenir;
40
- src: url(${avenirMedium}) format('truetype');
41
- font-display: swap;
42
- font-weight: 500;
43
- }
44
- @font-face {
45
- font-family: Avenir;
46
- src: url(${avenirMediumObliquue}) format('truetype');
47
- font-display: swap;
48
- font-weight: 500;
49
- font-style: oblique;
50
- }
51
- @font-face {
52
- font-family: Avenir;
53
- src: url(${avenirHeavy}) format('truetype');
54
- font-display: swap;
55
- font-weight: 600;
56
- }
57
- @font-face {
58
- font-family: Avenir;
59
- src: url(${avenirHeavyObliquue}) format('truetype');
60
- font-display: swap;
61
- font-weight: 600;
62
- font-style: oblique;
63
- }
64
-
65
- @font-face {
66
- font-family: Poppins;
67
- src: url(${lightPoppins}) format('truetype');
68
- font-display: swap;
69
- font-weight: 300;
70
- }
71
- @font-face {
72
- font-family: Poppins;
73
- src: url(${lightPoppinsItalic}) format('truetype');
74
- font-display: swap;
75
- font-weight: 300;
76
- font-style: italic;
77
- }
78
- @font-face {
79
- font-family: Poppins;
80
- src: url(${regularPoppins}) format('truetype');
81
- font-display: swap;
82
- font-weight: 400;
83
- }
84
- @font-face {
85
- font-family: Poppins;
86
- src: url(${regularPoppinsItalic}) format('truetype');
87
- font-display: swap;
88
- font-weight: 400;
89
- font-style: italic;
90
- }
91
- @font-face {
92
- font-family: Poppins;
93
- src: url(${mediumPoppins}) format('truetype');
94
- font-display: swap;
95
- font-weight: 500;
96
- }
97
- @font-face {
98
- font-family: Poppins;
99
- src: url(${mediumPoppinsItalic}) format('truetype');
100
- font-display: swap;
101
- font-weight: 500;
102
- font-style: italic;
103
- }
104
- @font-face {
105
- font-family: Poppins;
106
- src: url(${semiboldPoppins}) format('truetype');
107
- font-display: swap;
108
- font-weight: 600;
109
- }
110
-
111
- .Toastify__toast {
112
- border-radius: 5px;
113
- padding: 0;
114
- }
115
-
116
- .Toastify__toast-body {
117
- font-family: Poppins;
118
- font-size: 16px;
119
- line-height: 1.5;
120
- color: #fff;
121
- font-weight: 600;
122
- padding: 0;
123
- margin: 0;
124
- height: 64px;
125
- align-items: stretch;
126
- }
127
- .Toastify__toast-body > div:last-child {
128
- align-self: center;
129
- margin-left: 30px;
130
- }
131
-
132
- .Toastify__toast > button > svg {
133
- display: none;
134
- }
135
- `
@@ -1,28 +0,0 @@
1
- /* @import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap'); */
2
-
3
- :root {
4
- --primary-main: rgb(30, 25, 245);
5
- --secondary-dark: #121212;
6
- --secondary-light: #1d1d1d;
7
- --bg-gray-light: #f2f2f2;
8
- --orange-primary: #ffaf20;
9
- --primary-light: #eef8fe;
10
- --secondary-color: #233659;
11
- --success-color: #52c41a;
12
- --warning-color: #faad14;
13
- --error-color: #f5222d;
14
- --link-color: #1890ff;
15
- --heading-color: rgba(0, 0, 0, 0.85);
16
- --disabled-color: rgba(0, 0, 0, 0.25);
17
- --border-color-base: #d9d9d9;
18
- --body-background: #fff;
19
- --component-background: #fff;
20
- /* TYPOGRAPHY */
21
- --text-white: #fff;
22
- --text-color: rgba(0, 0, 0, 0.65);
23
- --text-color-secondary: rgba(0, 0, 0, 0.45);
24
-
25
- --toastify-color-info: #3498db;
26
- --toastify-color-success: #7eb872;
27
- --toastify-color-warning: #f1c40f;
28
- }