diff --git a/apps/formbricks-com/components/docs/Layout.tsx b/apps/formbricks-com/components/docs/Layout.tsx index 855f410e5e..8612686c35 100644 --- a/apps/formbricks-com/components/docs/Layout.tsx +++ b/apps/formbricks-com/components/docs/Layout.tsx @@ -2,7 +2,6 @@ import { useCallback, useEffect, useState } from "react"; import Link from "next/link"; import { useRouter } from "next/router"; import clsx from "clsx"; -import { Hero } from "@/components/shared/Hero"; import { FooterLogo, Logomark } from "@/components/shared/Logo"; import { MobileNavigation } from "@/components/shared/MobileNavigation"; import { Navigation } from "@/components/shared/Navigation"; @@ -64,9 +63,12 @@ function Header({ navigation }: any) { onClick={() => router.push("https://github.com/formbricks/formbricks")}> View on Github - {/* */} + ); @@ -92,12 +94,10 @@ export function Layout({ children, meta }: LayoutProps) { <>
- {isHomePage && } -
diff --git a/apps/formbricks-com/components/home/Hero.tsx b/apps/formbricks-com/components/home/Hero.tsx index 3d9acd96f7..6d235e88ad 100644 --- a/apps/formbricks-com/components/home/Hero.tsx +++ b/apps/formbricks-com/components/home/Hero.tsx @@ -1,15 +1,17 @@ -import TemplateList from "../dummyUI/TemplateList"; -import { Button } from "@formbricks/ui"; -import { useState } from "react"; +import CalLogoDark from "@/images/clients/cal-logo-dark.svg"; +import CalLogoLight from "@/images/clients/cal-logo-light.svg"; +import CrowdLogoDark from "@/images/clients/crowd-logo-dark.svg"; +import CrowdLogoLight from "@/images/clients/crowd-logo-light.svg"; +import StackOceanLogoDark from "@/images/clients/stack-ocean-dark.png"; +import StackOceanLogoLight from "@/images/clients/stack-ocean-light.png"; +import Image from "next/image"; import { useRouter } from "next/router"; -import VideoWalkThrough from "./VideoWalkThrough"; -import { PlayCircleIcon } from "@heroicons/react/24/solid"; +import TemplateList from "../dummyUI/TemplateList"; interface Props {} export default function Hero({}: Props) { const router = useRouter(); - const [videoModal, setVideoModal] = useState(false); return (
@@ -22,28 +24,69 @@ export default function Hero({}: Props) { . -

+

Survey specific customer segments at any point in the user journey.
- Continuously measure what your customers think and feel. All open-source. + Continuously measure what your customers think and feel.{" "} + All open-source.

-
- + */}
- setVideoModal(false)} />
); } diff --git a/apps/formbricks-com/components/shared/Header.tsx b/apps/formbricks-com/components/shared/Header.tsx index b2a358cbed..d80c7cef72 100644 --- a/apps/formbricks-com/components/shared/Header.tsx +++ b/apps/formbricks-com/components/shared/Header.tsx @@ -2,12 +2,15 @@ import { Popover, Transition } from "@headlessui/react"; import { Bars3Icon, XMarkIcon } from "@heroicons/react/24/outline"; import Link from "next/link"; import { useRouter } from "next/router"; -import { Fragment } from "react"; +import { Fragment, useState } from "react"; import { Button } from "@formbricks/ui"; import { FooterLogo } from "./Logo"; import { ThemeSelector } from "./ThemeSelector"; +import { PlayCircleIcon } from "@heroicons/react/24/solid"; +import VideoWalkThrough from "../home/VideoWalkThrough"; export default function Header() { + const [videoModal, setVideoModal] = useState(false); const router = useRouter(); return ( @@ -30,11 +33,7 @@ export default function Header() { className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300"> Community - - Blog

1

- + @@ -45,20 +44,32 @@ export default function Header() { className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300"> Docs + + Blog{/*

1

*/} +
- + {/* - {/* */} +
@@ -90,20 +101,22 @@ export default function Header() {
Community + Pricing + Docs Blog - - {/* */} +
diff --git a/apps/formbricks-com/components/shared/HeaderPMF.tsx b/apps/formbricks-com/components/shared/HeaderPMF.tsx deleted file mode 100644 index ec3136441f..0000000000 --- a/apps/formbricks-com/components/shared/HeaderPMF.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { Popover, Transition } from "@headlessui/react"; -import { Bars3Icon, XMarkIcon } from "@heroicons/react/24/outline"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { Fragment } from "react"; -import { Button } from "@formbricks/ui"; -import { FooterLogo } from "./Logo"; -import { ThemeSelector } from "./ThemeSelector"; -import { usePlausible } from "next-plausible"; - -export default function Header() { - const router = useRouter(); - const plausible = usePlausible(); - return ( - -
-
- - Formbricks - - -
-
- - Open menu - -
- - - How it works - - - Pricing

50%

- - - Docs - -
-
- - - -
-
- - - -
-
-
-
- -
-
- - Close menu - -
-
-
-
-
- How it works - Pricing - Docs - - -
-
-
-
-
-
- ); -} - -function GitHubIcon(props: any) { - return ( - - ); -} diff --git a/apps/formbricks-com/components/shared/HeaderWithMenu.tsx b/apps/formbricks-com/components/shared/HeaderWithMenu.tsx deleted file mode 100644 index 6a9a931353..0000000000 --- a/apps/formbricks-com/components/shared/HeaderWithMenu.tsx +++ /dev/null @@ -1,471 +0,0 @@ -import { Popover, Transition } from "@headlessui/react"; -import { ChevronDownIcon } from "@heroicons/react/24/solid"; -import { - Bars3Icon, - BoltIcon, - ClipboardDocumentListIcon, - CodeBracketSquareIcon, - CpuChipIcon, - CursorArrowRaysIcon, - CursorArrowRippleIcon, - DocumentChartBarIcon, - EnvelopeIcon, - SquaresPlusIcon, - XMarkIcon, -} from "@heroicons/react/24/outline"; -import clsx from "clsx"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { Fragment } from "react"; -import { Button } from "@formbricks/ui"; -import { FooterLogo } from "./Logo"; -import { ThemeSelector } from "./ThemeSelector"; - -const creation = [ - { - name: "React Library", - description: "Build surveys with React.js", - href: "/react-form-library", - icon: CodeBracketSquareIcon, - status: true, - }, - { - name: "No-Code Builder", - description: "Notion-like visual builder", - href: "/visual-builder", - icon: CursorArrowRaysIcon, - status: false, - }, - { - name: "Templates", - description: "CSAT, PMF survey, etc.", - href: "#", - icon: ClipboardDocumentListIcon, - status: false, - }, -]; - -const pipes = [ - { - name: "Core API", - description: "The OS survey engine", - href: "/core-api", - icon: CpuChipIcon, - status: true, - }, - { - name: "Webhooks", - description: "Send JSON anywhere", - href: "/webhooks", - icon: BoltIcon, - status: true, - }, - { - name: "Email", - description: "Send data and notifications", - href: "/email", - icon: EnvelopeIcon, - status: true, - }, - { - name: "Integrations", - description: "Connect with 100+ apps", - href: "/integrations", - icon: SquaresPlusIcon, - status: false, - }, -]; - -const insights = [ - { - name: "Formbricks HQ", - description: "Manage submissions easily", - href: "/formbricks-hq", - icon: CursorArrowRippleIcon, - cat: "insights", - status: true, - }, - { - name: "Reports", - description: "Based on Templates", - href: "#", - icon: DocumentChartBarIcon, - cat: "insights", - status: false, - }, -]; - -export default function Header() { - const router = useRouter(); - return ( - -
-
- - Formbricks - - -
-
- - Open menu - -
- - - {({ open }) => ( - <> - - Bricks - - - - -
-
-
-

Survey Creation

- {creation.map((brick) => ( - -
-
-
-

- {brick.name} -

-

- {brick.description} -

-
- - ))} -
-
-

Data Pipelines

- {pipes.map((brick) => ( - -
-
-
-

- {brick.name} -

-

- {brick.description} -

-
- - ))} -
-
-

Data Insights

- {insights.map((brick) => ( - -
-
-
-

- {brick.name} -

-

- {brick.description} -

-
- - ))} -
-
-
-
-
- - )} -
- - - Community - - - Blog

1

- - - Docs - -
-
- - - -
-
- - - -
-
-
-
- -
-
- - Close menu - -
-
- - -
-
-
- Community - - Blog - - Documentation -
-
- - -
-
-
-
-
-
- ); -} - -function GitHubIcon(props: any) { - return ( - - ); -} diff --git a/apps/formbricks-com/components/shared/Hero.jsx b/apps/formbricks-com/components/shared/Hero.jsx deleted file mode 100644 index 5569671df9..0000000000 --- a/apps/formbricks-com/components/shared/Hero.jsx +++ /dev/null @@ -1,153 +0,0 @@ -import { Fragment } from "react"; -import Image from "next/image"; -import clsx from "clsx"; -import Highlight, { defaultProps } from "prism-react-renderer"; - -import { Button } from "@formbricks/ui"; -import { HeroBackground } from "@/components/shared/HeroBackground"; -import blurCyanImage from "@/images/blur-cyan.png"; -import blurIndigoImage from "@/images/blur-indigo.png"; - -const codeLanguage = "javascript"; -const code = `export default { - strategy: 'predictive', - engine: { - cpus: 12, - backups: ['./storage/cache.wtf'], - }, -}`; - -const tabs = [ - { name: "cache-advance.config.js", isActive: true }, - { name: "package.json", isActive: false }, -]; - -function TrafficLightsIcon(props) { - return ( - - ); -} - -export function Hero() { - return ( -
-
-
-
- -
-

- Never miss the cache again. -

-

- Cache every single thing your app could ever do ahead of time, so your code never even has to - run at all. -

-
- - -
-
-
-
-
- -
-
- - -
-
-
-
-
-
- -
- {tabs.map((tab) => ( -
-
- {tab.name} -
-
- ))} -
-
- - - {({ className, style, tokens, getLineProps, getTokenProps }) => ( -
-                          
-                            {tokens.map((line, lineIndex) => (
-                              
- {line.map((token, tokenIndex) => ( - - ))} -
- ))} -
-
- )} -
-
-
-
-
-
-
-
-
- ); -} diff --git a/apps/formbricks-com/components/shared/HeroBackground.jsx b/apps/formbricks-com/components/shared/HeroBackground.jsx deleted file mode 100644 index 486936623e..0000000000 --- a/apps/formbricks-com/components/shared/HeroBackground.jsx +++ /dev/null @@ -1,188 +0,0 @@ -import { useId } from 'react' - -export function HeroBackground(props) { - let id = useId() - - return ( - - ) -} diff --git a/apps/formbricks-com/components/shared/LayoutPMF.tsx b/apps/formbricks-com/components/shared/LayoutPMF.tsx deleted file mode 100644 index f6bd59a51f..0000000000 --- a/apps/formbricks-com/components/shared/LayoutPMF.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import Footer from "./Footer"; -import HeaderPMF from "./HeaderPMF"; -import MetaInformation from "./MetaInformation"; - -interface LayoutProps { - children: React.ReactNode; - title: string; - description: string; -} - -export default function Layout({ title, description, children }: LayoutProps) { - return ( -
- - - { -
- {children} -
- } -
-
- ); -} diff --git a/apps/formbricks-com/components/shared/Modal.tsx b/apps/formbricks-com/components/shared/Modal.tsx index 560acff393..5e8f437b71 100644 --- a/apps/formbricks-com/components/shared/Modal.tsx +++ b/apps/formbricks-com/components/shared/Modal.tsx @@ -47,7 +47,7 @@ const Modal: React.FC = ({ leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95">
diff --git a/apps/formbricks-com/images/clients/cal-logo-dark.svg b/apps/formbricks-com/images/clients/cal-logo-dark.svg new file mode 100644 index 0000000000..e12d2875c3 --- /dev/null +++ b/apps/formbricks-com/images/clients/cal-logo-dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/formbricks-com/images/clients/cal-logo-light.svg b/apps/formbricks-com/images/clients/cal-logo-light.svg new file mode 100644 index 0000000000..bccfe813ef --- /dev/null +++ b/apps/formbricks-com/images/clients/cal-logo-light.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/formbricks-com/images/clients/crowd-logo-dark.svg b/apps/formbricks-com/images/clients/crowd-logo-dark.svg new file mode 100644 index 0000000000..3b88ad8e08 --- /dev/null +++ b/apps/formbricks-com/images/clients/crowd-logo-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/formbricks-com/images/clients/crowd-logo-light.svg b/apps/formbricks-com/images/clients/crowd-logo-light.svg new file mode 100644 index 0000000000..0ba87c1306 --- /dev/null +++ b/apps/formbricks-com/images/clients/crowd-logo-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/formbricks-com/images/clients/stack-ocean-dark.png b/apps/formbricks-com/images/clients/stack-ocean-dark.png new file mode 100644 index 0000000000..aa66e7b633 Binary files /dev/null and b/apps/formbricks-com/images/clients/stack-ocean-dark.png differ diff --git a/apps/formbricks-com/images/clients/stack-ocean-light.png b/apps/formbricks-com/images/clients/stack-ocean-light.png new file mode 100644 index 0000000000..cce6c1b1bc Binary files /dev/null and b/apps/formbricks-com/images/clients/stack-ocean-light.png differ diff --git a/apps/formbricks-com/next.config.mjs b/apps/formbricks-com/next.config.mjs index 459a7a9547..eb48896da5 100644 --- a/apps/formbricks-com/next.config.mjs +++ b/apps/formbricks-com/next.config.mjs @@ -75,6 +75,11 @@ const nextConfig = { destination: "/", permanent: false, }, + { + source: "/signup", + destination: "/auth/signup", + permanent: false, + }, ]; }, }; diff --git a/apps/formbricks-com/pages/community.tsx b/apps/formbricks-com/pages/community.tsx index dee74a00c0..13132178a5 100644 --- a/apps/formbricks-com/pages/community.tsx +++ b/apps/formbricks-com/pages/community.tsx @@ -66,7 +66,7 @@ const CommunityPage = () => { Get support for anything your building - or just say hi 👋