Initial commit: PodcastYes — AI podcast platform

This commit is contained in:
Leon Serfaty
2026-06-07 03:58:32 -04:00
commit 155507f21a
151 changed files with 19826 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
import type { Metadata } from "next";
import { ForgotPasswordForm } from "@/components/auth/forgot-password-form";
export const metadata: Metadata = { title: "Forgot password" };
export default function ForgotPasswordPage() {
return <ForgotPasswordForm />;
}
+20
View File
@@ -0,0 +1,20 @@
import Link from "next/link";
import { Mic } from "lucide-react";
export default function AuthLayout({ children }: { children: React.ReactNode }) {
return (
<div className="relative flex min-h-screen flex-col items-center justify-center bg-secondary px-4 py-12">
<div className="pointer-events-none absolute inset-0 bg-hero-wash" />
<Link
href="/"
className="relative mb-8 flex items-center gap-2.5 font-display text-xl font-bold tracking-tight"
>
<span className="flex h-9 w-9 items-center justify-center rounded-2xl bg-brand text-brand-foreground">
<Mic className="h-5 w-5" />
</span>
PodcastYes
</Link>
<div className="relative w-full max-w-md">{children}</div>
</div>
);
}
+13
View File
@@ -0,0 +1,13 @@
import { Suspense } from "react";
import type { Metadata } from "next";
import { ResetPasswordForm } from "@/components/auth/reset-password-form";
export const metadata: Metadata = { title: "Reset password" };
export default function ResetPasswordPage() {
return (
<Suspense>
<ResetPasswordForm />
</Suspense>
);
}
+18
View File
@@ -0,0 +1,18 @@
import { Suspense } from "react";
import type { Metadata } from "next";
import { redirect } from "next/navigation";
import { getServerSession } from "@/lib/auth/guards";
import { SignInForm } from "@/components/auth/sign-in-form";
export const metadata: Metadata = { title: "Sign in" };
export default async function SignInPage() {
const session = await getServerSession();
if (session) redirect("/dashboard");
const googleEnabled = !!(process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET);
return (
<Suspense>
<SignInForm googleEnabled={googleEnabled} />
</Suspense>
);
}
+13
View File
@@ -0,0 +1,13 @@
import type { Metadata } from "next";
import { redirect } from "next/navigation";
import { getServerSession } from "@/lib/auth/guards";
import { SignUpForm } from "@/components/auth/sign-up-form";
export const metadata: Metadata = { title: "Create account" };
export default async function SignUpPage() {
const session = await getServerSession();
if (session) redirect("/dashboard");
const googleEnabled = !!(process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET);
return <SignUpForm googleEnabled={googleEnabled} />;
}