diff --git a/website/src/middleware.ts b/website/src/middleware.ts
index fdaa071c..31c2cb4e 100644
--- a/website/src/middleware.ts
+++ b/website/src/middleware.ts
@@ -4,5 +4,5 @@ export { default } from "next-auth/middleware";
* Guards all pages under `/grading` and redirects them to the sign in page.
*/
export const config = {
- matcher: ["/grading/:path*", "/account/:path*", "/summarize/:path*"],
+ matcher: ["/create/:path*", "/evaluate/:path*", "/grading/:path*", "/account/:path*", "/summarize/:path*"],
};
diff --git a/website/src/pages/_app.tsx b/website/src/pages/_app.tsx
index c4463d00..7deebc4b 100644
--- a/website/src/pages/_app.tsx
+++ b/website/src/pages/_app.tsx
@@ -2,6 +2,9 @@ import { ChakraProvider } from "@chakra-ui/react";
import { SessionProvider } from "next-auth/react";
import { Inter } from "@next/font/google";
import { extendTheme } from "@chakra-ui/react";
+import type { AppProps } from "next/app";
+
+import { getDefaultLayout, NextPageWithLayout } from "src/components/Layout";
import "../styles/globals.css";
import "focus-visible";
@@ -27,12 +30,17 @@ const theme = extendTheme({
},
});
-function MyApp({ Component, pageProps: { session, ...pageProps } }) {
+type AppPropsWithLayout = AppProps & {
+ Component: NextPageWithLayout;
+};
+
+function MyApp({ Component, pageProps: { session, ...pageProps } }: AppPropsWithLayout) {
+ const getLayout = Component.getLayout ?? getDefaultLayout;
+ const page = getLayout(