diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-07-17 19:50:32 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-07-17 19:50:32 +0200 |
| commit | b564f7c23933963411bb06a03a777af7647aad93 (patch) | |
| tree | aab151623461338b26fd8909240b9a17c21d8133 /apps/web/src | |
| parent | 648f0b8529b9f3bafb3bfd9a84a31bc9ac6623ae (diff) | |
| download | opencut-b564f7c23933963411bb06a03a777af7647aad93.tar.gz | |
middleware access
Diffstat (limited to 'apps/web/src')
| -rw-r--r-- | apps/web/src/middleware.ts | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index aabc302a..b571061c 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -1,9 +1,22 @@ 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") {
@@ -12,7 +25,7 @@ export async function middleware(request: NextRequest) { const path = request.nextUrl.pathname;
- if (protectedPaths.includes(path) && env.NODE_ENV === "production") {
+ if (protectedPaths.includes(path) && !canAccessProtectedPaths(request)) {
const homeUrl = new URL("/", request.url);
homeUrl.searchParams.set("redirect", request.url);
return NextResponse.redirect(homeUrl);
|
