optimized auth requests to the server

This commit is contained in:
Rajpreet0 2025-11-28 20:19:04 +01:00
parent 19a808d2bc
commit b593b19d4b
2 changed files with 15 additions and 12 deletions

View file

@ -91,9 +91,8 @@ export const useAuth = () => {
toast.success("Erfolgreich eingeloggt 🎉");
// Navigate and refresh
// Navigate to dashboard (no refresh needed - middleware handles it)
router.push("/dashboard");
router.refresh();
return true;
} catch (err) {

View file

@ -3,6 +3,20 @@ import { createServerClient } from "@supabase/ssr";
import { NextResponse, type NextRequest } from "next/server";
export async function middleware(request: NextRequest) {
// Protected routes
const protectedRoutes = ["/dashboard", "/profile", "/trainings", "/courses"];
const authRoutes = ["/login", "/register"];
const isProtectedRoute = protectedRoutes.some((route) =>
request.nextUrl.pathname.startsWith(route)
);
const isAuthRoute = authRoutes.some((route) => request.nextUrl.pathname.startsWith(route));
// Skip auth check if not a protected or auth route
if (!isProtectedRoute && !isAuthRoute) {
return NextResponse.next({ request });
}
let supabaseResponse = NextResponse.next({ request });
const supabase = createServerClient(
@ -28,22 +42,12 @@ export async function middleware(request: NextRequest) {
data: { user },
} = await supabase.auth.getUser();
// Protected routes
const protectedRoutes = ["/dashboard", "/profile", "/trainings", "/courses"];
const isProtectedRoute = protectedRoutes.some((route) =>
request.nextUrl.pathname.startsWith(route)
);
if (!user && isProtectedRoute) {
const url = request.nextUrl.clone();
url.pathname = "/login";
return NextResponse.redirect(url);
}
// Auth routes (redirect if already logged in)
const authRoutes = ["/login", "/register"];
const isAuthRoute = authRoutes.some((route) => request.nextUrl.pathname.startsWith(route));
if (user && isAuthRoute) {
const url = request.nextUrl.clone();
url.pathname = "/dashboard";