diff --git a/nx-dev/nx-dev/app/pricing/page.tsx b/nx-dev/nx-dev/app/pricing/page.tsx index ccea644bc7f32..4fda072e0e58f 100644 --- a/nx-dev/nx-dev/app/pricing/page.tsx +++ b/nx-dev/nx-dev/app/pricing/page.tsx @@ -38,7 +38,24 @@ export const metadata: Metadata = { export default function PricingPage() { return ( - + Try Nx Cloud for free, + }, + { + href: '/contact', + variant: 'secondary', + size: 'small', + title: 'Contact us', + children: Contact us, + }, + ]} + >
diff --git a/nx-dev/nx-dev/pages/enterprise.tsx b/nx-dev/nx-dev/pages/enterprise.tsx index 3d663433c2478..97a5b0ad005de 100644 --- a/nx-dev/nx-dev/pages/enterprise.tsx +++ b/nx-dev/nx-dev/pages/enterprise.tsx @@ -40,7 +40,17 @@ export function Enterprise(): JSX.Element { type: 'website', }} /> - + Request a free trial, + }, + ]} + >
diff --git a/nx-dev/ui-cloud/src/lib/hero.tsx b/nx-dev/ui-cloud/src/lib/hero.tsx index 7740cbfeb0e9c..cfe7c9638ad0b 100644 --- a/nx-dev/ui-cloud/src/lib/hero.tsx +++ b/nx-dev/ui-cloud/src/lib/hero.tsx @@ -31,7 +31,7 @@ export function Hero(): JSX.Element { variant="primary" size="default" > - Get started + Get started for free - {!hideHeader &&
} + {!hideHeader &&
}
- + diff --git a/nx-dev/ui-common/src/lib/headers/header.tsx b/nx-dev/ui-common/src/lib/headers/header.tsx index 64739266cf7af..f6982fe3e98c8 100644 --- a/nx-dev/ui-common/src/lib/headers/header.tsx +++ b/nx-dev/ui-common/src/lib/headers/header.tsx @@ -8,15 +8,16 @@ import { import cx from 'classnames'; import Link from 'next/link'; import { Fragment, useEffect, useState } from 'react'; -import { ButtonLink } from '../button'; +import { ButtonLink, ButtonLinkProps } from '../button'; import { companyItems, eventItems, featuresItems, learnItems, - solutions, + ossProducts, resourceMenuItems, - solutionsMenuItems, + productsMenuItems, + enterpriseResourcesMenuItems, } from './menu-items'; import { MobileMenuItem } from './mobile-menu-item'; import { SectionsMenu } from './sections-menu'; @@ -24,7 +25,13 @@ import { TwoColumnsMenu } from './two-columns-menu'; import { AlgoliaSearch } from '@nx/nx-dev/feature-search'; import { GitHubIcon, NxCloudAnimatedIcon, NxIcon } from '@nx/nx-dev/ui-icons'; -export function Header(): JSX.Element { +// Add props interface at the top of the file +interface HeaderProps { + ctaButtons?: ButtonLinkProps[]; +} + +// Update the component signature to accept props +export function Header({ ctaButtons }: HeaderProps): JSX.Element { let [isOpen, setIsOpen] = useState(false); // We need to close the popover if the route changes or the window is resized to prevent the popover from being stuck open. @@ -42,6 +49,33 @@ export function Header(): JSX.Element { }; }, []); + // Default CTA buttons configuration + const defaultCtaButtons: ButtonLinkProps[] = [ + { + href: '/contact', + variant: 'primary', + size: 'small', + target: '_blank', + title: 'Try Nx Cloud for free', + children: Try Nx Cloud for free, + }, + { + href: 'https://cloud.nx.app', + variant: 'secondary', + size: 'small', + target: '_blank', + title: 'Log in to your Nx Cloud Account', + children: ( + <> +