feat(onboarding): gate landing, auth and dashboard routes behind onboarding cookie

This commit is contained in:
Théo LAGACHE
2026-06-17 09:40:59 +02:00
parent 49a6d6777a
commit 6e8a8ca1d7
3 changed files with 15 additions and 0 deletions
+5
View File
@@ -1,6 +1,7 @@
import React from "react";
import { redirect } from "next/navigation";
import { currentUser } from "@/lib/auth/current-user";
import { isOnboardingDone } from "@/features/onboarding/onboarding-cookie";
import { AuthLogoSection } from "@/features/auth/auth-logo-section";
import { Heart } from "lucide-react";
@@ -9,6 +10,10 @@ export default async function Layout({
}: {
children: React.ReactNode;
}) {
if (!(await isOnboardingDone())) {
redirect("/welcome");
}
const user = await currentUser();
if (user && !user.banned && user.role !== "pending") {
+5
View File
@@ -5,11 +5,16 @@ import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
import { AppSidebar } from "@/features/layout/app-sidebar";
import { Header } from "@/features/layout/header";
import { currentUser } from "@/lib/auth/current-user";
import { isOnboardingDone } from "@/features/onboarding/onboarding-cookie";
import { ThemeMetaUpdater } from "@/features/theme/theme-meta-updater";
import { ModeToggle } from "@/features/theme/mode-toggle";
import { UpdateNotification } from "@/features/updates/update-notification";
export default async function Layout({ children }: { children: ReactNode }) {
if (!(await isOnboardingDone())) {
redirect("/welcome");
}
const user = await currentUser();
if (!user) redirect("/login");
+5
View File
@@ -1,8 +1,13 @@
import { redirect } from "next/navigation";
import { getCurrentOrganizationSlug } from "@/features/organizations/organization-cookie";
import { currentUser } from "@/lib/auth/current-user";
import { isOnboardingDone } from "@/features/onboarding/onboarding-cookie";
export default async function Index() {
if (!(await isOnboardingDone())) {
redirect("/welcome");
}
const user = await currentUser();
if (user) {
const currentOrganizationSlug = await getCurrentOrganizationSlug();