mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2026-04-23 21:55:19 +00:00
fix: upgrade to nextjs 16 (#888)
* Upgrade to nextjs 16 * Update sentry config * Force dynamic for health route * Upgrade eslint config * Upgrade jest * Move types to dev dependencies * Remove pages from tailwind config * Replace img with next image
This commit is contained in:
46
www/proxy.ts
Normal file
46
www/proxy.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { withAuth } from "next-auth/middleware";
|
||||
import { featureEnabled } from "./app/lib/features";
|
||||
import { NextResponse } from "next/server";
|
||||
import { PROTECTED_PAGES } from "./app/lib/auth";
|
||||
|
||||
export const config = {
|
||||
matcher: [
|
||||
"/((?!api|_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)",
|
||||
|
||||
// must be a copy of LOGIN_REQUIRED_PAGES
|
||||
// cannot use anything dynamic (...LOGIN_REQUIRED_PAGES, or .concat(LOGIN_REQUIRED_PAGES))
|
||||
// as per https://nextjs.org/docs/messages/invalid-page-config
|
||||
"/",
|
||||
"/transcripts(.*)",
|
||||
"/browse(.*)",
|
||||
"/rooms(.*)",
|
||||
],
|
||||
};
|
||||
|
||||
export default withAuth(
|
||||
async function middleware(request) {
|
||||
const pathname = request.nextUrl.pathname;
|
||||
|
||||
// feature-flags protected paths
|
||||
if (
|
||||
(!featureEnabled("browse") && pathname.startsWith("/browse")) ||
|
||||
(!featureEnabled("rooms") && pathname.startsWith("/rooms"))
|
||||
) {
|
||||
return NextResponse.redirect(request.nextUrl.origin);
|
||||
}
|
||||
},
|
||||
{
|
||||
callbacks: {
|
||||
async authorized({ req, token }) {
|
||||
if (
|
||||
featureEnabled("requireLogin") &&
|
||||
PROTECTED_PAGES.test(req.nextUrl.pathname)
|
||||
) {
|
||||
return !!token;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
Reference in New Issue
Block a user