@campxdev/shared 1.11.7-1.alpha.1 → 1.11.7-1.alpha.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/shared",
3
- "version": "1.11.7-1.alpha.1",
3
+ "version": "1.11.7-1.alpha.2",
4
4
  "main": "./exports.ts",
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
@@ -37,20 +37,18 @@ export default function PageHeader({
37
37
  }: PageHeaderProps) {
38
38
  return (
39
39
  <StyledBox noPadding={noPadding}>
40
- <Box key="0">
40
+ <>
41
41
  {typeof title === 'string' ? (
42
42
  <Typography variant="h1">{title}</Typography>
43
43
  ) : (
44
44
  title
45
45
  )}
46
- </Box>
47
- <Box marginTop={'10px'} key="1">
48
46
  {typeof subtitle === 'string' ? (
49
47
  <Typography>{subtitle}</Typography>
50
48
  ) : (
51
- subtitle
49
+ <Box marginTop={'10px'}>{subtitle}</Box>
52
50
  )}
53
- </Box>
51
+ </>
54
52
  <Box className="actions">{actions}</Box>
55
53
  </StyledBox>
56
54
  )
@@ -205,11 +205,11 @@ export default function ReactTable({
205
205
  />
206
206
  <Table sx={{ position: 'relative' }} {...getTableProps()}>
207
207
  <TableHead>
208
- {headerGroups.map((headerGroup, rowIndex) => (
209
- <TableRow {...headerGroup.getHeaderGroupProps()}>
208
+ {headerGroups.map((headerGroup, index) => (
209
+ <TableRow key={index} {...headerGroup.getHeaderGroupProps()}>
210
210
  {showSerialNumber && <TableCell>S. No.</TableCell>}
211
- {headerGroup.headers.map((column: any, colIndex) => (
212
- <TableCell {...column.getHeaderProps()}>
211
+ {headerGroup.headers.map((column: any, index) => (
212
+ <TableCell key={index} {...column.getHeaderProps()}>
213
213
  {column.render('Header')}
214
214
  {column.sort && (
215
215
  <IconButton onClick={() => handleSortClick(column.id)}>
@@ -1,3 +1,4 @@
1
+ import { AxiosError } from 'axios'
1
2
  import Cookies from 'js-cookie'
2
3
  import { useEffect, useState } from 'react'
3
4
  import { useNavigate } from 'react-router-dom'
@@ -94,87 +95,98 @@ function handleInstitutions(institutions) {
94
95
  }
95
96
  }
96
97
 
97
- const useAuth = ({
98
- permissionsEndpoint,
98
+ const loginErrorHandler = ({
99
99
  loginUrl,
100
- }: AuthParams): AuthResponse => {
100
+ setLoading,
101
+ err,
102
+ }: {
103
+ loginUrl: string
104
+ setLoading?: any
105
+ err: AxiosError
106
+ }) => {
107
+ const navigate = useNavigate()
108
+ setLoading && setLoading(false)
109
+ const origin = window.location.origin
110
+ const isStaging = origin.split('campx')[1] === '.dev'
111
+
112
+ if (isDevelopment || isStaging) {
113
+ openRootModal({
114
+ key: 'login',
115
+ contentData: {
116
+ loginUrl,
117
+ },
118
+ dialogProps: {
119
+ disableEscapeKeyDown: true,
120
+ onClose: () => {},
121
+ },
122
+ })
123
+ return
124
+ } else {
125
+ navigate('/auth/login')
126
+ }
127
+ }
128
+
129
+ function useAuth({ permissionsEndpoint, loginUrl }: AuthParams): AuthResponse {
101
130
  const [loading, setLoading] = useState<boolean>(false)
102
- const [data, setData] = useState<any>(null)
131
+ const [data, setData] = useState(null)
103
132
  const { current } = InstitutionsStore.useState()
104
- const navigate = useNavigate()
105
133
 
106
134
  const appInit = async () => {
107
135
  setLoading(true)
108
- try {
109
- const res = await axios.get(permissionsEndpoint)
110
- const isAdmin = checkIsAdmin(res.data.user)
111
-
112
- setData(res.data)
113
- UserStore.update((s) => {
114
- s.username = res.data?.user?.username
115
- s.user = res.data?.user
116
- s.roles = res.data?.roles
117
- s.globalUserId = res.data?.globalUserId
118
- s.fullName = res.data?.fullName
119
- })
120
-
121
- PermissionsStore.update((s) => {
122
- s.permissions = {
123
- ...res.data?.permissions,
124
- can_settings_view: 1,
125
- can_dashboard_view: 1,
126
- can_individual_pages_view: 1,
127
- can_analatics_view: isAdmin,
128
- can_admin_view: isAdmin,
129
- can_my_mentees_view:
130
- res.data?.user?.isMentor &&
131
- res.data?.permissions.can_my_mentees_view,
132
- }
133
- s.applications = res.data?.applications ?? []
134
- s.institutionType = res.data?.institutionType
135
- s.masterInstitutionUniqueId = res.data?.masterInstitutionUniqueId
136
- s.masterInstitutionId = res.data?.masterInstitutionId
137
- s.isMasterInstitutionUser = res.data?.institutions
138
- ?.map((institution) => institution?.id)
139
- ?.includes(res?.data?.masterInstitutionUniqueId)
140
- s.isMasterInstitution = res.data?.isMasterInstitution
141
- s.isHomePageEnabled = res.data?.isHomePageEnabled
142
- })
136
+ axios
137
+ .get(permissionsEndpoint)
138
+ .then((res) => {
139
+ const isAdmin = checkIsAdmin(res.data.user)
140
+
141
+ setData(res.data)
142
+ UserStore.update((s) => {
143
+ s.username = res.data?.user?.username
144
+ s.user = res.data?.user
145
+ s.roles = res.data?.roles
146
+ s.globalUserId = res.data?.globalUserId
147
+ s.fullName = res.data?.fullName
148
+ })
143
149
 
144
- InstitutionsStore.update((s) => {
145
- s.institutions = res.data?.institutions
146
- s.current = res.data?.institutions.find(
147
- (item) => item.code === Cookies.get('campx_institution'),
148
- )
149
- })
150
+ PermissionsStore.update((s) => {
151
+ s.permissions = {
152
+ ...res.data?.permissions,
153
+ can_settings_view: 1,
154
+ can_dashboard_view: 1,
155
+ can_individual_pages_view: 1,
156
+ can_analatics_view: isAdmin,
157
+ can_admin_view: isAdmin,
158
+ can_my_mentees_view:
159
+ res.data?.user?.isMentor &&
160
+ res.data?.permissions.can_my_mentees_view,
161
+ } as any
162
+ s.applications = res.data?.applications ?? []
163
+ s.institutionType = res.data?.institutionType
164
+ s.masterInstitutionUniqueId = res.data?.masterInstitutionUniqueId
165
+ s.masterInstitutionId = res.data?.masterInstitutionId
166
+ s.isMasterInstitutionUser = res.data?.institutions
167
+ ?.map((institution) => institution?.id)
168
+ ?.includes(res?.data?.masterInstitutionUniqueId)
169
+ s.isMasterInstitution = res.data?.isMasterInstitution
170
+ s.isHomePageEnabled = res.data?.isHomePageEnabled
171
+ })
150
172
 
151
- AssetsStore.update((s) => {
152
- s.logo = res.data?.assets.logo
153
- s.logo_square = res.data?.assets.logo_square
154
- })
173
+ InstitutionsStore.update((s) => {
174
+ s.institutions = res.data?.institutions
175
+ s.current = res.data?.institutions.find(
176
+ (item) => item.code === Cookies.get('campx_institution'),
177
+ )
178
+ })
155
179
 
156
- setLoading(false)
157
- } catch (err: any) {
158
- setLoading(false)
159
- const origin = window.location.origin
160
- const isStaging = origin.split('campx')[1] === '.dev'
161
-
162
- if (isDevelopment || isStaging) {
163
- openRootModal({
164
- key: 'login',
165
- contentData: {
166
- loginUrl,
167
- },
168
- dialogProps: {
169
- disableEscapeKeyDown: true,
170
- onClose: () => {},
171
- },
180
+ AssetsStore.update((s) => {
181
+ s.logo = res.data?.assets.logo
182
+ s.logo_square = res.data?.assets.logo_square
172
183
  })
173
- return
174
- } else {
175
- navigate('/auth/login')
176
- }
177
- }
184
+
185
+ setLoading(false)
186
+ })
187
+ .catch((err: AxiosError) => {
188
+ loginErrorHandler({ loginUrl, setLoading, err })
189
+ })
178
190
  }
179
191
 
180
192
  useEffect(() => {
@@ -25,9 +25,9 @@ export const StyledHeaderContainer = styled.header`
25
25
 
26
26
  export const StyledLeftNavContainer = muiStyled('aside')(({ theme }) => ({
27
27
  width: sideNavWidth,
28
- borderRadius: '8px 0px 0px 8px',
29
28
  background: theme.palette.secondary.main,
30
29
  color: 'white',
30
+ borderRadius: '8px 0px 0px 8px',
31
31
  overflowY: 'scroll',
32
32
  '&::-webkit-scrollbar': {
33
33
  width: '0.5em',