import { useRouter } from "next/router";
import Link from "next/link";
import { useState, ReactNode, ReactElement } from "react";
import cn from "classnames";
import { ThemeSwitch } from "nextra-theme-docs";
import VercelLogo from "./logos/Vercel";
import { useTurboSite, TurboSite } from "./SiteSwitcher";
function FooterLink({ href, children }: { href: string; children: ReactNode }) {
const classes =
"text-sm text-[#666666] dark:text-[#888888] no-underline betterhover:hover:text-gray-700 betterhover:hover:dark:text-white transition";
if (href.startsWith("http")) {
return (
{children}
);
}
return (
{children}
);
}
function FooterHeader({ children }: { children: ReactNode }) {
return
{children}
;
}
const navigation = {
general: [
{ name: "Blog", href: "/blog" },
{ name: "Releases", href: "https://github.com/vercel/turbo/releases" },
],
repo: [
{ name: "Documentation", href: "/repo/docs" },
{
name: "API Reference",
href: "/repo/docs/reference/command-line-reference",
},
{ name: "FAQ", href: "/repo/docs/faq" },
],
pack: [
{ name: "Documentation", href: "/pack/docs" },
{ name: "Features", href: "/pack/docs/features" },
],
support: [
{
name: "GitHub",
href: "https://github.com/vercel/turbo",
},
{
name: "Discord",
href: "https://turbo.build/discord",
},
],
company: (site: TurboSite) => [
{ name: "Vercel", href: "https://vercel.com" },
{
name: "Open Source Software",
href: "https://vercel.com/oss?utm_source=turbo.build&utm_medium=referral&utm_campaign=footer-ossLink",
},
{
name: "Contact Sales",
href: `https://vercel.com/${
site === "repo" ? "solutions/turborepo" : "contact/sales"
}?utm_source=turbo.build&utm_medium=referral&utm_campaign=footer-enterpriseLink`,
},
{ name: "Twitter", href: "https://twitter.com/vercel" },
],
legal: [
{ name: "Privacy Policy", href: "/privacy" },
{ name: "Terms of Service", href: "/terms" },
],
};
export function FooterContent() {
const site = useTurboSite();
return (
Resources
{navigation.general.map((item) => (
-
{item.name}
))}
Turborepo
{navigation.repo.map((item) => (
-
{item.name}
))}
Turbopack
{navigation.pack.map((item) => (
-
{item.name}
))}
Company
{navigation.company(site).map((item) => (
-
{item.name}
))}
Legal
{navigation.legal.map((item) => (
-
{item.name}
))}
Support
{navigation.support.map((item) => (
-
{item.name}
))}
Subscribe to our newsletter
Subscribe to the Turbo newsletter and stay updated on new releases
and features, guides, and case studies.
© {new Date().getFullYear()} Vercel, Inc. All rights
reserved.
);
}
function SubmitForm() {
const [email, setEmail] = useState("");
const router = useRouter();
return (
);
}
export function Footer({ menu }: { menu?: boolean }): ReactElement {
return (
);
}