diff --git a/.next/dev/cache/turbopack/23c46498/CURRENT b/.next/dev/cache/turbopack/23c46498/CURRENT index b816c53..d568ef2 100644 Binary files a/.next/dev/cache/turbopack/23c46498/CURRENT and b/.next/dev/cache/turbopack/23c46498/CURRENT differ diff --git a/.next/dev/cache/turbopack/23c46498/LOG b/.next/dev/cache/turbopack/23c46498/LOG index f08f08e..d236065 100644 --- a/.next/dev/cache/turbopack/23c46498/LOG +++ b/.next/dev/cache/turbopack/23c46498/LOG @@ -2120,3 +2120,9 @@ FAM | META SEQ | SST SEQ | RANGE 0 | 00011435 | 00011434 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) 1 | 00011436 | 00011432 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) 2 | 00011437 | 00011433 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) +Time 2026-03-04T14:12:37.6626717Z +Commit 00012057 4 keys in 16ms 349µs 100ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00012055 | 00012054 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00012056 | 00012052 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) + 2 | 00012057 | 00012053 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index ece7891..19bf516 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -1,15 +1,13 @@ -'use client'; +import { auth } from "@/lib/auth"; +import { redirect } from "next/navigation"; +import LoginClient from "@/components/LoginClient"; -import LoginPage from '@/components/LoginPage'; -import { useRouter } from 'next/navigation'; +export default async function Login() { + const session = await auth(); -export default function Login() { - const router = useRouter(); + if (session?.user) { + redirect("/dashboard"); + } - return ( - router.push('/dashboard')} - onRegister={() => router.push('/signup')} - /> - ); + return ; } diff --git a/src/app/page.tsx b/src/app/page.tsx index f1a16e2..aa66f3e 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,16 +1,13 @@ -'use client'; +import { auth } from "@/lib/auth"; +import { redirect } from "next/navigation"; +import HomeClient from "@/components/HomeClient"; -import LandingPage from '@/components/LandingPage'; -import { useRouter } from 'next/navigation'; +export default async function Home() { + const session = await auth(); -export default function Home() { - const router = useRouter(); + if (session?.user) { + redirect("/dashboard"); + } - return ( - router.push('/login')} - onFeatures={() => router.push('/features')} - onPricing={() => router.push('/pricing')} - /> - ); + return ; } diff --git a/src/app/signup/page.tsx b/src/app/signup/page.tsx index c969909..0947fd5 100644 --- a/src/app/signup/page.tsx +++ b/src/app/signup/page.tsx @@ -1,16 +1,13 @@ -'use client'; +import { auth } from "@/lib/auth"; +import { redirect } from "next/navigation"; +import SignupClient from "@/components/SignupClient"; -import AuthPage from '@/components/AuthPage'; -import { useRouter } from 'next/navigation'; +export default async function Signup() { + const session = await auth(); -export default function Signup() { - const router = useRouter(); + if (session?.user) { + redirect("/dashboard"); + } - return ( - router.push('/')} - onSuccess={() => router.push('/dashboard')} - initialMode="signup" - /> - ); + return ; } diff --git a/src/components/HomeClient.tsx b/src/components/HomeClient.tsx new file mode 100644 index 0000000..cc08ed4 --- /dev/null +++ b/src/components/HomeClient.tsx @@ -0,0 +1,16 @@ +'use client'; + +import LandingPage from '@/components/LandingPage'; +import { useRouter } from 'next/navigation'; + +export default function HomeClient() { + const router = useRouter(); + + return ( + router.push('/login')} + onFeatures={() => router.push('/features')} + onPricing={() => router.push('/pricing')} + /> + ); +} diff --git a/src/components/LoginClient.tsx b/src/components/LoginClient.tsx new file mode 100644 index 0000000..4b7e788 --- /dev/null +++ b/src/components/LoginClient.tsx @@ -0,0 +1,15 @@ +'use client'; + +import LoginPage from '@/components/LoginPage'; +import { useRouter } from 'next/navigation'; + +export default function LoginClient() { + const router = useRouter(); + + return ( + router.push('/dashboard')} + onRegister={() => router.push('/signup')} + /> + ); +} diff --git a/src/components/SignupClient.tsx b/src/components/SignupClient.tsx new file mode 100644 index 0000000..fa5081c --- /dev/null +++ b/src/components/SignupClient.tsx @@ -0,0 +1,16 @@ +'use client'; + +import AuthPage from '@/components/AuthPage'; +import { useRouter } from 'next/navigation'; + +export default function SignupClient() { + const router = useRouter(); + + return ( + router.push('/')} + onSuccess={() => router.push('/dashboard')} + initialMode="signup" + /> + ); +} diff --git a/src/lib/auth.ts b/src/lib/auth.ts index bacd285..8856994 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -37,7 +37,9 @@ export const { handlers, signIn, signOut, auth } = NextAuth({ ], session: { strategy: 'jwt', + maxAge: 30 * 24 * 60 * 60, // 30 days }, + secret: process.env.AUTH_SECRET || 'fallback_secret_for_development_purposes_only', callbacks: { async jwt({ token, user }) { if (user) {