@@ -34,6 +34,7 @@ import { ReactComponent as EnterpriseIcon } from '../../images/menu_icons_traefi
34
34
import { ReactComponent as HubIcon } from '../../images/menu_icons_traefik_hub.svg'
35
35
import { ReactComponent as WafIcon } from '../../images/menu_icons_waf.svg'
36
36
import { ReactComponent as HashicorpIcon } from '../../images/menu_icons_hashicorp.svg'
37
+ import { ReactComponent as NutanixIcon } from '../../images/menu_icons_nutanix.svg'
37
38
import { ReactComponent as AiGatewayIcon } from '../../images/menu_icons_ai_gateway.svg'
38
39
import PostCard from './PostCard'
39
40
import NavHeader from './NavHeader'
@@ -53,8 +54,12 @@ const MainNav = () => {
53
54
< Wrapper as = "nav" style = { { height : '100%' , alignItems : 'center' , marginLeft : '65px' } } aria-label = "Main menu" >
54
55
< Flex as = "ul" sx = { { height : '100%' , alignItems : 'center' , p : 0 , m : 0 , listStyle : 'none' } } >
55
56
{ /* Products */ }
56
- < NavItem name = "Products" hasSubmenu position = { { marginLeft : '-15%' } } >
57
- < Grid sx = { { gridTemplateColumns : '1fr' , maxWidth : '1160px' } } >
57
+ < NavItem
58
+ name = "Products"
59
+ hasSubmenu
60
+ position = { { left : '50%' , transform : 'translateX(-50%)' , width : '100%' , maxWidth : '1050px' } }
61
+ >
62
+ < Grid >
58
63
< NavHeader title = "Traefik Runtime Platform" />
59
64
< Grid sx = { { gridTemplateColumns : '1fr 1fr 1fr' } } >
60
65
< Product
@@ -140,12 +145,15 @@ const MainNav = () => {
140
145
< NavItem name = "Solutions" hasSubmenu position = { { marginLeft : '-25%' } } heighlight = { true } >
141
146
< Grid
142
147
sx = { {
143
- display : 'grid' ,
144
- gridTemplateColumns : 'repeat(3, 360px)' ,
148
+ maxWidth : '1353px' ,
149
+ gap : '24px' ,
150
+ padding : '0 16px' ,
151
+ gridTemplateColumns : 'repeat(4, 1fr)' ,
145
152
} }
146
153
>
147
154
< Product
148
155
title = "Application Proxy"
156
+ padding = "24px 0"
149
157
links = { [
150
158
{
151
159
title : 'Kubernetes Ingress' ,
@@ -162,10 +170,10 @@ const MainNav = () => {
162
170
icon : < DockerSwarmIcon /> ,
163
171
} ,
164
172
] }
165
- bgImage = { 'https://traefik.io/images/site-nav/[email protected] ' }
166
173
/>
167
174
< Product
168
175
title = "API Gateway"
176
+ padding = "24px 0"
169
177
links = { [
170
178
{
171
179
title : 'Modern API Gateway' ,
@@ -182,14 +190,7 @@ const MainNav = () => {
182
190
icon : < WafIcon /> ,
183
191
badge : 'New!' ,
184
192
} ,
185
- {
186
- title : 'Traefik & HashiCorp' ,
187
- url : 'https://traefik.io/solutions/hashicorp-and-traefik/' ,
188
- external : true ,
189
- description : 'A comprehensive and powerful API Gateway for HashiCorp stack.' ,
190
- icon : < HashicorpIcon /> ,
191
- badge : 'New!' ,
192
- } ,
193
+
193
194
{
194
195
title : 'AI Gateway' ,
195
196
url : 'https://traefik.io/solutions/ai-gateway/' ,
@@ -199,10 +200,10 @@ const MainNav = () => {
199
200
badge : 'New!' ,
200
201
} ,
201
202
] }
202
- bgImage = { 'https://traefik.io/images/site-nav/[email protected] ' }
203
203
/>
204
204
< Product
205
205
title = "API Management"
206
+ padding = "24px 0"
206
207
links = { [
207
208
{
208
209
title : 'GitOps-Driven API Management' ,
@@ -229,13 +230,37 @@ const MainNav = () => {
229
230
badge : 'New!' ,
230
231
} ,
231
232
] }
232
- bgImage = { 'https://traefik.io/images/site-nav/[email protected] ' }
233
+ />
234
+ < Product
235
+ title = "BETTER TOGETHER"
236
+ padding = "24px 0"
237
+ links = { [
238
+ {
239
+ title : 'Traefik & HashiCorp' ,
240
+ url : 'https://traefik.io/solutions/hashicorp-and-traefik/' ,
241
+ external : true ,
242
+ description : 'A comprehensive and powerful API Gateway for HashiCorp stack.' ,
243
+ icon : < HashicorpIcon /> ,
244
+ } ,
245
+ {
246
+ title : 'Traefik & Nutanix' ,
247
+ url : 'https://traefik.io/solutions/nutanix-and-traefik/' ,
248
+ external : true ,
249
+ description : 'A comprehensive and powerful API Gateway for HashiCorp stack.' ,
250
+ icon : < NutanixIcon /> ,
251
+ badge : 'New!' ,
252
+ } ,
253
+ ] }
233
254
/>
234
255
</ Grid >
235
256
</ NavItem >
236
257
237
258
{ /* Learn */ }
238
- < NavItem name = "Learn" hasSubmenu position = { { right : '25px' } } >
259
+ < NavItem
260
+ name = "Learn"
261
+ hasSubmenu
262
+ position = { { width : '100%' , maxWidth : '1192px' , left : '50%' , transform : 'translateX(-50%)' } }
263
+ >
239
264
< Grid sx = { { gridTemplateColumns : 'auto auto auto 288px' , p : '24px' , gap : '93px' , lineHeight : 1.6 } } >
240
265
< MenuColumn . Column title = "Learn" >
241
266
< MenuColumn . Item title = "Blog" logo = { < BlogIcon /> } href = "https://traefik.io/blog/" external />
0 commit comments