docs(nx-dev): update Nx Cloud CTA links to include UTM parameters (#29489)

Replaced internal Nx Cloud links with full URLs containing UTM parameters for better tracking of user interactions across various components. Additionally, minor improvements were made to React type definitions for clarity and consistency.
This commit is contained in:
Benjamin Cabanes 2024-12-30 10:51:08 -05:00 committed by GitHub
parent fbd3db84f8
commit 8a841cd754
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 20 additions and 32 deletions

View File

@ -1,21 +1,20 @@
import { import {
Hero,
TrustedBy,
FasterAndCheaper,
UnderstandWorkspace,
EnhancedWithAi,
AutomatedAgentsManagement,
AgentNumberOverTime, AgentNumberOverTime,
AutomatedAgentsManagement,
EnhancedWithAi,
FasterAndCheaper,
Hero,
Statistics, Statistics,
TrustedBy,
UnderstandWorkspace,
} from '@nx/nx-dev/ui-cloud'; } from '@nx/nx-dev/ui-cloud';
import { import {
ButtonLinkProps, ButtonLinkProps,
CallToAction, CallToAction,
DefaultLayout, DefaultLayout,
} from '@nx/nx-dev/ui-common'; } from '@nx/nx-dev/ui-common';
import type { Metadata } from 'next'; import type { Metadata } from 'next';
import { ReactElement } from 'react';
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Nx Cloud', title: 'Nx Cloud',
@ -40,10 +39,10 @@ export const metadata: Metadata = {
}, },
}; };
export default function NxCloudPage(): JSX.Element { export default function NxCloudPage(): ReactElement {
const headerCTAConfig: ButtonLinkProps[] = [ const headerCTAConfig: ButtonLinkProps[] = [
{ {
href: '/pricing', href: 'https://cloud.nx.app/get-started?utm_source=nx-dev&utm_medium=nx-cloud-header&utm_campaign=get-started',
variant: 'primary', variant: 'primary',
size: 'small', size: 'small',
title: 'Get started for free', title: 'Get started for free',

View File

@ -27,7 +27,7 @@ export function Hero(): JSX.Element {
</SectionHeading> </SectionHeading>
<div className="mt-10 flex items-center justify-center gap-x-6"> <div className="mt-10 flex items-center justify-center gap-x-6">
<ButtonLink <ButtonLink
href="https://cloud.nx.app" href="https://cloud.nx.app/get-started?utm_source=nx-dev&utm_medium=nx-cloud-hero&utm_campaign=go-to-app"
title="Get started" title="Get started"
variant="primary" variant="primary"
size="default" size="default"

View File

@ -1,7 +1,6 @@
'use client'; 'use client';
import { Fragment, type JSX } from 'react'; import { Fragment, ReactElement } from 'react';
import { NxCloudAnimatedIcon, NxIcon } from '@nx/nx-dev/ui-icons';
import { GitHubIcon } from '@nx/nx-dev/ui-icons';
import { import {
Bars3Icon, Bars3Icon,
ChevronDownIcon, ChevronDownIcon,
@ -13,21 +12,11 @@ import Link from 'next/link';
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import { ButtonLink } from '../button'; import { ButtonLink } from '../button';
import { Popover, Transition } from '@headlessui/react'; import { Popover, Transition } from '@headlessui/react';
import { TwoColumnsMenu } from './two-columns-menu'; import { resourceMenuItems } from './menu-items';
import {
companyItems,
eventItems,
featuresItems,
learnItems,
ossProducts,
resourceMenuItems,
productsMenuItems,
} from './menu-items';
import { SectionsMenu } from './sections-menu'; import { SectionsMenu } from './sections-menu';
import { DiscordIcon } from '../discord-icon'; import { DiscordIcon } from '../discord-icon';
import { NxCloudAnimatedIcon, NxIcon } from '@nx/nx-dev/ui-icons';
function Menu({ tabs }: { tabs: any[] }): JSX.Element { function Menu({ tabs }: { tabs: any[] }): ReactElement {
return ( return (
<div className="hidden sm:block"> <div className="hidden sm:block">
<nav <nav
@ -62,7 +51,7 @@ export function DocumentationHeader({
}: { }: {
isNavOpen: boolean; isNavOpen: boolean;
toggleNav: (value: boolean) => void; toggleNav: (value: boolean) => void;
}): JSX.Element { }): ReactElement {
const router = useRouter(); const router = useRouter();
let routerPath = router.asPath; let routerPath = router.asPath;
const isCI: boolean = routerPath.startsWith('/ci'); const isCI: boolean = routerPath.startsWith('/ci');
@ -338,12 +327,12 @@ export function DocumentationHeader({
className="items-justified hidden justify-center space-x-4 lg:flex" className="items-justified hidden justify-center space-x-4 lg:flex"
> >
<ButtonLink <ButtonLink
href="/nx-cloud" href="https://cloud.nx.app/get-started?utm_source=nx-dev&utm_medium=documentation-header&utm_campaign=try-nx-cloud"
title="Try Nx Cloud for free" title="Try Nx Cloud for free"
variant="primary" variant="primary"
size="small" size="small"
> >
<NxCloudAnimatedIcon className="h-4 w-4" aria-hidden="true" /> <NxCloudAnimatedIcon className="size-4" aria-hidden="true" />
<span>Try Nx Cloud for free</span> <span>Try Nx Cloud for free</span>
</ButtonLink> </ButtonLink>
</nav> </nav>

View File

@ -39,7 +39,7 @@ export function Header({ ctaButtons }: HeaderProps): ReactElement {
const defaultCtaButtons: ButtonLinkProps[] = [ const defaultCtaButtons: ButtonLinkProps[] = [
{ {
href: '/nx-cloud', href: 'https://cloud.nx.app/get-started?utm_source=nx-dev&utm_medium=header&utm_campaign=try-nx-cloud',
variant: 'primary', variant: 'primary',
size: 'small', size: 'small',
target: '_blank', target: '_blank',

View File

@ -53,7 +53,7 @@ export function PlansDisplay(): ReactElement {
</p> </p>
<div className="my-12"> <div className="my-12">
<ButtonLink <ButtonLink
href="https://cloud.nx.app" href="https://cloud.nx.app/get-started/?utm_source=nx-dev&utm_medium=nx-cloud-plans&utm_campaign=hobby-plan"
aria-describedby="hobby-plan" aria-describedby="hobby-plan"
title="Start now" title="Start now"
size="default" size="default"
@ -157,7 +157,7 @@ export function PlansDisplay(): ReactElement {
<div className="my-12"> <div className="my-12">
<ButtonLink <ButtonLink
href="https://cloud.nx.app" href="https://cloud.nx.app/get-started/?utm_source=nx-dev&utm_medium=nx-cloud-plans&utm_campaign=team-plan"
aria-describedby="team-plan" aria-describedby="team-plan"
title="Get started" title="Get started"
size="default" size="default"