Skip to content

Commit b10a7e8

Browse files
committed
docs(nx-dev): add solutions sections and components
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 a45ec7e commit b10a7e8

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)