@@ -19,22 +19,28 @@ export async function middleware(req: NextRequest) {
1919 return
2020 }
2121
22- const endpoint = searchParams . get ( 'endpoint ' )
22+ const link = searchParams . get ( 'link ' )
2323 //Redirect from splash page if Lang parameter is supplied when redirecting from MSCA
24- switch ( searchParams . get ( 'Lang' ) ) {
25- case 'fra' : {
26- const frenchRedirectUrl = new URL ( `/fr/mon-tableau-de-bord` , url )
27- if ( endpoint ) {
28- frenchRedirectUrl . searchParams . append ( 'endpoint' , endpoint )
24+ if ( pathname === '/' ) {
25+ switch ( searchParams . get ( 'Lang' ) ) {
26+ case 'fra' : {
27+ const frenchRedirectUrl = new URL ( `/fr/mon-tableau-de-bord` , url )
28+ if ( link ) {
29+ for ( const [ key , val ] of searchParams ) {
30+ frenchRedirectUrl . searchParams . append ( key , val )
31+ }
32+ }
33+ return NextResponse . redirect ( frenchRedirectUrl )
2934 }
30- return NextResponse . redirect ( frenchRedirectUrl )
31- }
32- case 'eng' : {
33- const englishRedirectUrl = new URL ( `/en/my-dashboard` , url )
34- if ( endpoint ) {
35- englishRedirectUrl . searchParams . append ( 'endpoint' , endpoint )
35+ case 'eng' : {
36+ const englishRedirectUrl = new URL ( `/en/my-dashboard` , url )
37+ if ( link ) {
38+ for ( const [ key , val ] of searchParams ) {
39+ englishRedirectUrl . searchParams . append ( key , val )
40+ }
41+ }
42+ return NextResponse . redirect ( englishRedirectUrl )
3643 }
37- return NextResponse . redirect ( englishRedirectUrl )
3844 }
3945 }
4046
0 commit comments