@campxdev/shared 1.8.29 → 1.8.31
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.
- package/antd.customize.less +73 -73
- package/exports.ts +19 -19
- package/package.json +86 -86
- package/src/assets/fonts/avenir/index.ts +13 -13
- package/src/assets/fonts/poppins/index.ts +18 -18
- package/src/assets/images/index.ts +17 -17
- package/src/assets/images/unauth.svg +92 -92
- package/src/components/ActionButton.tsx +20 -20
- package/src/components/ApplicationProfile/ApplicationProfile.tsx +336 -336
- package/src/components/ApplicationProfile/Service.ts +68 -68
- package/src/components/ApplicationProfile/UserProfileRelation.tsx +174 -174
- package/src/components/ApplicationProfile/index.tsx +1 -1
- package/src/components/Attachment.tsx +26 -26
- package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
- package/src/components/AutocompleteSearch/index.tsx +1 -1
- package/src/components/Breadcrumbs.tsx +72 -72
- package/src/components/Card.tsx +98 -98
- package/src/components/CardsGrid.tsx +28 -28
- package/src/components/ChangePassword.tsx +123 -123
- package/src/components/Chips.tsx +81 -81
- package/src/components/Detail.tsx +15 -15
- package/src/components/DetailsGrid.tsx +52 -52
- package/src/components/DividerHeading.tsx +41 -41
- package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
- package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
- package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
- package/src/components/DropDownButton/AnchorElement.tsx +44 -44
- package/src/components/DropDownButton/DropDownButton.tsx +184 -184
- package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
- package/src/components/DropDownButton/index.tsx +1 -1
- package/src/components/DropDownButton/styles.tsx +59 -59
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +33 -33
- package/src/components/ErrorBoundary/ErrorFallback.tsx +241 -241
- package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
- package/src/components/ErrorBoundary/index.tsx +1 -1
- package/src/components/ErrorBox.tsx +42 -42
- package/src/components/ExcelToJsonInput/ExcelJsonUpload.tsx +50 -50
- package/src/components/ExcelToJsonInput/ExcelToJsonInput.tsx +57 -57
- package/src/components/ExcelToJsonInput/index.tsx +1 -1
- package/src/components/FilterComponents/FilterButton.tsx +56 -56
- package/src/components/FilterComponents/SearchBar.tsx +45 -45
- package/src/components/FloatingContainer.tsx +33 -33
- package/src/components/Form/Form.tsx +147 -147
- package/src/components/Form/RenderForm.tsx +189 -189
- package/src/components/FullScreenLoader.tsx +19 -19
- package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
- package/src/components/HookForm/DatePicker.tsx +40 -40
- package/src/components/HookForm/DateTimePicker.tsx +47 -47
- package/src/components/HookForm/FormLabel.tsx +14 -14
- package/src/components/HookForm/MultiCheckbox.tsx +69 -69
- package/src/components/HookForm/MultiSelect.tsx +61 -61
- package/src/components/HookForm/RadioGroup.tsx +47 -47
- package/src/components/HookForm/SingleCheckbox.tsx +34 -34
- package/src/components/HookForm/SingleSelect.tsx +46 -46
- package/src/components/HookForm/TextField.tsx +40 -40
- package/src/components/HookForm/TimePicker.tsx +40 -40
- package/src/components/HookForm/index.ts +23 -23
- package/src/components/IconButtons/IconButtons.tsx +137 -137
- package/src/components/IconButtons/Icons.tsx +268 -268
- package/src/components/IconButtons/assets/edit.svg +4 -4
- package/src/components/IconButtons/assets/eye.svg +6 -6
- package/src/components/IconButtons/assets/trash.svg +7 -7
- package/src/components/IconButtons/index.tsx +8 -8
- package/src/components/IconLabel.tsx +37 -37
- package/src/components/Image/Image.tsx +45 -45
- package/src/components/Image/index.tsx +1 -1
- package/src/components/ImageUpload.tsx +98 -98
- package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
- package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
- package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
- package/src/components/Input/AutoCompleteSearch.tsx +121 -121
- package/src/components/Input/DatePicker.tsx +87 -87
- package/src/components/Input/DateRangePicker.tsx +105 -105
- package/src/components/Input/DateTimePicker.tsx +84 -84
- package/src/components/Input/FormLabel.tsx +21 -21
- package/src/components/Input/MultiCheckbox.tsx +64 -64
- package/src/components/Input/MultiSelect.tsx +161 -161
- package/src/components/Input/RadioGroup.tsx +104 -104
- package/src/components/Input/SingleCheckbox.tsx +78 -78
- package/src/components/Input/SingleSelect.tsx +104 -104
- package/src/components/Input/TextField.tsx +46 -46
- package/src/components/Input/TimePicker.tsx +77 -77
- package/src/components/Input/index.ts +26 -26
- package/src/components/Input/types.ts +3 -3
- package/src/components/JsonPreview.tsx +7 -7
- package/src/components/LabelValue.tsx +21 -21
- package/src/components/Layout/ChangePassword.tsx +49 -49
- package/src/components/Layout/Header/AppHeader.tsx +112 -112
- package/src/components/Layout/Header/AppsMenu.tsx +133 -133
- package/src/components/Layout/Header/HeaderActions/CogWheelMenu.tsx +33 -33
- package/src/components/Layout/Header/HeaderActions/FreshChatButton.tsx +61 -61
- package/src/components/Layout/Header/HeaderActions/FreshDeskHelpButton.tsx +28 -28
- package/src/components/Layout/Header/HeaderActions/HeaderActions.tsx +18 -18
- package/src/components/Layout/Header/HeaderActions/UserBox.tsx +56 -56
- package/src/components/Layout/Header/Notification.tsx +13 -13
- package/src/components/Layout/Header/applications.ts +97 -97
- package/src/components/Layout/Header/assets/campx_square_small.svg +8 -8
- package/src/components/Layout/Header/assets/commuteX.png +0 -0
- package/src/components/Layout/Header/assets/commutex.svg +14 -14
- package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
- package/src/components/Layout/Header/assets/enroll.svg +14 -14
- package/src/components/Layout/Header/assets/enrollx.svg +14 -14
- package/src/components/Layout/Header/assets/exams_small.svg +11 -11
- package/src/components/Layout/Header/assets/examsx.svg +14 -14
- package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
- package/src/components/Layout/Header/assets/hostelx.svg +13 -13
- package/src/components/Layout/Header/assets/index.ts +37 -37
- package/src/components/Layout/Header/assets/libraryx.svg +12 -12
- package/src/components/Layout/Header/assets/pay_small.svg +15 -15
- package/src/components/Layout/Header/assets/payx.svg +19 -19
- package/src/components/Layout/Header/assets/people_small.svg +9 -9
- package/src/components/Layout/Header/assets/peoplex.svg +12 -12
- package/src/components/Layout/Header/assets/squarex.svg +12 -12
- package/src/components/Layout/Header/icons.tsx +57 -57
- package/src/components/Layout/Header/index.tsx +1 -1
- package/src/components/Layout/Header/styles.tsx +133 -133
- package/src/components/Layout/Helmet.tsx +105 -105
- package/src/components/Layout/LayoutWrapper.tsx +28 -28
- package/src/components/Layout/SideMenuHeader.tsx +29 -29
- package/src/components/Layout/SideNav.tsx +168 -168
- package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
- package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
- package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
- package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
- package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
- package/src/components/Layout/Tickets/index.tsx +1 -1
- package/src/components/Layout/Tickets/services.ts +11 -11
- package/src/components/Layout/Tickets/styles.tsx +136 -136
- package/src/components/LinearProgress.tsx +19 -19
- package/src/components/ListItemButton.tsx +95 -95
- package/src/components/LoginForm.tsx +279 -279
- package/src/components/MediaRow/MediaRow.tsx +67 -67
- package/src/components/MediaRow/index.tsx +1 -1
- package/src/components/ModalButtons/DialogButton.tsx +126 -126
- package/src/components/ModalButtons/DrawerButton.tsx +115 -115
- package/src/components/ModalButtons/index.tsx +4 -4
- package/src/components/NoDataIllustration.tsx +32 -32
- package/src/components/PageContent.tsx +12 -12
- package/src/components/PageHeader.tsx +55 -55
- package/src/components/PageNotFound.tsx +26 -26
- package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
- package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
- package/src/components/PopupConfirm/index.tsx +1 -1
- package/src/components/PopupConfirm/useConfirm.ts +47 -47
- package/src/components/ResetPassword.tsx +107 -107
- package/src/components/Row.tsx +24 -24
- package/src/components/Spinner.tsx +18 -18
- package/src/components/StepsHeader/StepsHeader.tsx +115 -115
- package/src/components/StepsHeader/index.tsx +1 -1
- package/src/components/StyledTableContainer.tsx +33 -33
- package/src/components/SwitchButton.tsx +41 -41
- package/src/components/Table.tsx +42 -42
- package/src/components/Tables/BasicTable/Table.tsx +198 -198
- package/src/components/Tables/BasicTable/TableFooter.tsx +86 -86
- package/src/components/Tables/BasicTable/index.tsx +1 -1
- package/src/components/Tables/ReactTable/BatchActionsHeader.tsx +58 -58
- package/src/components/Tables/ReactTable/ReactTable.tsx +295 -295
- package/src/components/Tables/ReactTable/RenderTableBody.tsx +49 -49
- package/src/components/Tables/ReactTable/index.tsx +1 -1
- package/src/components/Tables/ReactTable/react-table-config.d.ts +128 -128
- package/src/components/Tables/common/NoRecordsFound.tsx +27 -27
- package/src/components/Tables/common/TableStats.tsx +22 -22
- package/src/components/Tables/common/icons.tsx +50 -50
- package/src/components/Tables/common/styles.tsx +170 -170
- package/src/components/Tables/common/types.ts +57 -57
- package/src/components/Tabs/NavigationTabs.tsx +80 -80
- package/src/components/Tabs/Tabs.tsx +53 -53
- package/src/components/Tabs/TabsContainer.tsx +53 -53
- package/src/components/Tabs/index.tsx +1 -1
- package/src/components/Tabs/styles.tsx +55 -55
- package/src/components/ToastContainer/ToastContainer.tsx +57 -57
- package/src/components/ToastContainer/index.tsx +1 -1
- package/src/components/UploadButton/UploadButton.tsx +126 -126
- package/src/components/UploadButton/index.tsx +1 -1
- package/src/components/UploadButton/types.ts +19 -19
- package/src/components/UploadDocument.tsx +108 -108
- package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
- package/src/components/UploadFileDialog/index.tsx +1 -1
- package/src/components/index.ts +108 -108
- package/src/config/axios.ts +73 -73
- package/src/config/axiosEvaluator.ts +53 -53
- package/src/config/axiosXTenant.ts +57 -57
- package/src/constants/UIConstants.ts +124 -124
- package/src/constants/formValidations.ts +6 -6
- package/src/constants/index.ts +5 -5
- package/src/constants/isDevelopment.ts +4 -4
- package/src/constants/permissions.ts +67 -67
- package/src/constants/validateMessages.ts +12 -12
- package/src/contexts/LoginFormProvider.tsx +39 -39
- package/src/contexts/Providers.tsx +52 -52
- package/src/contexts/PublicProviders.tsx +30 -30
- package/src/contexts/QueryClientProvider.tsx +22 -22
- package/src/hooks/index.ts +5 -5
- package/src/hooks/useAuth.ts +111 -110
- package/src/hooks/useExternalScript.ts +38 -38
- package/src/hooks/useFetch.ts +53 -53
- package/src/hooks/useFilters.ts +83 -83
- package/src/hooks/useRouter.ts +31 -31
- package/src/layouts/Components/DashBoardMenu.tsx +232 -232
- package/src/layouts/Components/icons/index.tsx +403 -403
- package/src/layouts/Components/styles.tsx +74 -74
- package/src/layouts/ComponentsLayout.tsx +3 -3
- package/src/permissions/PageWithPermission.tsx +18 -18
- package/src/permissions/PermissionDeniedPage.tsx +16 -16
- package/src/permissions/ValidateAccess.tsx +18 -18
- package/src/permissions/index.ts +2 -2
- package/src/react-app-env.d.ts +1 -1
- package/src/shared-state/AssetsStore.ts +15 -15
- package/src/shared-state/PermissionsStore.ts +1060 -534
- package/src/shared-state/UserStore.ts +13 -13
- package/src/shared-state/index.ts +4 -4
- package/src/theme/App.less +3 -3
- package/src/theme/MuiThemeProvider.tsx +18 -18
- package/src/theme/customCssBaseline.ts +135 -135
- package/src/theme/index.css +28 -28
- package/src/theme/muiTheme.ts +597 -597
- package/src/theme/theme.d.ts +77 -77
- package/src/utils/adminAxios.ts +15 -15
- package/src/utils/alphabet.ts +23 -23
- package/src/utils/arrayPadEnd.ts +3 -3
- package/src/utils/formatCurrency.ts +9 -9
- package/src/utils/getUrlParams.ts +5 -5
- package/src/utils/index.ts +7 -7
- package/src/utils/logout.ts +25 -25
- package/src/utils/ordinalSuffixOf.ts +14 -14
- package/src/utils/romanize.ts +40 -40
- package/src/utils/withRouteWrapper.tsx +25 -25
- package/src/utils/withSuspense.tsx +6 -6
- package/styled-components.tsx +60 -60
- package/tsconfig.json +21 -21
package/src/theme/theme.d.ts
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { ThemeOptions as MuiThemeOptions } from '@mui/material/styles'
|
|
2
|
-
|
|
3
|
-
declare module '@mui/material/styles' {
|
|
4
|
-
interface Theme {
|
|
5
|
-
borders: {
|
|
6
|
-
grayLight: string
|
|
7
|
-
primary: string
|
|
8
|
-
}
|
|
9
|
-
palette: {
|
|
10
|
-
primary: {
|
|
11
|
-
dark: string
|
|
12
|
-
main: string
|
|
13
|
-
light: string
|
|
14
|
-
lighter: string
|
|
15
|
-
}
|
|
16
|
-
secondary: {
|
|
17
|
-
main: string
|
|
18
|
-
light: string
|
|
19
|
-
dark: string
|
|
20
|
-
lighter: string
|
|
21
|
-
}
|
|
22
|
-
common: {
|
|
23
|
-
black: string
|
|
24
|
-
white: string
|
|
25
|
-
green: string
|
|
26
|
-
yellow: string
|
|
27
|
-
blue: string
|
|
28
|
-
}
|
|
29
|
-
error: {
|
|
30
|
-
main: string
|
|
31
|
-
}
|
|
32
|
-
text: {
|
|
33
|
-
primary: string
|
|
34
|
-
secondary: string
|
|
35
|
-
disabled: string
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
// allow configuration using `createTheme`
|
|
40
|
-
interface CustomThemeOptions extends MuiThemeOptions {
|
|
41
|
-
borders?: {
|
|
42
|
-
grayLight?: string
|
|
43
|
-
}
|
|
44
|
-
palette: {
|
|
45
|
-
secondary?: {
|
|
46
|
-
main?: string
|
|
47
|
-
light?: string
|
|
48
|
-
dark?: string
|
|
49
|
-
lighter?: string
|
|
50
|
-
}
|
|
51
|
-
primary?: {
|
|
52
|
-
dark?: string
|
|
53
|
-
main?: string
|
|
54
|
-
light?: string
|
|
55
|
-
lighter?: string
|
|
56
|
-
}
|
|
57
|
-
common?: {
|
|
58
|
-
black?: string
|
|
59
|
-
white?: string
|
|
60
|
-
green?: string
|
|
61
|
-
yellow?: string
|
|
62
|
-
blue?: string
|
|
63
|
-
}
|
|
64
|
-
error?: {
|
|
65
|
-
main?: string
|
|
66
|
-
}
|
|
67
|
-
text?: {
|
|
68
|
-
primary?: string
|
|
69
|
-
secondary?: string
|
|
70
|
-
disabled?: string
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
components?: Components<Omit<Theme, 'components'>>
|
|
74
|
-
typography?: TypographyOptions | ((palette: Palette) => TypographyOptions)
|
|
75
|
-
}
|
|
76
|
-
export function createTheme(options?: CustomThemeOptions): CustomTheme
|
|
77
|
-
}
|
|
1
|
+
import { ThemeOptions as MuiThemeOptions } from '@mui/material/styles'
|
|
2
|
+
|
|
3
|
+
declare module '@mui/material/styles' {
|
|
4
|
+
interface Theme {
|
|
5
|
+
borders: {
|
|
6
|
+
grayLight: string
|
|
7
|
+
primary: string
|
|
8
|
+
}
|
|
9
|
+
palette: {
|
|
10
|
+
primary: {
|
|
11
|
+
dark: string
|
|
12
|
+
main: string
|
|
13
|
+
light: string
|
|
14
|
+
lighter: string
|
|
15
|
+
}
|
|
16
|
+
secondary: {
|
|
17
|
+
main: string
|
|
18
|
+
light: string
|
|
19
|
+
dark: string
|
|
20
|
+
lighter: string
|
|
21
|
+
}
|
|
22
|
+
common: {
|
|
23
|
+
black: string
|
|
24
|
+
white: string
|
|
25
|
+
green: string
|
|
26
|
+
yellow: string
|
|
27
|
+
blue: string
|
|
28
|
+
}
|
|
29
|
+
error: {
|
|
30
|
+
main: string
|
|
31
|
+
}
|
|
32
|
+
text: {
|
|
33
|
+
primary: string
|
|
34
|
+
secondary: string
|
|
35
|
+
disabled: string
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// allow configuration using `createTheme`
|
|
40
|
+
interface CustomThemeOptions extends MuiThemeOptions {
|
|
41
|
+
borders?: {
|
|
42
|
+
grayLight?: string
|
|
43
|
+
}
|
|
44
|
+
palette: {
|
|
45
|
+
secondary?: {
|
|
46
|
+
main?: string
|
|
47
|
+
light?: string
|
|
48
|
+
dark?: string
|
|
49
|
+
lighter?: string
|
|
50
|
+
}
|
|
51
|
+
primary?: {
|
|
52
|
+
dark?: string
|
|
53
|
+
main?: string
|
|
54
|
+
light?: string
|
|
55
|
+
lighter?: string
|
|
56
|
+
}
|
|
57
|
+
common?: {
|
|
58
|
+
black?: string
|
|
59
|
+
white?: string
|
|
60
|
+
green?: string
|
|
61
|
+
yellow?: string
|
|
62
|
+
blue?: string
|
|
63
|
+
}
|
|
64
|
+
error?: {
|
|
65
|
+
main?: string
|
|
66
|
+
}
|
|
67
|
+
text?: {
|
|
68
|
+
primary?: string
|
|
69
|
+
secondary?: string
|
|
70
|
+
disabled?: string
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
components?: Components<Omit<Theme, 'components'>>
|
|
74
|
+
typography?: TypographyOptions | ((palette: Palette) => TypographyOptions)
|
|
75
|
+
}
|
|
76
|
+
export function createTheme(options?: CustomThemeOptions): CustomTheme
|
|
77
|
+
}
|
package/src/utils/adminAxios.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import Axios from 'axios'
|
|
2
|
-
import Cookies from 'js-cookie'
|
|
3
|
-
|
|
4
|
-
const sessionKey = Cookies.get('campx_admin_session_key')
|
|
5
|
-
let adminAxios = Axios.create({
|
|
6
|
-
baseURL: process.env.REACT_APP_TENANT_API_HOST,
|
|
7
|
-
withCredentials: true,
|
|
8
|
-
headers: {
|
|
9
|
-
...(sessionKey && {
|
|
10
|
-
campx_admin_session_key: sessionKey,
|
|
11
|
-
}),
|
|
12
|
-
},
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
export default adminAxios
|
|
1
|
+
import Axios from 'axios'
|
|
2
|
+
import Cookies from 'js-cookie'
|
|
3
|
+
|
|
4
|
+
const sessionKey = Cookies.get('campx_admin_session_key')
|
|
5
|
+
let adminAxios = Axios.create({
|
|
6
|
+
baseURL: process.env.REACT_APP_TENANT_API_HOST,
|
|
7
|
+
withCredentials: true,
|
|
8
|
+
headers: {
|
|
9
|
+
...(sessionKey && {
|
|
10
|
+
campx_admin_session_key: sessionKey,
|
|
11
|
+
}),
|
|
12
|
+
},
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
export default adminAxios
|
package/src/utils/alphabet.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export function alphabet(option) {
|
|
2
|
-
let letters: any = []
|
|
3
|
-
|
|
4
|
-
//set the default value of i & j to print A to Z
|
|
5
|
-
var i = 65
|
|
6
|
-
var j = 91
|
|
7
|
-
|
|
8
|
-
//if the option is small set the value of i,j to print a to z
|
|
9
|
-
if (option == 'small') {
|
|
10
|
-
i = 97
|
|
11
|
-
j = 123
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//loop through the values from i to j
|
|
15
|
-
for (let k = i; k < j; k++) {
|
|
16
|
-
//convert the char code to string (Alphabets)
|
|
17
|
-
var str = String.fromCharCode(k)
|
|
18
|
-
//print the result in console
|
|
19
|
-
letters.push(str)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return letters
|
|
23
|
-
}
|
|
1
|
+
export function alphabet(option) {
|
|
2
|
+
let letters: any = []
|
|
3
|
+
|
|
4
|
+
//set the default value of i & j to print A to Z
|
|
5
|
+
var i = 65
|
|
6
|
+
var j = 91
|
|
7
|
+
|
|
8
|
+
//if the option is small set the value of i,j to print a to z
|
|
9
|
+
if (option == 'small') {
|
|
10
|
+
i = 97
|
|
11
|
+
j = 123
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//loop through the values from i to j
|
|
15
|
+
for (let k = i; k < j; k++) {
|
|
16
|
+
//convert the char code to string (Alphabets)
|
|
17
|
+
var str = String.fromCharCode(k)
|
|
18
|
+
//print the result in console
|
|
19
|
+
letters.push(str)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return letters
|
|
23
|
+
}
|
package/src/utils/arrayPadEnd.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function arrayPadEnd(array, minLength, fillValue = undefined) {
|
|
2
|
-
return Object.assign(new Array(minLength).fill(fillValue), array)
|
|
3
|
-
}
|
|
1
|
+
export default function arrayPadEnd(array, minLength, fillValue = undefined) {
|
|
2
|
+
return Object.assign(new Array(minLength).fill(fillValue), array)
|
|
3
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var formatter = new Intl.NumberFormat('en-IN', {
|
|
2
|
-
style: 'currency',
|
|
3
|
-
currency: 'INR',
|
|
4
|
-
currencyDisplay: 'code',
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
export default function inr(amount: number) {
|
|
8
|
-
return formatter.format(amount).replace('INR', '').trim()
|
|
9
|
-
}
|
|
1
|
+
var formatter = new Intl.NumberFormat('en-IN', {
|
|
2
|
+
style: 'currency',
|
|
3
|
+
currency: 'INR',
|
|
4
|
+
currencyDisplay: 'code',
|
|
5
|
+
})
|
|
6
|
+
|
|
7
|
+
export default function inr(amount: number) {
|
|
8
|
+
return formatter.format(amount).replace('INR', '').trim()
|
|
9
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export default function getUrlParams() {
|
|
2
|
-
const urlSearchParams = new URLSearchParams(window.location.search)
|
|
3
|
-
const params = Object.fromEntries(urlSearchParams.entries())
|
|
4
|
-
return params
|
|
5
|
-
}
|
|
1
|
+
export default function getUrlParams() {
|
|
2
|
+
const urlSearchParams = new URLSearchParams(window.location.search)
|
|
3
|
+
const params = Object.fromEntries(urlSearchParams.entries())
|
|
4
|
+
return params
|
|
5
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { default as getUrlParams } from './getUrlParams'
|
|
2
|
-
export { default as arrayPadEnd } from './arrayPadEnd'
|
|
3
|
-
export { default as romanize } from './romanize'
|
|
4
|
-
|
|
5
|
-
export { default as withRouteWrapper } from './withRouteWrapper'
|
|
6
|
-
export { default as withSuspense } from './withSuspense'
|
|
7
|
-
export { default as onLogout } from './logout'
|
|
1
|
+
export { default as getUrlParams } from './getUrlParams'
|
|
2
|
+
export { default as arrayPadEnd } from './arrayPadEnd'
|
|
3
|
+
export { default as romanize } from './romanize'
|
|
4
|
+
|
|
5
|
+
export { default as withRouteWrapper } from './withRouteWrapper'
|
|
6
|
+
export { default as withSuspense } from './withSuspense'
|
|
7
|
+
export { default as onLogout } from './logout'
|
package/src/utils/logout.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import Cookies from 'js-cookie'
|
|
2
|
-
import axios, { axiosErrorToast } from '../config/axios'
|
|
3
|
-
|
|
4
|
-
export default function logout() {
|
|
5
|
-
axios({
|
|
6
|
-
method: 'POST',
|
|
7
|
-
baseURL: process.env.REACT_APP_API_HOST,
|
|
8
|
-
url: '/auth-server/auth/logout',
|
|
9
|
-
})
|
|
10
|
-
.then((res) => {
|
|
11
|
-
if (
|
|
12
|
-
process.env.NODE_ENV === 'development' ||
|
|
13
|
-
window.location.origin.split('campx')[1] === '.dev'
|
|
14
|
-
) {
|
|
15
|
-
Cookies.remove('campx_tenant')
|
|
16
|
-
Cookies.remove('campx_session_key')
|
|
17
|
-
window.location.href = window.location.origin
|
|
18
|
-
} else {
|
|
19
|
-
window.location.href = 'https://id.campx.in'
|
|
20
|
-
}
|
|
21
|
-
})
|
|
22
|
-
.catch((err) => {
|
|
23
|
-
axiosErrorToast('Unable To Logout.')
|
|
24
|
-
})
|
|
25
|
-
}
|
|
1
|
+
import Cookies from 'js-cookie'
|
|
2
|
+
import axios, { axiosErrorToast } from '../config/axios'
|
|
3
|
+
|
|
4
|
+
export default function logout() {
|
|
5
|
+
axios({
|
|
6
|
+
method: 'POST',
|
|
7
|
+
baseURL: process.env.REACT_APP_API_HOST,
|
|
8
|
+
url: '/auth-server/auth/logout',
|
|
9
|
+
})
|
|
10
|
+
.then((res) => {
|
|
11
|
+
if (
|
|
12
|
+
process.env.NODE_ENV === 'development' ||
|
|
13
|
+
window.location.origin.split('campx')[1] === '.dev'
|
|
14
|
+
) {
|
|
15
|
+
Cookies.remove('campx_tenant')
|
|
16
|
+
Cookies.remove('campx_session_key')
|
|
17
|
+
window.location.href = window.location.origin
|
|
18
|
+
} else {
|
|
19
|
+
window.location.href = 'https://id.campx.in'
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
axiosErrorToast('Unable To Logout.')
|
|
24
|
+
})
|
|
25
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export default function ordinalSuffixOf(i: number) {
|
|
2
|
-
var j = i % 10,
|
|
3
|
-
k = i % 100
|
|
4
|
-
if (j == 1 && k != 11) {
|
|
5
|
-
return i + 'st'
|
|
6
|
-
}
|
|
7
|
-
if (j == 2 && k != 12) {
|
|
8
|
-
return i + 'nd'
|
|
9
|
-
}
|
|
10
|
-
if (j == 3 && k != 13) {
|
|
11
|
-
return i + 'rd'
|
|
12
|
-
}
|
|
13
|
-
return i + 'th'
|
|
14
|
-
}
|
|
1
|
+
export default function ordinalSuffixOf(i: number) {
|
|
2
|
+
var j = i % 10,
|
|
3
|
+
k = i % 100
|
|
4
|
+
if (j == 1 && k != 11) {
|
|
5
|
+
return i + 'st'
|
|
6
|
+
}
|
|
7
|
+
if (j == 2 && k != 12) {
|
|
8
|
+
return i + 'nd'
|
|
9
|
+
}
|
|
10
|
+
if (j == 3 && k != 13) {
|
|
11
|
+
return i + 'rd'
|
|
12
|
+
}
|
|
13
|
+
return i + 'th'
|
|
14
|
+
}
|
package/src/utils/romanize.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
export default function romanize(num) {
|
|
2
|
-
if (!+num) return false
|
|
3
|
-
var digits = String(+num).split(''),
|
|
4
|
-
key = [
|
|
5
|
-
'',
|
|
6
|
-
'C',
|
|
7
|
-
'CC',
|
|
8
|
-
'CCC',
|
|
9
|
-
'CD',
|
|
10
|
-
'D',
|
|
11
|
-
'DC',
|
|
12
|
-
'DCC',
|
|
13
|
-
'DCCC',
|
|
14
|
-
'CM',
|
|
15
|
-
'',
|
|
16
|
-
'X',
|
|
17
|
-
'XX',
|
|
18
|
-
'XXX',
|
|
19
|
-
'XL',
|
|
20
|
-
'L',
|
|
21
|
-
'LX',
|
|
22
|
-
'LXX',
|
|
23
|
-
'LXXX',
|
|
24
|
-
'XC',
|
|
25
|
-
'',
|
|
26
|
-
'I',
|
|
27
|
-
'II',
|
|
28
|
-
'III',
|
|
29
|
-
'IV',
|
|
30
|
-
'V',
|
|
31
|
-
'VI',
|
|
32
|
-
'VII',
|
|
33
|
-
'VIII',
|
|
34
|
-
'IX',
|
|
35
|
-
],
|
|
36
|
-
roman = '',
|
|
37
|
-
i = 3
|
|
38
|
-
while (i--) roman = (key[+digits.pop() + i * 10] || '') + roman
|
|
39
|
-
return Array(+digits.join('') + 1).join('M') + roman
|
|
40
|
-
}
|
|
1
|
+
export default function romanize(num) {
|
|
2
|
+
if (!+num) return false
|
|
3
|
+
var digits = String(+num).split(''),
|
|
4
|
+
key = [
|
|
5
|
+
'',
|
|
6
|
+
'C',
|
|
7
|
+
'CC',
|
|
8
|
+
'CCC',
|
|
9
|
+
'CD',
|
|
10
|
+
'D',
|
|
11
|
+
'DC',
|
|
12
|
+
'DCC',
|
|
13
|
+
'DCCC',
|
|
14
|
+
'CM',
|
|
15
|
+
'',
|
|
16
|
+
'X',
|
|
17
|
+
'XX',
|
|
18
|
+
'XXX',
|
|
19
|
+
'XL',
|
|
20
|
+
'L',
|
|
21
|
+
'LX',
|
|
22
|
+
'LXX',
|
|
23
|
+
'LXXX',
|
|
24
|
+
'XC',
|
|
25
|
+
'',
|
|
26
|
+
'I',
|
|
27
|
+
'II',
|
|
28
|
+
'III',
|
|
29
|
+
'IV',
|
|
30
|
+
'V',
|
|
31
|
+
'VI',
|
|
32
|
+
'VII',
|
|
33
|
+
'VIII',
|
|
34
|
+
'IX',
|
|
35
|
+
],
|
|
36
|
+
roman = '',
|
|
37
|
+
i = 3
|
|
38
|
+
while (i--) roman = (key[+digits.pop() + i * 10] || '') + roman
|
|
39
|
+
return Array(+digits.join('') + 1).join('M') + roman
|
|
40
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Suspense } from 'react'
|
|
2
|
-
import PageWithPermission from '../permissions/PageWithPermission'
|
|
3
|
-
import { Spinner } from '../components'
|
|
4
|
-
|
|
5
|
-
const withRouteWrapper = (routes) => {
|
|
6
|
-
return routes?.map((item, index) => {
|
|
7
|
-
if (item?.children) {
|
|
8
|
-
return {
|
|
9
|
-
...item,
|
|
10
|
-
children: withRouteWrapper(item.children),
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return {
|
|
14
|
-
...item,
|
|
15
|
-
element: item?.element ? (
|
|
16
|
-
<Suspense fallback={<Spinner />} key={index}>
|
|
17
|
-
<PageWithPermission permissionKey={item?.permissionKey}>
|
|
18
|
-
{item.element}
|
|
19
|
-
</PageWithPermission>
|
|
20
|
-
</Suspense>
|
|
21
|
-
) : undefined,
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
export default withRouteWrapper
|
|
1
|
+
import { Suspense } from 'react'
|
|
2
|
+
import PageWithPermission from '../permissions/PageWithPermission'
|
|
3
|
+
import { Spinner } from '../components'
|
|
4
|
+
|
|
5
|
+
const withRouteWrapper = (routes) => {
|
|
6
|
+
return routes?.map((item, index) => {
|
|
7
|
+
if (item?.children) {
|
|
8
|
+
return {
|
|
9
|
+
...item,
|
|
10
|
+
children: withRouteWrapper(item.children),
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
...item,
|
|
15
|
+
element: item?.element ? (
|
|
16
|
+
<Suspense fallback={<Spinner />} key={index}>
|
|
17
|
+
<PageWithPermission permissionKey={item?.permissionKey}>
|
|
18
|
+
{item.element}
|
|
19
|
+
</PageWithPermission>
|
|
20
|
+
</Suspense>
|
|
21
|
+
) : undefined,
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
export default withRouteWrapper
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LinearProgress, Spinner } from '../components'
|
|
2
|
-
import { ReactNode, Suspense } from 'react'
|
|
3
|
-
|
|
4
|
-
export default function withSuspense(component: ReactNode) {
|
|
5
|
-
return <Suspense fallback={<LinearProgress />}>{component}</Suspense>
|
|
6
|
-
}
|
|
1
|
+
import { LinearProgress, Spinner } from '../components'
|
|
2
|
+
import { ReactNode, Suspense } from 'react'
|
|
3
|
+
|
|
4
|
+
export default function withSuspense(component: ReactNode) {
|
|
5
|
+
return <Suspense fallback={<LinearProgress />}>{component}</Suspense>
|
|
6
|
+
}
|
package/styled-components.tsx
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import styled from 'styled-components'
|
|
2
|
-
import { styled as muiStyled } from '@mui/material'
|
|
3
|
-
|
|
4
|
-
export const headerHeight = '64px'
|
|
5
|
-
export const sideNavWidth = '220px'
|
|
6
|
-
|
|
7
|
-
export const StyledLayoutContainer = styled.div`
|
|
8
|
-
& > div {
|
|
9
|
-
}
|
|
10
|
-
`
|
|
11
|
-
|
|
12
|
-
export const StyledHeaderContainer = styled.header`
|
|
13
|
-
z-index: 300;
|
|
14
|
-
width: 100%;
|
|
15
|
-
position: fixed;
|
|
16
|
-
top: 0;
|
|
17
|
-
left: 0;
|
|
18
|
-
min-height: ${headerHeight};
|
|
19
|
-
background: #fff;
|
|
20
|
-
& > div {
|
|
21
|
-
height: ${headerHeight};
|
|
22
|
-
}
|
|
23
|
-
`
|
|
24
|
-
|
|
25
|
-
export const StyledLeftNavContainer = muiStyled('aside')(({ theme }) => ({
|
|
26
|
-
width: sideNavWidth,
|
|
27
|
-
background: theme.palette.secondary.main,
|
|
28
|
-
color: 'white',
|
|
29
|
-
position: 'fixed',
|
|
30
|
-
top: headerHeight,
|
|
31
|
-
left: 0,
|
|
32
|
-
height: `calc(100vh - ${headerHeight})`,
|
|
33
|
-
overflowY: 'auto',
|
|
34
|
-
|
|
35
|
-
'&::-webkit-scrollbar': {
|
|
36
|
-
width: '0.5em',
|
|
37
|
-
height: '0.5em',
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
'&::-webkit-scrollbar-thumb': {
|
|
41
|
-
backgroundColor: 'rgba(255, 255, 255, 0.3)',
|
|
42
|
-
borderRadius: '3px',
|
|
43
|
-
|
|
44
|
-
'&:hover': {
|
|
45
|
-
background: 'rgba(255, 255, 255, 0.4)',
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
zIndex: 100,
|
|
50
|
-
}))
|
|
51
|
-
|
|
52
|
-
export const StyledMainContentContainer = muiStyled('main')(() => ({
|
|
53
|
-
width: `calc(100% - ${sideNavWidth})`,
|
|
54
|
-
// width: '100%',
|
|
55
|
-
height: `calc(100vh - ${headerHeight})`,
|
|
56
|
-
position: 'fixed',
|
|
57
|
-
top: headerHeight,
|
|
58
|
-
left: sideNavWidth,
|
|
59
|
-
overflowY: 'auto',
|
|
60
|
-
}))
|
|
1
|
+
import styled from 'styled-components'
|
|
2
|
+
import { styled as muiStyled } from '@mui/material'
|
|
3
|
+
|
|
4
|
+
export const headerHeight = '64px'
|
|
5
|
+
export const sideNavWidth = '220px'
|
|
6
|
+
|
|
7
|
+
export const StyledLayoutContainer = styled.div`
|
|
8
|
+
& > div {
|
|
9
|
+
}
|
|
10
|
+
`
|
|
11
|
+
|
|
12
|
+
export const StyledHeaderContainer = styled.header`
|
|
13
|
+
z-index: 300;
|
|
14
|
+
width: 100%;
|
|
15
|
+
position: fixed;
|
|
16
|
+
top: 0;
|
|
17
|
+
left: 0;
|
|
18
|
+
min-height: ${headerHeight};
|
|
19
|
+
background: #fff;
|
|
20
|
+
& > div {
|
|
21
|
+
height: ${headerHeight};
|
|
22
|
+
}
|
|
23
|
+
`
|
|
24
|
+
|
|
25
|
+
export const StyledLeftNavContainer = muiStyled('aside')(({ theme }) => ({
|
|
26
|
+
width: sideNavWidth,
|
|
27
|
+
background: theme.palette.secondary.main,
|
|
28
|
+
color: 'white',
|
|
29
|
+
position: 'fixed',
|
|
30
|
+
top: headerHeight,
|
|
31
|
+
left: 0,
|
|
32
|
+
height: `calc(100vh - ${headerHeight})`,
|
|
33
|
+
overflowY: 'auto',
|
|
34
|
+
|
|
35
|
+
'&::-webkit-scrollbar': {
|
|
36
|
+
width: '0.5em',
|
|
37
|
+
height: '0.5em',
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
'&::-webkit-scrollbar-thumb': {
|
|
41
|
+
backgroundColor: 'rgba(255, 255, 255, 0.3)',
|
|
42
|
+
borderRadius: '3px',
|
|
43
|
+
|
|
44
|
+
'&:hover': {
|
|
45
|
+
background: 'rgba(255, 255, 255, 0.4)',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
zIndex: 100,
|
|
50
|
+
}))
|
|
51
|
+
|
|
52
|
+
export const StyledMainContentContainer = muiStyled('main')(() => ({
|
|
53
|
+
width: `calc(100% - ${sideNavWidth})`,
|
|
54
|
+
// width: '100%',
|
|
55
|
+
height: `calc(100vh - ${headerHeight})`,
|
|
56
|
+
position: 'fixed',
|
|
57
|
+
top: headerHeight,
|
|
58
|
+
left: sideNavWidth,
|
|
59
|
+
overflowY: 'auto',
|
|
60
|
+
}))
|