Skip to content

Commit 988ad02

Browse files
committed
fix: update breadcrumb rendering in AppHeader and improve key assignment in ViewSwitcher
1 parent 5e63074 commit 988ad02

2 files changed

Lines changed: 24 additions & 21 deletions

File tree

apps/console/src/components/AppHeader.tsx

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
* @module
88
*/
99

10+
import { Fragment } from 'react';
1011
import { useLocation, useParams, Link } from 'react-router-dom';
11-
import {
12-
Breadcrumb,
13-
BreadcrumbItem,
14-
BreadcrumbLink,
15-
BreadcrumbList,
16-
BreadcrumbPage,
12+
import {
13+
Breadcrumb,
14+
BreadcrumbItem,
15+
BreadcrumbLink,
16+
BreadcrumbList,
17+
BreadcrumbPage,
1718
BreadcrumbSeparator,
1819
SidebarTrigger,
1920
Button,
@@ -84,16 +85,18 @@ export function AppHeader({ appName, objects, connectionState }: { appName: stri
8485
<Breadcrumb className="hidden sm:flex">
8586
<BreadcrumbList>
8687
{breadcrumbItems.map((item, index) => (
87-
<BreadcrumbItem key={index}>
88+
<Fragment key={index}>
8889
{index > 0 && <BreadcrumbSeparator />}
89-
{index === breadcrumbItems.length - 1 || !item.href ? (
90-
<BreadcrumbPage>{item.label}</BreadcrumbPage>
91-
) : (
92-
<BreadcrumbLink asChild>
93-
<Link to={item.href}>{item.label}</Link>
94-
</BreadcrumbLink>
95-
)}
96-
</BreadcrumbItem>
90+
<BreadcrumbItem>
91+
{index === breadcrumbItems.length - 1 || !item.href ? (
92+
<BreadcrumbPage>{item.label}</BreadcrumbPage>
93+
) : (
94+
<BreadcrumbLink asChild>
95+
<Link to={item.href}>{item.label}</Link>
96+
</BreadcrumbLink>
97+
)}
98+
</BreadcrumbItem>
99+
</Fragment>
97100
))}
98101
</BreadcrumbList>
99102
</Breadcrumb>

packages/plugin-view/src/ViewSwitcher.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ export const ViewSwitcher: React.FC<ViewSwitcherProps> = ({
227227
<SelectValue placeholder="Select view" />
228228
</SelectTrigger>
229229
<SelectContent>
230-
{schema.views.map(view => (
231-
<SelectItem key={view.type} value={view.type}>
230+
{schema.views.map((view, index) => (
231+
<SelectItem key={`${view.type}-${index}`} value={view.type}>
232232
{getViewLabel(view)}
233233
</SelectItem>
234234
))}
@@ -238,13 +238,13 @@ export const ViewSwitcher: React.FC<ViewSwitcherProps> = ({
238238

239239
{variant === 'buttons' && (
240240
<div className={cn(viewSwitcherList({ orientation }))}>
241-
{schema.views.map(view => {
241+
{schema.views.map((view, index) => {
242242
const isActive = view.type === currentView;
243243
const Icon = getViewIcon(view);
244244

245245
return (
246246
<Button
247-
key={view.type}
247+
key={`${view.type}-${index}`}
248248
type="button"
249249
size="sm"
250250
variant={isActive ? 'secondary' : 'ghost'}
@@ -262,11 +262,11 @@ export const ViewSwitcher: React.FC<ViewSwitcherProps> = ({
262262
{variant === 'tabs' && (
263263
<Tabs value={currentViewValue} onValueChange={(value) => handleViewChange(value as ViewType)}>
264264
<TabsList className={cn(viewSwitcherTabsList({ orientation }))}>
265-
{schema.views.map(view => {
265+
{schema.views.map((view, index) => {
266266
const Icon = getViewIcon(view);
267267
return (
268268
<TabsTrigger
269-
key={view.type}
269+
key={`${view.type}-${index}`}
270270
value={view.type}
271271
className={cn('gap-2', isVertical ? 'justify-start' : '')}
272272
>

0 commit comments

Comments
 (0)