@@ -126,16 +126,43 @@ const LoginComponent = () => {
126126 : '' ;
127127 const userId = receivedToken ?. userId ;
128128
129+ // Find the tenant data for the selected tenant
130+ const tenantData = receivedToken ?. tenantData ?. find (
131+ ( tenant : any ) => tenant . tenantId === tenantId
132+ ) ;
133+
129134 if ( receivedToken . tenantData && receivedToken . tenantData . length > 0 ) {
130135 localStorage . setItem ( 'tenantName' , tenantName ) ;
131136 localStorage . setItem ( 'tenantId' , tenantId ) ;
137+
138+ // Set templateId from tenant data
139+ localStorage . setItem ( 'templtateId' , tenantData ?. templateId || '' ) ;
140+
141+ // Set channelId
142+ if ( tenantData ?. channelId ) {
143+ localStorage . setItem ( 'channelId' , tenantData . channelId ) ;
144+ }
145+
146+ // Set collectionFramework
147+ if ( tenantData ?. collectionFramework ) {
148+ localStorage . setItem ( 'collectionFramework' , tenantData . collectionFramework ) ;
149+ }
150+
151+ // Set uiConfig
152+ const uiConfig = tenantData ?. params ?. uiConfig ;
153+ localStorage . setItem ( 'uiConfig' , JSON . stringify ( uiConfig || { } ) ) ;
154+
155+ // Set userProgram
156+ localStorage . setItem ( 'userProgram' , tenantName ) ;
132157 } else {
133158 console . error ( 'Tenant data not found in user response.' ) ;
134159 }
135160 localStorage . setItem ( 'userId' , userId ) ;
136161 setUserId ( userId ) ;
137162
138163 if ( token && userId ) {
164+ // Set token cookie
165+ document . cookie = `token=${ token } ; path=/; secure; SameSite=Strict` ;
139166 document . cookie = `authToken=${ token } ; path=/; secure; SameSite=Strict` ;
140167 document . cookie = `userId=${ userId } ; path=/; secure; SameSite=Strict` ;
141168
@@ -166,9 +193,11 @@ const LoginComponent = () => {
166193 }
167194
168195 localStorage . setItem ( 'role' , roleName ) ;
196+ localStorage . setItem ( 'roleName' , roleName ) ;
169197 localStorage . setItem ( 'roleId' , roleId || '' ) ;
170198 localStorage . setItem ( 'userEmail' , receivedToken ?. email ) ;
171199 localStorage . setItem ( 'userName' , receivedToken ?. firstName ) ;
200+ localStorage . setItem ( 'firstName' , receivedToken ?. firstName || '' ) ;
172201 localStorage . setItem ( 'userIdName' , receivedToken ?. username ) ;
173202 localStorage . setItem (
174203 'temporaryPassword' ,
@@ -183,7 +212,8 @@ const LoginComponent = () => {
183212 tenant ?. toLocaleLowerCase ( ) ===
184213 TENANT_DATA ?. SECOND_CHANCE_PROGRAM ?. toLowerCase ( ) ||
185214 tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. PRATHAM_SCP ?. toLowerCase ( ) ||
186- tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. YOUTHNET ?. toLowerCase ( )
215+ tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. YOUTHNET ?. toLowerCase ( ) ||
216+ tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. PRAGYANPATH ?. toLowerCase ( )
187217 ) {
188218 const userDetails = await getUserDetails ( userId , true ) ;
189219 console . log ( userDetails ) ;
@@ -193,12 +223,14 @@ const LoginComponent = () => {
193223 const customFields = userDetails ?. result ?. userData ?. customFields ;
194224 if ( customFields ?. length ) {
195225 // set customFields in userData
196- let userDataString = localStorage . getItem ( 'userData' ) ;
197- let userData : any = userDataString
226+ const userDataString = localStorage . getItem ( 'userData' ) ;
227+ const userData : any = userDataString
198228 ? JSON . parse ( userDataString )
199229 : null ;
200- userData . customFields = customFields ;
201- localStorage . setItem ( 'userData' , JSON . stringify ( userData ) ) ;
230+ if ( userData ) {
231+ userData . customFields = customFields ;
232+ localStorage . setItem ( 'userData' , JSON . stringify ( userData ) ) ;
233+ }
202234 const state = customFields . find (
203235 ( field : any ) => field ?. label === 'STATE'
204236 ) ;
@@ -232,10 +264,38 @@ const LoginComponent = () => {
232264 }
233265 }
234266
267+ // Check for temporary password first
268+
235269 if ( activeSessionId && tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. SECOND_CHANCE_PROGRAM ?. toLowerCase ( ) ) {
236- router . push ( '/teacher' ) ;
237- } else if ( tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. YOUTHNET ?. toLowerCase ( ) ) {
270+ {
271+ router . push ( '/teacher' ) ;
272+ }
273+ } else if ( tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. YOUTHNET ?. toLowerCase ( ) ) {
238274 router . push ( '/youth' ) ;
275+
276+ } else if ( tenant ?. toLocaleLowerCase ( ) === TENANT_DATA ?. PRAGYANPATH ?. toLowerCase ( ) ) {
277+
278+ if ( activeSessionId ) {
279+ localStorage . setItem ( 'academicYearId' , activeSessionId ) ;
280+ }
281+
282+ // Check if user has Lead role for PRAGYANPATH
283+ const hasLead = receivedToken ?. tenantData ?. some ( ( tenant : any ) =>
284+ tenant . roles . some ( ( role : any ) => role . roleName . toLowerCase ( ) . includes ( "lead" ) )
285+ ) ;
286+
287+ if ( hasLead && roleName . toLowerCase ( ) . includes ( 'lead' ) ) {
288+ // For Lead role, set managrUserId for manager dashboard
289+ localStorage . setItem ( 'managrUserId' , userId ) ;
290+
291+ // Redirect to manager dashboard in youthNet MFE
292+ {
293+ router . push ( '/youthnet/manager-dashboard' ) ;
294+ }
295+ } else {
296+ // For other roles, redirect to youthNet MFE
297+ router . push ( '/youthnet' ) ;
298+ }
239299 }
240300 console . log ( 'userDetails' , userDetails ) ;
241301 }
@@ -247,7 +307,7 @@ const LoginComponent = () => {
247307 localStorage . getItem ( 'role' ) === RoleNames . TEACHER ||
248308 localStorage . getItem ( 'role' ) === RoleNames . TEAM_LEADER
249309 )
250- router . push ( '/youth ' ) ;
310+ router . push ( '/youthnet ' ) ;
251311 else router . push ( '/unauthorized' ) ;
252312 }
253313 }
0 commit comments