Skip to content

Commit c695551

Browse files
committed
docs(nx-dev): add solutions sections and components (#31239)
It adds a new "Solutions" section to the Nx Dev website with three targeted landing pages for different audiences: engineering teams, management teams platform teams, and leadership. It creates three new page files (engineering.tsx, management.tsx, leadership.tsx, platform.tsx) that showcase Nx's benefits through various UI components like heroes, testimonials, feature sections, and FAQs. Each page highlights specific value propositions - engineering focuses on developer efficiency and standards, platform emphasizes reliable CI/CD scaling, and leadership addresses ROI and risk reduction. The navigation is updated with a new "Solutions" dropdown menu in both desktop and mobile views, with corresponding menu items defined. The solutions pages include consistent sections like customer logos, calls-to-action, testimonials, and feature breakdowns that highlight Nx's capabilities for different stakeholders.
1 parent fcb4fd1 commit c695551

30 files changed

+3175
-8
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import { useRouter } from 'next/router';
2+
import { NextSeo } from 'next-seo';
3+
import { ButtonLinkProps, DefaultLayout } from '@nx/nx-dev/ui-common';
4+
import {
5+
AllSpeedNoStress,
6+
CustomerLogos,
7+
DeveloperExperienceThatWorksForYou,
8+
HetznerCloudTestimonial,
9+
SolutionsBottomCallToAction,
10+
SolutionsEngineeringHero,
11+
SolutionsEngineeringTestimonials,
12+
SolutionsFaq,
13+
SolutionsTopCallToAction,
14+
} from '@nx/nx-dev/ui-enterprise';
15+
import { type ReactElement } from 'react';
16+
17+
export function EnterpriseSolutionsEngineering(): ReactElement {
18+
const router = useRouter();
19+
20+
const headerCTAConfig: ButtonLinkProps[] = [
21+
{
22+
href: '/contact',
23+
variant: 'secondary',
24+
size: 'small',
25+
title: 'Contact us',
26+
children: 'Contact us',
27+
},
28+
];
29+
30+
return (
31+
<>
32+
<NextSeo
33+
title="Build confidently, ship faster – without waiting on your tools."
34+
description="Build confidently and ship faster with Nx: unleash remote caching, flaky test retries, parallel e2e, dynamic agents, log streaming, powerful tooling, AI LLM integration, and plugins."
35+
canonical="https://nx.dev/solutionss/engineering"
36+
openGraph={{
37+
url: 'https://nx.dev' + router.asPath,
38+
title: '',
39+
description:
40+
'Build confidently and ship faster with Nx: unleash remote caching, flaky test retries, parallel e2e, dynamic agents, log streaming, powerful tooling, AI LLM integration, and plugins.',
41+
42+
images: [
43+
{
44+
url: 'https://nx.dev/socials/nx-media.png',
45+
width: 800,
46+
height: 421,
47+
alt: 'Nx: Smart Monorepos · Fast CI',
48+
type: 'image/jpeg',
49+
},
50+
],
51+
siteName: 'Nx',
52+
type: 'website',
53+
}}
54+
/>
55+
<DefaultLayout headerCTAConfig={headerCTAConfig}>
56+
<SolutionsEngineeringHero />
57+
<CustomerLogos />
58+
<SolutionsTopCallToAction />
59+
<div className="mt-32 lg:mt-56">
60+
<AllSpeedNoStress />
61+
</div>
62+
<div className="mt-32 lg:mt-56">
63+
<HetznerCloudTestimonial />
64+
</div>
65+
<div className="mt-32 lg:mt-56">
66+
<DeveloperExperienceThatWorksForYou />
67+
</div>
68+
<div className="mt-32 lg:mt-56">
69+
<SolutionsEngineeringTestimonials />
70+
</div>
71+
<div className="mt-32 lg:mt-56">
72+
<SolutionsFaq />
73+
</div>
74+
<div className="mt-32 lg:mt-56">
75+
<SolutionsBottomCallToAction />
76+
</div>
77+
</DefaultLayout>
78+
</>
79+
);
80+
}
81+
82+
export default EnterpriseSolutionsEngineering;
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import { useRouter } from 'next/router';
2+
import { NextSeo } from 'next-seo';
3+
import { ButtonLinkProps, DefaultLayout } from '@nx/nx-dev/ui-common';
4+
import {
5+
BuildAModernEngineeringOrganization,
6+
CustomerLogos,
7+
HetznerCloudTestimonial,
8+
MaximizeRoi,
9+
ScaleSafely,
10+
SolutionsBottomCallToAction,
11+
SolutionsFaq,
12+
SolutionsLeadershipHero,
13+
SolutionsLeadershipTestimonials,
14+
SolutionsTopCallToAction,
15+
} from '@nx/nx-dev/ui-enterprise';
16+
import { type ReactElement } from 'react';
17+
18+
export function EnterpriseSolutionsLeadership(): ReactElement {
19+
const router = useRouter();
20+
21+
const headerCTAConfig: ButtonLinkProps[] = [
22+
{
23+
href: '/contact',
24+
variant: 'secondary',
25+
size: 'small',
26+
title: 'Contact us',
27+
children: 'Contact us',
28+
},
29+
];
30+
31+
return (
32+
<>
33+
<NextSeo
34+
title="Fast Delivery. Low Risk. High ROI."
35+
description="Supercharge engineering ROI with faster delivery, lower CI costs, and fewer risks. Scale safely, future‑proof your stack, and leverage AI‑assisted workflows."
36+
canonical="https://nx.dev/solutions/leadership"
37+
openGraph={{
38+
url: 'https://nx.dev' + router.asPath,
39+
title: 'Fast Delivery. Low Risk. High ROI.',
40+
description:
41+
'Supercharge engineering ROI with faster delivery, lower CI costs, and fewer risks. Scale safely, future‑proof your stack, and leverage AI‑assisted workflows.',
42+
43+
images: [
44+
{
45+
url: 'https://nx.dev/socials/nx-media.png',
46+
width: 800,
47+
height: 421,
48+
alt: 'Nx: Smart Monorepos · Fast CI',
49+
type: 'image/jpeg',
50+
},
51+
],
52+
siteName: 'Nx',
53+
type: 'website',
54+
}}
55+
/>
56+
<DefaultLayout headerCTAConfig={headerCTAConfig}>
57+
<SolutionsLeadershipHero />
58+
<CustomerLogos />
59+
<SolutionsTopCallToAction />
60+
<div className="mt-32 lg:mt-56">
61+
<MaximizeRoi />
62+
</div>
63+
<div className="mt-32 lg:mt-56">
64+
<ScaleSafely />
65+
</div>
66+
<div className="mt-32 lg:mt-56">
67+
<HetznerCloudTestimonial />
68+
</div>
69+
<div className="mt-32 lg:mt-56">
70+
<BuildAModernEngineeringOrganization />
71+
</div>
72+
<div className="mt-32 lg:mt-56">
73+
<SolutionsLeadershipTestimonials />
74+
</div>
75+
<div className="mt-32 lg:mt-56">
76+
<SolutionsFaq />
77+
</div>
78+
<div className="mt-32 lg:mt-56">
79+
<SolutionsBottomCallToAction />
80+
</div>
81+
</DefaultLayout>
82+
</>
83+
);
84+
}
85+
86+
export default EnterpriseSolutionsLeadership;
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import { useRouter } from 'next/router';
2+
import { NextSeo } from 'next-seo';
3+
import { ButtonLinkProps, DefaultLayout } from '@nx/nx-dev/ui-common';
4+
import {
5+
CustomerLogos,
6+
CutDownEngineeringWaste,
7+
HetznerCloudTestimonial,
8+
KeepTeamsAligned,
9+
ScaleWithEase,
10+
SolutionsManagementHero,
11+
SolutionsBottomCallToAction,
12+
SolutionsManagementTestimonials,
13+
SolutionsFaq,
14+
SolutionsTopCallToAction,
15+
} from '@nx/nx-dev/ui-enterprise';
16+
import { type ReactElement } from 'react';
17+
18+
export function EnterpriseSolutionsManagement(): ReactElement {
19+
const router = useRouter();
20+
21+
const headerCTAConfig: ButtonLinkProps[] = [
22+
{
23+
href: '/contact',
24+
variant: 'secondary',
25+
size: 'small',
26+
title: 'Contact us',
27+
children: 'Contact us',
28+
},
29+
];
30+
31+
return (
32+
<>
33+
<NextSeo
34+
title="Standardize, scale, and ship with less waste"
35+
description="Align, scale, and cut engineering waste with Nx. Enable developer mobility, enforce standards, and optimize CI/CD with powerful AI insights."
36+
canonical="https://nx.dev/solutionss/management"
37+
openGraph={{
38+
url: 'https://nx.dev' + router.asPath,
39+
title: 'Standardize, scale, and ship with less waste',
40+
description:
41+
'Align, scale, and cut engineering waste with Nx. Enable developer mobility, enforce standards, and optimize CI/CD with powerful AI insights.',
42+
images: [
43+
{
44+
url: 'https://nx.dev/socials/nx-media.png',
45+
width: 800,
46+
height: 421,
47+
alt: 'Nx: Smart Monorepos · Fast CI',
48+
type: 'image/jpeg',
49+
},
50+
],
51+
siteName: 'Nx',
52+
type: 'website',
53+
}}
54+
/>
55+
<DefaultLayout headerCTAConfig={headerCTAConfig}>
56+
<SolutionsManagementHero />
57+
<CustomerLogos />
58+
<SolutionsTopCallToAction />
59+
<div className="mt-32 lg:mt-56">
60+
<KeepTeamsAligned />
61+
</div>
62+
<div className="mt-32 lg:mt-56">
63+
<ScaleWithEase />
64+
</div>
65+
<div className="mt-32 lg:mt-56">
66+
<HetznerCloudTestimonial />
67+
</div>
68+
<div className="mt-32 lg:mt-56">
69+
<CutDownEngineeringWaste />
70+
</div>
71+
<div className="mt-32 lg:mt-56">
72+
<SolutionsManagementTestimonials />
73+
</div>
74+
<div className="mt-32 lg:mt-56">
75+
<SolutionsFaq />
76+
</div>
77+
<div className="mt-32 lg:mt-56">
78+
<SolutionsBottomCallToAction />
79+
</div>
80+
</DefaultLayout>
81+
</>
82+
);
83+
}
84+
85+
export default EnterpriseSolutionsManagement;
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import { useRouter } from 'next/router';
2+
import { NextSeo } from 'next-seo';
3+
import { ButtonLinkProps, DefaultLayout } from '@nx/nx-dev/ui-common';
4+
import {
5+
CostEfficientCompute,
6+
CustomerLogos,
7+
EasyToAdoptEasyToMaintain,
8+
HetznerCloudTestimonial,
9+
ReliableByDesign,
10+
SolutionsBottomCallToAction,
11+
SolutionsFaq,
12+
SolutionsPlatformHero,
13+
SolutionsPlatformTestimonials,
14+
SolutionsTopCallToAction,
15+
} from '@nx/nx-dev/ui-enterprise';
16+
import { type ReactElement } from 'react';
17+
18+
export function EnterpriseSolutionsPlatform(): ReactElement {
19+
const router = useRouter();
20+
21+
const headerCTAConfig: ButtonLinkProps[] = [
22+
{
23+
href: '/contact',
24+
variant: 'secondary',
25+
size: 'small',
26+
title: 'Contact us',
27+
children: 'Contact us',
28+
},
29+
];
30+
31+
return (
32+
<>
33+
<NextSeo
34+
title="CI that works out of the box – and stays reliable at scale"
35+
description="Nx delivers reliable, out-of-the-box CI that scales. Cut costs and boost speed with smart caching, compute distribution, and enhanced security for your pipelines."
36+
canonical="https://nx.dev/solutionss/platform"
37+
openGraph={{
38+
url: 'https://nx.dev' + router.asPath,
39+
title: 'CI that works out of the box – and stays reliable at scale',
40+
description:
41+
'Nx delivers reliable, out-of-the-box CI that scales. Cut costs and boost speed with smart caching, compute distribution, and enhanced security for your pipelines.',
42+
images: [
43+
{
44+
url: 'https://nx.dev/socials/nx-media.png',
45+
width: 800,
46+
height: 421,
47+
alt: 'Nx: Smart Monorepos · Fast CI',
48+
type: 'image/jpeg',
49+
},
50+
],
51+
siteName: 'Nx',
52+
type: 'website',
53+
}}
54+
/>
55+
<DefaultLayout headerCTAConfig={headerCTAConfig}>
56+
<SolutionsPlatformHero />
57+
<CustomerLogos />
58+
<SolutionsTopCallToAction />
59+
<div className="mt-32 lg:mt-56">
60+
<EasyToAdoptEasyToMaintain />
61+
</div>
62+
<div className="mt-32 lg:mt-56">
63+
<ReliableByDesign />
64+
</div>
65+
<div className="mt-32 lg:mt-56">
66+
<HetznerCloudTestimonial />
67+
</div>
68+
<div className="mt-32 lg:mt-56">
69+
<CostEfficientCompute />
70+
</div>
71+
<div className="mt-32 lg:mt-56">
72+
<SolutionsPlatformTestimonials />
73+
</div>
74+
<div className="mt-32 lg:mt-56">
75+
<SolutionsFaq />
76+
</div>
77+
<div className="mt-32 lg:mt-56">
78+
<SolutionsBottomCallToAction />
79+
</div>
80+
</DefaultLayout>
81+
</>
82+
);
83+
}
84+
85+
export default EnterpriseSolutionsPlatform;

0 commit comments

Comments
 (0)