summaryrefslogtreecommitdiff
path: root/apps/web/src/middleware.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-20 16:36:21 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-20 16:36:21 +0200
commitba3da43728bc051aa033dc7b45042b0f0f788e63 (patch)
tree6039c0ddd5b19c7ecbcfbc6635e2495d85bd948b /apps/web/src/middleware.ts
parentafa8f426fbe8617980d848cdda977f2ab47b5e4e (diff)
parentbaaf773b809674c07b4ab17ae3098abd768050ab (diff)
downloadopencut-ba3da43728bc051aa033dc7b45042b0f0f788e63.tar.gz
Merge branch 'staging'
Diffstat (limited to 'apps/web/src/middleware.ts')
-rw-r--r--apps/web/src/middleware.ts96
1 files changed, 48 insertions, 48 deletions
diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts
index e6fc3bd2..b571061c 100644
--- a/apps/web/src/middleware.ts
+++ b/apps/web/src/middleware.ts
@@ -1,48 +1,48 @@
-import { NextResponse } from "next/server";
-import type { NextRequest } from "next/server";
-import { env } from "./env";
-import { getSessionCookie } from "better-auth/cookies";
-
-export async function middleware(request: NextRequest) {
- const protectedPaths = ["/editor", "/projects"];
- const sessionCookie = getSessionCookie(request);
-
- const canAccessProtectedPaths = (request: NextRequest) => {
- if (env.NODE_ENV === "development") {
- return true;
- }
-
- if (sessionCookie) {
- return true;
- }
- return false;
- };
-
- // Handle fuckcapcut.com domain redirect
- if (request.headers.get("host") === "fuckcapcut.com") {
- return NextResponse.redirect("https://opencut.app/why-not-capcut", 301);
- }
-
- const path = request.nextUrl.pathname;
-
- if (protectedPaths.includes(path) && !canAccessProtectedPaths(request)) {
- const homeUrl = new URL("/", request.url);
- homeUrl.searchParams.set("redirect", request.url);
- return NextResponse.redirect(homeUrl);
- }
-
- return NextResponse.next();
-}
-
-export const config = {
- matcher: [
- /*
- * Match all request paths except for the ones starting with:
- * - api (API routes)
- * - _next/static (static files)
- * - _next/image (image optimization files)
- * - favicon.ico (favicon file)
- */
- "/((?!api|_next/static|_next/image|favicon.ico).*)",
- ],
-};
+import { NextResponse } from "next/server";
+import type { NextRequest } from "next/server";
+import { env } from "./env";
+import { getSessionCookie } from "better-auth/cookies";
+
+export async function middleware(request: NextRequest) {
+ const protectedPaths = ["/editor", "/projects"];
+ const sessionCookie = getSessionCookie(request);
+
+ const canAccessProtectedPaths = (request: NextRequest) => {
+ if (env.NODE_ENV === "development") {
+ return true;
+ }
+
+ if (sessionCookie) {
+ return true;
+ }
+ return false;
+ };
+
+ // Handle fuckcapcut.com domain redirect
+ if (request.headers.get("host") === "fuckcapcut.com") {
+ return NextResponse.redirect("https://opencut.app/why-not-capcut", 301);
+ }
+
+ const path = request.nextUrl.pathname;
+
+ if (protectedPaths.includes(path) && !canAccessProtectedPaths(request)) {
+ const homeUrl = new URL("/", request.url);
+ homeUrl.searchParams.set("redirect", request.url);
+ return NextResponse.redirect(homeUrl);
+ }
+
+ return NextResponse.next();
+}
+
+export const config = {
+ matcher: [
+ /*
+ * Match all request paths except for the ones starting with:
+ * - api (API routes)
+ * - _next/static (static files)
+ * - _next/image (image optimization files)
+ * - favicon.ico (favicon file)
+ */
+ "/((?!api|_next/static|_next/image|favicon.ico).*)",
+ ],
+};