Skip to content

Commit 1c3c90a

Browse files
juristrndcunningham
authored andcommitted
feat(nx-dev): customer videos on customer page (#29380)
Co-authored-by: Nicholas Cunningham <[email protected]> (cherry picked from commit 9c176d8)
1 parent de3060b commit 1c3c90a

18 files changed

+780
-400
lines changed

nx-dev/nx-dev/pages/customers.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
Hero,
77
OssProjects,
88
} from '@nx/nx-dev/ui-customers';
9-
import { tryNxCloudForFree } from '../lib/components/headerCtaConfigs';
9+
import { contactButton } from '../lib/components/headerCtaConfigs';
1010

1111
export function Customers(): JSX.Element {
1212
const router = useRouter();
@@ -34,7 +34,7 @@ export function Customers(): JSX.Element {
3434
type: 'website',
3535
}}
3636
/>
37-
<DefaultLayout headerCTAConfig={[tryNxCloudForFree]}>
37+
<DefaultLayout headerCTAConfig={[contactButton]}>
3838
<div>
3939
<Hero />
4040
</div>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

nx-dev/nx-dev/tailwind.config.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ module.exports = {
6363
theme: {
6464
extend: {
6565
animation: {
66+
progress: `progress linear forwards`,
6667
marquee: 'marquee var(--duration) linear infinite',
6768
'marquee-vertical': 'marquee-vertical var(--duration) linear infinite',
6869
},
@@ -75,6 +76,10 @@ module.exports = {
7576
from: { transform: 'translateY(0)' },
7677
to: { transform: 'translateY(calc(-100% - var(--gap)))' },
7778
},
79+
progress: {
80+
'0%': { width: '0%' },
81+
'100%': { width: '100%' },
82+
},
7883
},
7984
typography: {
8085
DEFAULT: {
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { FC, SVGProps } from 'react';
2+
3+
interface CustomerIcon {
4+
url: string;
5+
icon: FC<SVGProps<SVGSVGElement>>;
6+
height: string;
7+
width: string;
8+
}
9+
10+
interface CustomerIconGridProps {
11+
icons: CustomerIcon[];
12+
}
13+
14+
const CustomerIconGrid: FC<CustomerIconGridProps> = ({ icons }) => {
15+
return (
16+
<div className="grid grid-cols-2 justify-between md:grid-cols-4">
17+
{icons.map((customerIcon, index) => {
18+
return (
19+
<a
20+
key={`customer-icon-${index}`}
21+
href={customerIcon.url}
22+
target="_blank"
23+
rel="noopener noreferrer"
24+
className={`flex items-center justify-center border-slate-200/20 p-12 shadow-[0_0px_1px_0_rgba(226,232,240,0.2)] transition hover:bg-slate-100/20 hover:text-slate-950 dark:border-slate-800/20 dark:hover:border-slate-600/20 dark:hover:bg-slate-600/10 dark:hover:text-white`}
25+
>
26+
<customerIcon.icon
27+
aria-hidden="true"
28+
className={`${customerIcon.height} ${customerIcon.width}`}
29+
/>
30+
</a>
31+
);
32+
})}
33+
</div>
34+
);
35+
};
36+
37+
export default CustomerIconGrid;
38+
export { CustomerIconGrid, type CustomerIcon };

0 commit comments

Comments
 (0)