Skip to content

Commit ba25861

Browse files
feat: nav update microsoft lp
1 parent f8419e4 commit ba25861

File tree

6 files changed

+115
-74
lines changed

6 files changed

+115
-74
lines changed

src/components/nav/MainNav.tsx

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { ReactComponent as BlogIcon } from '../../images/menu_icons_blog.svg'
2525
import { ReactComponent as ResourcesIcon } from '../../images/menu_icons_resources.svg'
2626
import { ReactComponent as TraefikAcademyIcon } from '../../images/menu_icons_academy.svg'
2727
import { ReactComponent as EventsIcon } from '../../images/menu_icons_events.svg'
28+
import { ReactComponent as MicrosoftIcon } from '../../images/menu_icons_microsoft.svg'
2829
import { ReactComponent as GlossaryIcon } from '../../images/menu_icons_list.svg'
2930
import { ReactComponent as StarIcon } from '../../images/menu_icons_star.svg'
3031
import { ReactComponent as ForumIcon } from '../../images/menu_icons_forum.svg'
@@ -38,6 +39,8 @@ import { ReactComponent as HashicorpIcon } from '../../images/menu_icons_hashico
3839
import { ReactComponent as NutanixIcon } from '../../images/menu_icons_nutanix.svg'
3940
import { ReactComponent as OracleIcon } from '../../images/menu_icons_oracle.svg'
4041
import { ReactComponent as AiGatewayIcon } from '../../images/menu_icons_ai_gateway.svg'
42+
import ColumnBg from '../../images/gradient-left-glow.png'
43+
4144
import PostCard from './PostCard'
4245
import NavHeader from './NavHeader'
4346

@@ -147,10 +150,10 @@ const MainNav = () => {
147150
<NavItem name="Solutions" hasSubmenu position={{ marginLeft: '-25%' }} heighlight={true}>
148151
<Grid
149152
sx={{
150-
maxWidth: '1353px',
153+
maxWidth: '1368px',
151154
gap: '24px',
152-
padding: '0 16px',
153-
gridTemplateColumns: 'repeat(4, 1fr)',
155+
paddingLeft: '16px',
156+
gridTemplateColumns: 'repeat(3, 312px) 344px',
154157
}}
155158
>
156159
<Product
@@ -242,32 +245,44 @@ const MainNav = () => {
242245
/>
243246
<Product
244247
title="BETTER TOGETHER"
245-
padding="24px 0"
248+
padding="24px 16px"
246249
links={[
247-
{
248-
title: 'Traefik & HashiCorp',
249-
url: 'https://traefik.io/solutions/hashicorp-and-traefik/',
250-
external: true,
251-
description: 'A comprehensive and powerful API Gateway for HashiCorp stack.',
252-
icon: <HashicorpIcon />,
253-
},
254250
{
255251
title: 'Traefik & Nutanix',
256252
url: 'https://traefik.io/solutions/nutanix-and-traefik/',
257253
external: true,
258-
description: 'A comprehensive and powerful API Gateway for HashiCorp stack.',
254+
description: 'A holistic solution for modern AI & API management.',
259255
icon: <NutanixIcon />,
256+
},
257+
{
258+
title: 'Traefik & Microsoft',
259+
url: 'https://traefik.io/solutions/microsoft-and-traefik/',
260+
external: true,
261+
description: 'Run your APIs and AI across any infrastructure, any Kubernetes.',
262+
icon: <MicrosoftIcon />,
260263
badge: 'New!',
261264
},
262265
{
263266
title: 'Traefik & Oracle',
264267
url: 'https://traefik.io/solutions/oracle-and-traefik/',
265268
external: true,
266-
description: 'A comprehensive and powerful API Gateway for HashiCorp stack.',
269+
description: 'Unmatched & modern API management without boundaries.',
267270
icon: <OracleIcon />,
268-
badge: 'New!',
271+
},
272+
{
273+
title: 'Traefik & HashiCorp',
274+
url: 'https://traefik.io/solutions/hashicorp-and-traefik/',
275+
external: true,
276+
description: 'A comprehensive and powerful API Gateway for HashiCorp stack.',
277+
icon: <HashicorpIcon />,
269278
},
270279
]}
280+
bgImage={ColumnBg}
281+
colors={{
282+
heading: '#f9fafa',
283+
text: '#b3bac0',
284+
bgColor: '#f4f5f659',
285+
}}
271286
/>
272287
</Grid>
273288
</NavItem>

src/components/nav/Product.tsx

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ type NavProductProps = {
2323
badge?: string
2424
}[]
2525
bgImage?: string
26+
colors?: {
27+
[color: string]: string
28+
}
2629
}
2730

2831
type NavbarLinkProps = {
@@ -32,20 +35,21 @@ type NavbarLinkProps = {
3235
styles?: any
3336
}
3437

35-
const Product = ({ bgImage, title, description, padding, links, subLinks = [] }: NavProductProps) => (
38+
const Product = ({ bgImage, title, description, padding, links, colors = {}, subLinks = [] }: NavProductProps) => (
3639
<Box sx={{ p: padding ? padding : title ? '24px' : '16px 16px 48px', backgroundColor: '#fff', position: 'relative' }}>
3740
{bgImage && (
3841
<img
3942
src={bgImage}
40-
width={320}
41-
height={84}
43+
width={344}
44+
height={372}
4245
alt=""
4346
style={{
4447
position: 'absolute',
45-
paddingBottom: '0px',
46-
bottom: '0',
47-
left: '0',
48-
right: '0',
48+
inset: '0',
49+
width: '100%',
50+
height: '100%',
51+
userSelect: 'none',
52+
pointerEvents: 'none',
4953
}}
5054
/>
5155
)}
@@ -56,10 +60,12 @@ const Product = ({ bgImage, title, description, padding, links, subLinks = [] }:
5660
fontSize: '13px',
5761
variant: 'default',
5862
lineHeight: '1.23',
59-
color: '03192d',
63+
color: colors.heading || '#03192d',
6064
letterSpacing: '2.36px',
6165
fontWeight: '500',
6266
textTransform: 'uppercase',
67+
position: 'relative',
68+
zIndex: 1,
6369
fontFamily: 'Rubik',
6470
marginBottom: '16px',
6571
}}
@@ -72,18 +78,18 @@ const Product = ({ bgImage, title, description, padding, links, subLinks = [] }:
7278
{description}
7379
</Text>
7480
)}
75-
<Links>
81+
<Links bgColor={colors.bgColor}>
7682
{links &&
7783
links.map((link) => (
7884
<li key={title + link.title}>
7985
<NavbarLink external={link.external} url={link.url}>
8086
<NavLinkIcon>{link.icon}</NavLinkIcon>
8187
<div>
82-
<NavLinkTitle>
88+
<NavLinkTitle color={colors.heading}>
8389
<span>{link.title}</span>
8490
{link.badge && <NavLinkBadge>{link.badge}</NavLinkBadge>}
8591
</NavLinkTitle>
86-
<NavLinkDescription>{link.description}</NavLinkDescription>
92+
<NavLinkDescription color={colors.text}>{link.description}</NavLinkDescription>
8793
</div>
8894
</NavbarLink>
8995
</li>
@@ -124,14 +130,14 @@ const NavbarLink: React.FC<NavbarLinkProps> = ({ children, external, url, styles
124130
)
125131
}
126132

127-
const Links = styled.ul`
133+
const Links = styled.ul<{ bgColor?: string }>`
128134
list-style: none;
129135
padding: 0;
130136
margin: 0;
131137
position: relative;
132-
margin li {
138+
li {
133139
padding: 0;
134-
margin-bottom: 13px;
140+
margin-bottom: 8px;
135141
136142
&:last-child {
137143
margin: 0;
@@ -148,7 +154,7 @@ const Links = styled.ul`
148154
text-decoration: none;
149155
150156
&:hover {
151-
background-color: #f4f5f6;
157+
background-color: ${(props) => props.bgColor || '#f4f5f6'};
152158
}
153159
}
154160
`
@@ -201,22 +207,22 @@ const NavLinkBadge = styled.p`
201207
margin: 0 0 0 8px;
202208
`
203209

204-
const NavLinkTitle = styled.div`
210+
const NavLinkTitle = styled.div<{ color?: string }>`
205211
display: flex;
206212
gap: 2px;
207213
align-items: center;
208214
font-size: 16px;
209215
line-height: 1.38;
210216
font-weight: 500;
211-
color: #03192d;
217+
color: ${(props) => props.color || '#03192d'};
212218
`
213219

214-
const NavLinkDescription = styled.span`
220+
const NavLinkDescription = styled.span<{ color?: string }>`
215221
font-size: 13px;
216222
line-height: 1.14;
217223
display: block;
218224
font-weight: 400;
219-
color: '#4e5e6c';
225+
color: ${(props) => props.color || '#4e5e6c'};
220226
`
221227

222228
export default Product

src/images/gradient-left-glow.png

111 KB
Loading

src/images/menu_icons_microsoft.svg

Lines changed: 33 additions & 0 deletions
Loading

src/images/menu_icons_nutanix.svg

Lines changed: 21 additions & 25 deletions
Loading

src/images/menu_icons_oracle.svg

Lines changed: 7 additions & 16 deletions
Loading

0 commit comments

Comments
 (0)