@campxdev/shared 0.3.12 → 0.3.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.
- package/antd.customize.less +73 -73
- package/exports.ts +15 -15
- package/package.json +51 -51
- package/src/assets/fonts/avenir/index.ts +2 -2
- package/src/assets/fonts/poppins/index.ts +7 -7
- package/src/assets/images/index.ts +16 -16
- package/src/components/ActionButton.tsx +28 -28
- 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 +73 -73
- package/src/components/Card.tsx +97 -97
- package/src/components/CardsGrid.tsx +28 -28
- package/src/components/Chips.tsx +77 -77
- package/src/components/Detail.tsx +15 -15
- package/src/components/DetailsGrid.tsx +52 -52
- package/src/components/DividerHeading.tsx +40 -40
- package/src/components/DrawerWrapper/DialogWrapper.tsx +63 -63
- package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
- package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
- package/src/components/DropDownButton.tsx +184 -184
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
- package/src/components/ErrorBoundary/ErrorFallback.tsx +180 -180
- 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/FloatingContainer.tsx +26 -26
- package/src/components/FullCalendar/Actions.tsx +162 -162
- package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
- package/src/components/FullScreenLoader.tsx +19 -19
- package/src/components/HookForm/AutoCompleteSearch.tsx +143 -143
- package/src/components/HookForm/DatePicker.tsx +65 -65
- package/src/components/HookForm/DateTimePicker.tsx +70 -70
- package/src/components/HookForm/FormLabel.tsx +14 -14
- package/src/components/HookForm/MultiCheckbox.tsx +82 -82
- package/src/components/HookForm/MultiSelect.tsx +100 -100
- package/src/components/HookForm/RadioGroup.tsx +112 -112
- package/src/components/HookForm/SingleCheckbox.tsx +46 -46
- package/src/components/HookForm/SingleSelect.tsx +93 -93
- package/src/components/HookForm/TextField.tsx +74 -74
- package/src/components/HookForm/TimePicker.tsx +82 -82
- 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 +43 -43
- package/src/components/Image/index.tsx +1 -1
- package/src/components/ImageUpload.tsx +98 -98
- package/src/components/Input/AutoCompleteSearch.tsx +143 -143
- package/src/components/Input/DatePicker.tsx +60 -60
- package/src/components/Input/DateRangePicker.tsx +131 -131
- package/src/components/Input/DateTimePicker.tsx +70 -70
- package/src/components/Input/FormLabel.tsx +14 -14
- package/src/components/Input/MultiCheckbox.tsx +79 -79
- package/src/components/Input/MultiSelect.tsx +52 -52
- package/src/components/Input/RadioGroup.tsx +55 -55
- package/src/components/Input/SingleCheckbox.tsx +23 -23
- package/src/components/Input/SingleSelect.tsx +139 -139
- package/src/components/Input/TextField.tsx +50 -50
- package/src/components/Input/TimePicker.tsx +82 -82
- package/src/components/Input/index.ts +26 -26
- package/src/components/JsonPreview/JsonPreview.tsx +7 -7
- package/src/components/JsonPreview/index.tsx +1 -1
- package/src/components/LabelValue/LabelValue.tsx +21 -21
- package/src/components/LabelValue/index.tsx +1 -1
- package/src/components/Layout/ChangePassword.tsx +49 -49
- package/src/components/Layout/Header/AppHeader.tsx +120 -120
- package/src/components/Layout/Header/AppsMenu.tsx +85 -85
- package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
- package/src/components/Layout/Header/FreshDeskHelpButton.tsx +19 -19
- package/src/components/Layout/Header/Notification.tsx +13 -13
- package/src/components/Layout/Header/UserBox.tsx +42 -42
- package/src/components/Layout/Header/applications.tsx +60 -60
- package/src/components/Layout/Header/assets/index.ts +7 -7
- 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 +91 -91
- package/src/components/LinearProgress.tsx +19 -19
- package/src/components/LoginForm.tsx +101 -103
- package/src/components/MediaRow/MediaRow.tsx +69 -69
- package/src/components/MediaRow/index.tsx +1 -1
- package/src/components/MenuButton.tsx +103 -103
- package/src/components/ModalButtons/DialogButton.tsx +85 -85
- package/src/components/ModalButtons/DrawerButton.tsx +89 -89
- package/src/components/ModalButtons/index.tsx +4 -4
- package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
- package/src/components/NoDataIllustration/index.tsx +1 -1
- package/src/components/PageContent.tsx +17 -17
- package/src/components/PageHeader.tsx +52 -52
- package/src/components/PageNotFound.tsx +25 -25
- package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
- package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
- package/src/components/PopupConfirm/index.tsx +1 -1
- package/src/components/PopupConfirm/useConfirm.ts +47 -47
- package/src/components/Row/Row.tsx +24 -24
- package/src/components/Row/index.tsx +1 -1
- package/src/components/SearchBar/SearchBar.tsx +53 -53
- package/src/components/SearchBar/index.tsx +1 -1
- 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/Styled/OutlinedIconButton.tsx +7 -7
- package/src/components/Styled/index.tsx +1 -1
- package/src/components/StyledTableContainer.tsx +33 -33
- package/src/components/Swiper/Swiper.tsx +39 -39
- package/src/components/Swiper/index.tsx +1 -1
- package/src/components/SwitchButton/SwitchButton.tsx +41 -41
- package/src/components/SwitchButton/index.tsx +1 -1
- package/src/components/Table.tsx +42 -42
- package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
- package/src/components/TableComponent/Icons/index.tsx +50 -50
- package/src/components/TableComponent/ReactTable.tsx +293 -293
- package/src/components/TableComponent/RenderTableBody.tsx +64 -64
- package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
- package/src/components/TableComponent/TableFooter/index.tsx +1 -1
- package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
- package/src/components/TableComponent/index.tsx +221 -221
- package/src/components/TableComponent/react-table-config.d.ts +129 -129
- package/src/components/TableComponent/styles.tsx +173 -173
- package/src/components/TableComponent/types.ts +57 -57
- package/src/components/Tabs/Tabs.tsx +52 -52
- package/src/components/Tabs/TabsContainer.tsx +50 -50
- package/src/components/Tabs/index.tsx +1 -1
- package/src/components/Tabs/styles.tsx +55 -55
- package/src/components/ToastContainer/ToastContainer.tsx +42 -42
- package/src/components/ToastContainer/index.tsx +1 -1
- package/src/components/UploadButton/UploadButton.tsx +98 -98
- package/src/components/UploadButton/index.tsx +1 -1
- package/src/components/UploadButton/types.ts +14 -14
- package/src/components/UploadDocument/UploadDocument.tsx +108 -108
- package/src/components/UploadDocument/index.tsx +1 -1
- package/src/components/UploadFileDialog/UploadFileDialog.tsx +240 -240
- package/src/components/UploadFileDialog/index.tsx +1 -1
- package/src/components/index.ts +67 -67
- package/src/config/axios.ts +73 -72
- package/src/constants/UIConstants.ts +97 -97
- package/src/constants/formValidations.ts +6 -6
- package/src/constants/index.ts +5 -5
- package/src/constants/isDevelopment.ts +3 -3
- 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 +27 -27
- package/src/contexts/QueryClientProvider.tsx +22 -22
- package/src/hooks/index.ts +3 -3
- package/src/hooks/useAuth.ts +77 -77
- package/src/hooks/useFetch.ts +53 -53
- package/src/hooks/useRouter.ts +31 -31
- package/src/layouts/ComponentsLayout.tsx +3 -3
- package/src/permissions/PageWithPermission.tsx +18 -18
- package/src/permissions/PermissionDeniedPage.tsx +16 -16
- package/src/permissions/PermissionsStore.ts +291 -291
- package/src/permissions/ValidateAccess.tsx +18 -18
- package/src/permissions/index.ts +3 -3
- package/src/react-app-env.d.ts +1 -1
- package/src/shared-state/AssetsStore.ts +15 -15
- package/src/shared-state/UserStore.ts +13 -13
- package/src/shared-state/index.ts +3 -3
- package/src/theme/App.less +3 -3
- package/src/theme/MuiThemeProvider.tsx +13 -13
- package/src/theme/customCssBaseline.ts +78 -78
- package/src/theme/index.css +75 -75
- package/src/theme/muiTheme.ts +516 -516
- package/src/theme/theme.d.ts +75 -75
- 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 +8 -8
- package/src/utils/logout.ts +23 -23
- package/src/utils/ordinalSuffixOf.ts +14 -14
- package/src/utils/romanize.ts +40 -40
- package/src/utils/withLocalization.tsx +11 -11
- package/src/utils/withRouteWrapper.tsx +26 -26
- package/src/utils/withSuspense.tsx +6 -6
- package/styled-components.tsx +60 -60
- package/tsconfig.json +21 -21
|
@@ -1,180 +1,180 @@
|
|
|
1
|
-
import {Alert, Box, Button, styled, Typography} from '@mui/material'
|
|
2
|
-
import {
|
|
3
|
-
internalserver,
|
|
4
|
-
nointernet,
|
|
5
|
-
pagenotfound,
|
|
6
|
-
permissiondenied,
|
|
7
|
-
unauth,
|
|
8
|
-
} from '../../assets/images'
|
|
9
|
-
|
|
10
|
-
const StyledAlert = styled(Alert)(({theme}) => ({
|
|
11
|
-
border: `1px solid ${theme.palette.error.main}`,
|
|
12
|
-
display: 'flex',
|
|
13
|
-
alignItems: 'center',
|
|
14
|
-
'& .MuiAlert-message': {
|
|
15
|
-
padding: 0,
|
|
16
|
-
},
|
|
17
|
-
'& .MuiTypography-root': {
|
|
18
|
-
margin: 0,
|
|
19
|
-
},
|
|
20
|
-
position: 'relative',
|
|
21
|
-
'& .retryBtn': {
|
|
22
|
-
color: '#661b2a',
|
|
23
|
-
position: 'absolute',
|
|
24
|
-
right: 8,
|
|
25
|
-
top: 8,
|
|
26
|
-
},
|
|
27
|
-
}))
|
|
28
|
-
|
|
29
|
-
const StyledBox = styled(Box)(({theme}) => ({
|
|
30
|
-
width: '100%',
|
|
31
|
-
display: 'flex',
|
|
32
|
-
flexDirection: 'column',
|
|
33
|
-
alignItems: 'center',
|
|
34
|
-
justifyContent: 'center',
|
|
35
|
-
}))
|
|
36
|
-
|
|
37
|
-
export default function ErrorFallback({error, resetErrorBoundary}) {
|
|
38
|
-
if (error?.response?.status) {
|
|
39
|
-
switch (error?.response?.status) {
|
|
40
|
-
case 401:
|
|
41
|
-
return <UnAuth resetBoundary={resetErrorBoundary} />
|
|
42
|
-
|
|
43
|
-
case 500:
|
|
44
|
-
return <InternalServer resetBoundary={resetErrorBoundary} />
|
|
45
|
-
|
|
46
|
-
case 403:
|
|
47
|
-
return <PemissionDenied resetBoundary={resetErrorBoundary} />
|
|
48
|
-
|
|
49
|
-
default:
|
|
50
|
-
return <InternalServer resetBoundary={resetErrorBoundary} />
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (error?.message === 'Network Error') {
|
|
55
|
-
return <NoInternet resetBoundary={resetErrorBoundary} />
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<Box sx={{marginTop: '16px', padding: '16px'}}>
|
|
60
|
-
<StyledAlert severity='error'>
|
|
61
|
-
{error?.response?.data?.message ?? error?.message}
|
|
62
|
-
<Button
|
|
63
|
-
className='retryBtn'
|
|
64
|
-
onClick={() => resetErrorBoundary()}
|
|
65
|
-
size='small'
|
|
66
|
-
color='error'
|
|
67
|
-
variant='outlined'
|
|
68
|
-
>
|
|
69
|
-
Try Again
|
|
70
|
-
</Button>
|
|
71
|
-
</StyledAlert>
|
|
72
|
-
</Box>
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export function PageNotFound({resetBoundary}) {
|
|
77
|
-
return (
|
|
78
|
-
<>
|
|
79
|
-
<StyledBox>
|
|
80
|
-
<img
|
|
81
|
-
src={pagenotfound}
|
|
82
|
-
alt='page not found'
|
|
83
|
-
width={470}
|
|
84
|
-
style={{marginTop: '20px'}}
|
|
85
|
-
/>
|
|
86
|
-
<Typography variant='h1'>Page Not Found.</Typography>
|
|
87
|
-
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
88
|
-
Try Again
|
|
89
|
-
</Button>
|
|
90
|
-
</StyledBox>
|
|
91
|
-
</>
|
|
92
|
-
)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function NoInternet({resetBoundary}) {
|
|
96
|
-
return (
|
|
97
|
-
<>
|
|
98
|
-
<StyledBox>
|
|
99
|
-
<img src={nointernet} alt='No Internet Found' width={470} />
|
|
100
|
-
<Typography variant='h1'>No Internet Found.</Typography>
|
|
101
|
-
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
102
|
-
Try Again
|
|
103
|
-
</Button>
|
|
104
|
-
</StyledBox>
|
|
105
|
-
</>
|
|
106
|
-
)
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export function PemissionDenied({resetBoundary}) {
|
|
110
|
-
return (
|
|
111
|
-
<>
|
|
112
|
-
<StyledBox>
|
|
113
|
-
<img src={permissiondenied} alt='permission denied' width={470} />
|
|
114
|
-
<Typography variant='h1'>Permission Denied.</Typography>
|
|
115
|
-
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
116
|
-
Try Again
|
|
117
|
-
</Button>
|
|
118
|
-
</StyledBox>
|
|
119
|
-
</>
|
|
120
|
-
)
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export function InternalServer({resetBoundary}) {
|
|
124
|
-
return (
|
|
125
|
-
<>
|
|
126
|
-
<StyledBox>
|
|
127
|
-
<img src={internalserver} alt='internal server error' width={470} />
|
|
128
|
-
<Typography variant='h1' marginTop={'20px'}>
|
|
129
|
-
Internal Server Error.
|
|
130
|
-
</Typography>
|
|
131
|
-
<Button
|
|
132
|
-
size='small'
|
|
133
|
-
variant='outlined'
|
|
134
|
-
sx={{marginTop: '20px'}}
|
|
135
|
-
onClick={() => resetBoundary()}
|
|
136
|
-
>
|
|
137
|
-
Try Again
|
|
138
|
-
</Button>
|
|
139
|
-
</StyledBox>
|
|
140
|
-
</>
|
|
141
|
-
)
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export function UnAuth({resetBoundary}) {
|
|
145
|
-
const url = window.location.origin
|
|
146
|
-
return (
|
|
147
|
-
<>
|
|
148
|
-
<StyledBox>
|
|
149
|
-
<img src={unauth} alt='unauthorized' width={470} />
|
|
150
|
-
<Typography variant='h1' marginTop={'20px'}>
|
|
151
|
-
UnAuthorized.
|
|
152
|
-
</Typography>
|
|
153
|
-
<Box
|
|
154
|
-
sx={{
|
|
155
|
-
display: 'flex',
|
|
156
|
-
marginTop: '20px',
|
|
157
|
-
}}
|
|
158
|
-
>
|
|
159
|
-
<Button
|
|
160
|
-
variant='outlined'
|
|
161
|
-
sx={{marginRight: '10px'}}
|
|
162
|
-
onClick={() => resetBoundary()}
|
|
163
|
-
>
|
|
164
|
-
Try Again
|
|
165
|
-
</Button>
|
|
166
|
-
|
|
167
|
-
<Button
|
|
168
|
-
onClick={() =>
|
|
169
|
-
window.location.replace(
|
|
170
|
-
`https://www.id.campx.in/?redirect_to=${url}`
|
|
171
|
-
)
|
|
172
|
-
}
|
|
173
|
-
>
|
|
174
|
-
Click here to Login
|
|
175
|
-
</Button>
|
|
176
|
-
</Box>
|
|
177
|
-
</StyledBox>
|
|
178
|
-
</>
|
|
179
|
-
)
|
|
180
|
-
}
|
|
1
|
+
import {Alert, Box, Button, styled, Typography} from '@mui/material'
|
|
2
|
+
import {
|
|
3
|
+
internalserver,
|
|
4
|
+
nointernet,
|
|
5
|
+
pagenotfound,
|
|
6
|
+
permissiondenied,
|
|
7
|
+
unauth,
|
|
8
|
+
} from '../../assets/images'
|
|
9
|
+
|
|
10
|
+
const StyledAlert = styled(Alert)(({theme}) => ({
|
|
11
|
+
border: `1px solid ${theme.palette.error.main}`,
|
|
12
|
+
display: 'flex',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
'& .MuiAlert-message': {
|
|
15
|
+
padding: 0,
|
|
16
|
+
},
|
|
17
|
+
'& .MuiTypography-root': {
|
|
18
|
+
margin: 0,
|
|
19
|
+
},
|
|
20
|
+
position: 'relative',
|
|
21
|
+
'& .retryBtn': {
|
|
22
|
+
color: '#661b2a',
|
|
23
|
+
position: 'absolute',
|
|
24
|
+
right: 8,
|
|
25
|
+
top: 8,
|
|
26
|
+
},
|
|
27
|
+
}))
|
|
28
|
+
|
|
29
|
+
const StyledBox = styled(Box)(({theme}) => ({
|
|
30
|
+
width: '100%',
|
|
31
|
+
display: 'flex',
|
|
32
|
+
flexDirection: 'column',
|
|
33
|
+
alignItems: 'center',
|
|
34
|
+
justifyContent: 'center',
|
|
35
|
+
}))
|
|
36
|
+
|
|
37
|
+
export default function ErrorFallback({error, resetErrorBoundary}) {
|
|
38
|
+
if (error?.response?.status) {
|
|
39
|
+
switch (error?.response?.status) {
|
|
40
|
+
case 401:
|
|
41
|
+
return <UnAuth resetBoundary={resetErrorBoundary} />
|
|
42
|
+
|
|
43
|
+
case 500:
|
|
44
|
+
return <InternalServer resetBoundary={resetErrorBoundary} />
|
|
45
|
+
|
|
46
|
+
case 403:
|
|
47
|
+
return <PemissionDenied resetBoundary={resetErrorBoundary} />
|
|
48
|
+
|
|
49
|
+
default:
|
|
50
|
+
return <InternalServer resetBoundary={resetErrorBoundary} />
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (error?.message === 'Network Error') {
|
|
55
|
+
return <NoInternet resetBoundary={resetErrorBoundary} />
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return (
|
|
59
|
+
<Box sx={{marginTop: '16px', padding: '16px'}}>
|
|
60
|
+
<StyledAlert severity='error'>
|
|
61
|
+
{error?.response?.data?.message ?? error?.message}
|
|
62
|
+
<Button
|
|
63
|
+
className='retryBtn'
|
|
64
|
+
onClick={() => resetErrorBoundary()}
|
|
65
|
+
size='small'
|
|
66
|
+
color='error'
|
|
67
|
+
variant='outlined'
|
|
68
|
+
>
|
|
69
|
+
Try Again
|
|
70
|
+
</Button>
|
|
71
|
+
</StyledAlert>
|
|
72
|
+
</Box>
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function PageNotFound({resetBoundary}) {
|
|
77
|
+
return (
|
|
78
|
+
<>
|
|
79
|
+
<StyledBox>
|
|
80
|
+
<img
|
|
81
|
+
src={pagenotfound}
|
|
82
|
+
alt='page not found'
|
|
83
|
+
width={470}
|
|
84
|
+
style={{marginTop: '20px'}}
|
|
85
|
+
/>
|
|
86
|
+
<Typography variant='h1'>Page Not Found.</Typography>
|
|
87
|
+
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
88
|
+
Try Again
|
|
89
|
+
</Button>
|
|
90
|
+
</StyledBox>
|
|
91
|
+
</>
|
|
92
|
+
)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function NoInternet({resetBoundary}) {
|
|
96
|
+
return (
|
|
97
|
+
<>
|
|
98
|
+
<StyledBox>
|
|
99
|
+
<img src={nointernet} alt='No Internet Found' width={470} />
|
|
100
|
+
<Typography variant='h1'>No Internet Found.</Typography>
|
|
101
|
+
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
102
|
+
Try Again
|
|
103
|
+
</Button>
|
|
104
|
+
</StyledBox>
|
|
105
|
+
</>
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export function PemissionDenied({resetBoundary}) {
|
|
110
|
+
return (
|
|
111
|
+
<>
|
|
112
|
+
<StyledBox>
|
|
113
|
+
<img src={permissiondenied} alt='permission denied' width={470} />
|
|
114
|
+
<Typography variant='h1'>Permission Denied.</Typography>
|
|
115
|
+
<Button sx={{marginTop: '20px'}} onClick={() => resetBoundary()}>
|
|
116
|
+
Try Again
|
|
117
|
+
</Button>
|
|
118
|
+
</StyledBox>
|
|
119
|
+
</>
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function InternalServer({resetBoundary}) {
|
|
124
|
+
return (
|
|
125
|
+
<>
|
|
126
|
+
<StyledBox>
|
|
127
|
+
<img src={internalserver} alt='internal server error' width={470} />
|
|
128
|
+
<Typography variant='h1' marginTop={'20px'}>
|
|
129
|
+
Internal Server Error.
|
|
130
|
+
</Typography>
|
|
131
|
+
<Button
|
|
132
|
+
size='small'
|
|
133
|
+
variant='outlined'
|
|
134
|
+
sx={{marginTop: '20px'}}
|
|
135
|
+
onClick={() => resetBoundary()}
|
|
136
|
+
>
|
|
137
|
+
Try Again
|
|
138
|
+
</Button>
|
|
139
|
+
</StyledBox>
|
|
140
|
+
</>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function UnAuth({resetBoundary}) {
|
|
145
|
+
const url = window.location.origin
|
|
146
|
+
return (
|
|
147
|
+
<>
|
|
148
|
+
<StyledBox>
|
|
149
|
+
<img src={unauth} alt='unauthorized' width={470} />
|
|
150
|
+
<Typography variant='h1' marginTop={'20px'}>
|
|
151
|
+
UnAuthorized.
|
|
152
|
+
</Typography>
|
|
153
|
+
<Box
|
|
154
|
+
sx={{
|
|
155
|
+
display: 'flex',
|
|
156
|
+
marginTop: '20px',
|
|
157
|
+
}}
|
|
158
|
+
>
|
|
159
|
+
<Button
|
|
160
|
+
variant='outlined'
|
|
161
|
+
sx={{marginRight: '10px'}}
|
|
162
|
+
onClick={() => resetBoundary()}
|
|
163
|
+
>
|
|
164
|
+
Try Again
|
|
165
|
+
</Button>
|
|
166
|
+
|
|
167
|
+
<Button
|
|
168
|
+
onClick={() =>
|
|
169
|
+
window.location.replace(
|
|
170
|
+
`https://www.id.campx.in/?redirect_to=${url}`
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
>
|
|
174
|
+
Click here to Login
|
|
175
|
+
</Button>
|
|
176
|
+
</Box>
|
|
177
|
+
</StyledBox>
|
|
178
|
+
</>
|
|
179
|
+
)
|
|
180
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {Store} from 'pullstate'
|
|
2
|
-
import {LinearProgress} from '../LinearProgress'
|
|
3
|
-
|
|
4
|
-
export const NetworkStore = new Store({
|
|
5
|
-
loading: false,
|
|
6
|
-
})
|
|
7
|
-
|
|
8
|
-
export default function GlobalNetworkLoadingIndicator() {
|
|
9
|
-
const {loading} = NetworkStore.useState()
|
|
10
|
-
|
|
11
|
-
if (loading) return <LinearProgress />
|
|
12
|
-
if (loading) return null
|
|
13
|
-
}
|
|
1
|
+
import {Store} from 'pullstate'
|
|
2
|
+
import {LinearProgress} from '../LinearProgress'
|
|
3
|
+
|
|
4
|
+
export const NetworkStore = new Store({
|
|
5
|
+
loading: false,
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
export default function GlobalNetworkLoadingIndicator() {
|
|
9
|
+
const {loading} = NetworkStore.useState()
|
|
10
|
+
|
|
11
|
+
if (loading) return <LinearProgress />
|
|
12
|
+
if (loading) return null
|
|
13
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {default} from './ErrorBoundary'
|
|
1
|
+
export {default} from './ErrorBoundary'
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Alert as MuiAlert, styled } from '@mui/material'
|
|
2
|
-
import _ from 'lodash'
|
|
3
|
-
import { ReactNode } from 'react'
|
|
4
|
-
|
|
5
|
-
export default function ErrorBox({
|
|
6
|
-
err,
|
|
7
|
-
extra,
|
|
8
|
-
}: {
|
|
9
|
-
err: any
|
|
10
|
-
extra?: string | ReactNode
|
|
11
|
-
}) {
|
|
12
|
-
if (!err) {
|
|
13
|
-
return null
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
if (err.response) {
|
|
17
|
-
if (err.response.status == 401) {
|
|
18
|
-
return (
|
|
19
|
-
<Alert severity={'error'}>
|
|
20
|
-
{_.get(err, 'response.data.message', 'Server error!')} {extra}
|
|
21
|
-
</Alert>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
if (err.response.status == 422) {
|
|
25
|
-
return (
|
|
26
|
-
<Alert severity={'error'}>
|
|
27
|
-
{_.get(err, 'response.data.message', 'Server error!')} {extra}
|
|
28
|
-
</Alert>
|
|
29
|
-
)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<Alert severity={'error'}>
|
|
34
|
-
{'Unknown Error'} {extra}
|
|
35
|
-
</Alert>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const Alert = styled(MuiAlert)(({}) => ({
|
|
41
|
-
marginTop: '20px',
|
|
42
|
-
}))
|
|
1
|
+
import { Alert as MuiAlert, styled } from '@mui/material'
|
|
2
|
+
import _ from 'lodash'
|
|
3
|
+
import { ReactNode } from 'react'
|
|
4
|
+
|
|
5
|
+
export default function ErrorBox({
|
|
6
|
+
err,
|
|
7
|
+
extra,
|
|
8
|
+
}: {
|
|
9
|
+
err: any
|
|
10
|
+
extra?: string | ReactNode
|
|
11
|
+
}) {
|
|
12
|
+
if (!err) {
|
|
13
|
+
return null
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (err.response) {
|
|
17
|
+
if (err.response.status == 401) {
|
|
18
|
+
return (
|
|
19
|
+
<Alert severity={'error'}>
|
|
20
|
+
{_.get(err, 'response.data.message', 'Server error!')} {extra}
|
|
21
|
+
</Alert>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
if (err.response.status == 422) {
|
|
25
|
+
return (
|
|
26
|
+
<Alert severity={'error'}>
|
|
27
|
+
{_.get(err, 'response.data.message', 'Server error!')} {extra}
|
|
28
|
+
</Alert>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<Alert severity={'error'}>
|
|
34
|
+
{'Unknown Error'} {extra}
|
|
35
|
+
</Alert>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const Alert = styled(MuiAlert)(({}) => ({
|
|
41
|
+
marginTop: '20px',
|
|
42
|
+
}))
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Box, styled } from '@mui/material'
|
|
2
|
-
export const StyledFooter = styled(Box)<{
|
|
3
|
-
show: boolean
|
|
4
|
-
}>`
|
|
5
|
-
position: fixed;
|
|
6
|
-
background: #fff;
|
|
7
|
-
bottom: ${(props) => (props.show ? '0' : '-70px')};
|
|
8
|
-
right: 16px;
|
|
9
|
-
width: calc(100% - 236px);
|
|
10
|
-
height: 64px;
|
|
11
|
-
display: flex;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
align-items: center;
|
|
14
|
-
gap: 1.5rem;
|
|
15
|
-
padding: 1rem;
|
|
16
|
-
transition: bottom 400ms ease-in-out;
|
|
17
|
-
box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
|
|
18
|
-
`
|
|
19
|
-
function FloatingContainer({ children, show }) {
|
|
20
|
-
return (
|
|
21
|
-
<>
|
|
22
|
-
<StyledFooter show={show}>{children}</StyledFooter>
|
|
23
|
-
</>
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
export default FloatingContainer
|
|
1
|
+
import { Box, styled } from '@mui/material'
|
|
2
|
+
export const StyledFooter = styled(Box)<{
|
|
3
|
+
show: boolean
|
|
4
|
+
}>`
|
|
5
|
+
position: fixed;
|
|
6
|
+
background: #fff;
|
|
7
|
+
bottom: ${(props) => (props.show ? '0' : '-70px')};
|
|
8
|
+
right: 16px;
|
|
9
|
+
width: calc(100% - 236px);
|
|
10
|
+
height: 64px;
|
|
11
|
+
display: flex;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
align-items: center;
|
|
14
|
+
gap: 1.5rem;
|
|
15
|
+
padding: 1rem;
|
|
16
|
+
transition: bottom 400ms ease-in-out;
|
|
17
|
+
box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
|
|
18
|
+
`
|
|
19
|
+
function FloatingContainer({ children, show }) {
|
|
20
|
+
return (
|
|
21
|
+
<>
|
|
22
|
+
<StyledFooter show={show}>{children}</StyledFooter>
|
|
23
|
+
</>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
export default FloatingContainer
|