import { Metadata } from "next"; import Image from "next/image"; import { Separator } from "@/components/ui/separator"; import { SidebarNav } from "@/components/sidebar-nav"; import SiteProvider from "@app/providers/SiteProvider"; import { internal } from "@app/api"; import { GetSiteResponse } from "@server/routers/site"; import { AxiosResponse } from "axios"; import { redirect } from "next/navigation"; import { authCookieHeader } from "@app/api/cookies"; import Link from "next/link"; import { ArrowLeft, ChevronLeft } from "lucide-react"; import { useEffect, useState } from "react"; import { toast } from "@app/hooks/use-toast"; export const metadata: Metadata = { title: "Forms", description: "Advanced form example using react-hook-form and Zod.", }; const sidebarNavItems = [ { title: "Profile", href: "/{orgId}/sites/{niceId}", }, { title: "Appearance", href: "/{orgId}/sites/{niceId}/appearance", }, { title: "Notifications", href: "/{orgId}/sites/{niceId}/notifications", }, { title: "Display", href: "/{orgId}/sites/{niceId}/display", }, ]; interface SettingsLayoutProps { children: React.ReactNode; params: { niceId: string; orgId: string }; } export default async function SettingsLayout({ children, params, }: SettingsLayoutProps) { let site = null; if (params.niceId !== "create") { try { const res = await internal.get>( `/org/${params.orgId}/site/${params.niceId}`, authCookieHeader(), ); site = res.data.data; } catch { redirect(`/${params.orgId}/sites`); } } return ( <>
Forms Forms

{params.niceId == "create" ? "New Site" : site?.name + " Settings" || "Site Settings"}

{params.niceId == "create" ? "Create a new site" : "Configure the settings on your site: " + site?.name || ""} .

{children}
); }