tweak prefetch on links

This commit is contained in:
Sara
2023-11-01 17:24:17 +01:00
committed by Mathieu Virbel
parent 1e262ff8b4
commit 3a12ebd7e1
2 changed files with 32 additions and 26 deletions

View File

@@ -118,6 +118,7 @@ export default async function RootLayout({ children, params }: LayoutProps) {
<Link <Link
href="/browse" href="/browse"
className="hover:underline focus-within:underline underline-offset-2 decoration-[.5px] font-light px-2" className="hover:underline focus-within:underline underline-offset-2 decoration-[.5px] font-light px-2"
prefetch={false}
> >
Browse Browse
</Link> </Link>

View File

@@ -8,42 +8,47 @@ export async function middleware(request: NextRequest) {
const domain = request.nextUrl.hostname; const domain = request.nextUrl.hostname;
const config = await getConfig(domain); const config = await getConfig(domain);
// Feature-flag protedted paths
if ( if (
!config.features.browse && request.nextUrl.pathname.match(
request.nextUrl.pathname.startsWith("/browse") "/((?!api|_next/static|_next/image|favicon.ico).*)",
)
) { ) {
return NextResponse.redirect(request.nextUrl.origin); // Feature-flag protedted paths
} if (
!config.features.browse &&
request.nextUrl.pathname.startsWith("/browse")
) {
return NextResponse.redirect(request.nextUrl.origin);
}
if (config.features.requireLogin) { if (config.features.requireLogin) {
const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl); const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl);
const fiefResponse = await fiefMiddleware(request); const fiefResponse = await fiefMiddleware(request);
if (
request.nextUrl.pathname == "/" ||
request.nextUrl.pathname.startsWith("/transcripts") ||
request.nextUrl.pathname.startsWith("/browse")
) {
if (!fiefResponse.headers.get("x-middleware-rewrite")) {
fiefResponse.headers.set(
"x-middleware-rewrite",
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
);
}
}
return fiefResponse;
}
if ( if (
request.nextUrl.pathname == "/" || request.nextUrl.pathname == "/" ||
request.nextUrl.pathname.startsWith("/transcripts") || request.nextUrl.pathname.startsWith("/transcripts") ||
request.nextUrl.pathname.startsWith("/browse") request.nextUrl.pathname.startsWith("/browse")
) { ) {
if (!fiefResponse.headers.get("x-middleware-rewrite")) { return NextResponse.rewrite(
fiefResponse.headers.set( request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
"x-middleware-rewrite", );
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
);
}
console.log(fiefResponse);
} }
return fiefResponse;
}
if (
request.nextUrl.pathname == "/" ||
request.nextUrl.pathname.startsWith("/transcripts") ||
request.nextUrl.pathname.startsWith("/browse")
) {
return NextResponse.rewrite(
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
);
} }
return NextResponse.next(); return NextResponse.next();