import GitHubMarkWhite from "@/images/github-mark-white.svg"; import GitHubMarkDark from "@/images/github-mark.svg"; import { Popover, Transition } from "@headlessui/react"; import { Bars3Icon, ChevronDownIcon, ChevronRightIcon, XMarkIcon } from "@heroicons/react/24/outline"; import clsx from "clsx"; import { usePlausible } from "next-plausible"; import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { Fragment, useEffect, useState } from "react"; import { Button } from "@formbricks/ui/Button"; import { BaseballIcon, CancelSubscriptionIcon, CodeBookIcon, DogChaserIcon, FeedbackIcon, InterviewPromptIcon, OnboardingIcon, PMFIcon, } from "@formbricks/ui/icons"; import { FooterLogo } from "./Logo"; function GitHubIcon(props: any) { return ( ); } const UnderstandUsers = [ { name: "Interview Prompt", href: "/interview-prompt", status: true, icon: InterviewPromptIcon, description: "Interview invites on auto-pilot", }, { name: "Measure PMF", href: "/measure-product-market-fit", status: true, icon: PMFIcon, description: "Improve Product-Market Fit", }, { name: "Onboarding Segments", href: "/onboarding-segmentation", status: true, icon: OnboardingIcon, description: "Get it right from the start", }, ]; const IncreaseRevenue = [ { name: "Learn from Churn", href: "/learn-from-churn", status: true, icon: CancelSubscriptionIcon, description: "Churn is hard, but insightful", }, { name: "Improve Trial CR", href: "/improve-trial-conversion", status: true, icon: BaseballIcon, description: "Take guessing out, hit it right", }, ]; const BoostRetention = [ { name: "Feedback Box", href: "/feedback-box", status: true, icon: FeedbackIcon, description: "Always keep an ear open", }, { name: "Docs Feedback", href: "/docs-feedback", status: true, icon: CodeBookIcon, description: "Clear docs, more adoption", }, { name: "Feature Chaser", href: "/feature-chaser", status: true, icon: DogChaserIcon, description: "Follow up, improve", }, ]; export default function Header() { const [mobileSubOpen, setMobileSubOpen] = useState(false); const plausible = usePlausible(); const router = useRouter(); const [stickyNav, setStickyNav] = useState(false); useEffect(() => { const handleScroll = () => { if (window.scrollY > 250) { setStickyNav(true); } else { setStickyNav(false); } }; window.addEventListener("scroll", handleScroll); return () => { window.removeEventListener("scroll", handleScroll); }; }, []); const stickyNavClass = stickyNav ? `bg-transparent dark:bg-slate-900/[0.8] shadow-md backdrop-blur-lg fixed top-0 z-30 w-full` : "relative"; return ( {/* We're live on Product Hunt - Show your support for Open Source 🚀 */} Formbricks Open menu {({ open }) => ( <> Best Practices Understand Users {UnderstandUsers.map((brick) => ( {brick.name} {brick.description} ))} Increase Revenue {IncreaseRevenue.map((brick) => ( {brick.name} {brick.description} ))} Boost Retention {BoostRetention.map((brick) => ( {brick.name} {brick.description} ))} > )} {/* Community */} Pricing Community Docs Blog {/* 1 */} {/* Careers 1 */} {/* setVideoModal(true)}> setVideoModal(false)} /> */} { router.push("https://app.formbricks.com"); plausible("NavBar_CTA_Login"); }}> Get started Close menu {mobileSubOpen ? ( ) : ( )} setMobileSubOpen(!mobileSubOpen)}>Best Practices {mobileSubOpen && ( {UnderstandUsers.map((brick) => ( {brick.name} ))} {IncreaseRevenue.map((brick) => ( {brick.name} ))} {BoostRetention.map((brick) => ( {brick.name} ))} )} Community Pricing Docs Blog {/* Careers */} router.push("https://github.com/formbricks/formbricks")} className="flex w-full justify-center fill-slate-800 dark:fill-slate-200"> View on Github router.push("https://app.formbricks.com/auth/signup")} className="flex w-full justify-center"> Get started ); }
{brick.name}
{brick.description}
1