update login page

This commit is contained in:
smanylov
2026-04-06 17:04:53 +07:00
parent a301e57c8b
commit bac1151c8e
9 changed files with 82 additions and 86 deletions
+27 -22
View File
@@ -9,40 +9,45 @@ const intlMiddleware = createIntlMiddleware(routing);
export default async function proxy(request: NextRequest) {
const path = request.nextUrl.pathname;
const cookie = (await cookies()).get('session')?.value;
const session = await decrypt(cookie);
console.log(session);
if (
path.startsWith('/_next') ||
path.includes('.')
path.includes('/api/')
) {
return NextResponse.next()
return NextResponse.next();
}
const requestHeaders = new Headers(request.headers);
requestHeaders.set('x-pathname', path);
const pathname = request.nextUrl.pathname;
const locale = pathname.split('/')[1];
const isValidLocale = routing.locales.includes(locale as any);
if (!isValidLocale && !path.includes('/login')) {
const defaultLocale = routing.defaultLocale;
const newUrl = new URL(`/${defaultLocale}${path}`, request.url);
return NextResponse.redirect(newUrl);
}
const isLoginPage = path.includes(`/${locale}/login`) || path === '/login';
const isPublicPage = isLoginPage || path.includes('/api/');
if (!isPublicPage) {
const cookie = (await cookies()).get('session')?.value;
const session = await decrypt(cookie);
if (!session?.token) {
const targetLocale = isValidLocale ? locale : routing.defaultLocale;
const loginUrl = new URL(`/${targetLocale}/login`, request.url);
return NextResponse.redirect(loginUrl);
}
}
const intlResponse = intlMiddleware(request);
if (intlResponse) {
const response = new NextResponse(intlResponse.body, intlResponse);
response.headers.set('x-pathname', path);
/* if (!session?.token) {
const loginUrl = new URL('/login', request.nextUrl)
loginUrl.searchParams.set('locale', request.nextUrl.locale || 'ru')
return NextResponse.redirect(loginUrl)
} */
return intlResponse;
return response;
}
return NextResponse.next({
request: {
headers: requestHeaders,
},
});
return NextResponse.next();
}
export const config = {