mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 20:41:16 +00:00
optimized auth requests to the server
This commit is contained in:
parent
19a808d2bc
commit
b593b19d4b
2 changed files with 15 additions and 12 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue