diff --git a/apps/website/components/EnterpriseLanding.tsx b/apps/website/components/EnterpriseLanding.tsx index 4b2d224..357cc08 100644 --- a/apps/website/components/EnterpriseLanding.tsx +++ b/apps/website/components/EnterpriseLanding.tsx @@ -11,8 +11,10 @@ import { Shield, Users, } from "lucide-react"; +import { useState } from "react"; import Link from "next/link"; import { Container } from "./Container"; +import { ContactFormModal } from "./ContactFormModal"; import AnimatedGradientText from "./ui/animated-gradient-text"; import AnimatedGridPattern from "./ui/animated-grid-pattern"; import { Button } from "./ui/button"; @@ -74,8 +76,11 @@ const hostingOptions = [ ]; export function EnterpriseLanding() { + const [contactOpen, setContactOpen] = useState(false); + return (
Questions? Email us at{" "} diff --git a/apps/website/components/Header.tsx b/apps/website/components/Header.tsx index ab74bf9..d45f29d 100644 --- a/apps/website/components/Header.tsx +++ b/apps/website/components/Header.tsx @@ -2,16 +2,23 @@ import { cn } from "@/lib/utils"; import { Popover, Transition } from "@headlessui/react"; -import { ChevronRight, HeartIcon } from "lucide-react"; +import { ChevronRight } from "lucide-react"; import Link from "next/link"; import { Fragment, type JSX, type SVGProps } from "react"; import { Container } from "./Container"; import GithubStars from "./GithubStars"; -import { NavLink } from "./NavLink"; import { trackGAEvent } from "./analitycs"; import { Logo } from "./shared/Logo"; -import AnimatedGradientText from "./ui/animated-gradient-text"; -import { Button, buttonVariants } from "./ui/button"; +import { Button } from "./ui/button"; +import { + NavigationMenu, + NavigationMenuContent, + NavigationMenuItem, + NavigationMenuLink, + NavigationMenuList, + NavigationMenuTrigger, + navigationMenuTriggerStyle, +} from "./ui/navigation-menu"; function MobileNavLink({ href, @@ -65,24 +72,6 @@ function MobileNavIcon({ open }: { open: boolean }) { ); } -const I18nIcon = (props: JSX.IntrinsicAttributes & SVGProps) => ( - - - -); - function MobileNavigation() { return ( @@ -116,33 +105,41 @@ function MobileNavigation() { > + Features Pricing - FAQ + + + Solutions + + Enterprise + Partners + Docs + + + Resources + + Templates Blog + FAQ + Contact - - - - Sign In - - - + + + Sign In + + @@ -152,6 +149,49 @@ function MobileNavigation() { ); } +function ListItem({ + className, + title, + href, + target, + children, +}: { + className?: string; + title: string; + href: string; + target?: string; + children?: React.ReactNode; +}) { + return ( + + + + trackGAEvent({ + action: "Nav Link Clicked", + category: "Navigation", + label: href, + }) + } + className={cn( + "block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", + className, + )} + > + {title} + {children && ( + + {children} + + )} + + + + ); +} + export function Header() { return ( @@ -161,16 +201,102 @@ export function Header() { - - Pricing - FAQ - - Docs - - Blog + + + + + + + trackGAEvent({ + action: "Nav Link Clicked", + category: "Navigation", + label: "/#features", + }) + } + > + Features + + + + + + + + trackGAEvent({ + action: "Nav Link Clicked", + category: "Navigation", + label: "/pricing", + }) + } + > + Pricing + + + + + + Solutions + + + + Enterprise-grade deployment platform + + + Partner program and integrations + + + + + + + + + trackGAEvent({ + action: "Nav Link Clicked", + category: "Navigation", + label: "https://docs.dokploy.com/docs/core", + }) + } + > + Docs + + + + + + Resources + + + + Ready-to-deploy templates + + + Latest news and updates + + + Frequently asked questions + + + + + + @@ -208,20 +334,6 @@ export function Header() { - {/* - - {t("navigation.support")}{" "} - - - */} - ) { return (
+ Solutions +
+ Resources +
+ {children} +
+ Have a different question? Contact us via Discord or email. +