Skip to content

Commit 587fe94

Browse files
authored
fix(navbar): don't show navitems if none provided (nodejs#8467)
1 parent 4eb7eec commit 587fe94

File tree

3 files changed

+30
-24
lines changed

3 files changed

+30
-24
lines changed

packages/ui-components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@node-core/ui-components",
3-
"version": "1.4.3",
3+
"version": "1.4.4",
44
"type": "module",
55
"exports": {
66
"./*": [

packages/ui-components/src/Containers/NavBar/index.stories.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@ import type { Meta as MetaObj, StoryObj } from '@storybook/react-webpack5';
55
type Story = StoryObj<typeof NavBar>;
66
type Meta = MetaObj<typeof NavBar>;
77

8-
export const Default: Story = {
9-
args: {
10-
as: 'a',
11-
Logo: 'a',
12-
pathname: '/',
8+
const common = {
9+
as: 'a',
10+
Logo: 'a',
11+
pathname: '/',
1312

14-
children: <a>Some other child</a>,
13+
children: <a>Some other child</a>,
14+
} as const;
1515

16+
export const Default: Story = {
17+
args: {
18+
...common,
1619
navItems: [
1720
{
1821
text: 'Learn',
@@ -42,4 +45,6 @@ export const Default: Story = {
4245
},
4346
};
4447

48+
export const NoNavItems: Story = { args: common };
49+
4550
export default { component: NavBar } as Meta;

packages/ui-components/src/Containers/NavBar/index.tsx

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const navInteractionIcons = {
2222
};
2323

2424
type NavbarProps = {
25-
navItems: Array<{
25+
navItems?: Array<{
2626
text: FormattedMessage;
2727
link: string;
2828
target?: HTMLAttributeAnchorTarget | undefined;
@@ -61,29 +61,30 @@ const NavBar: FC<PropsWithChildren<NavbarProps>> = ({
6161
</div>
6262

6363
<input
64-
className={classNames(['peer', style.sidebarItemToggler])}
64+
className={classNames('peer', style.sidebarItemToggler)}
6565
id="sidebarItemToggler"
6666
type="checkbox"
6767
onChange={e => setIsMenuOpen(() => e.target.checked)}
6868
aria-label={sidebarItemTogglerAriaLabel}
6969
tabIndex={-1}
7070
/>
7171

72-
<div className={`${style.main} hidden peer-checked:flex`}>
73-
<div className={style.navItems}>
74-
{navItems.map(({ text, link, target }) => (
75-
<NavItem
76-
pathname={pathname}
77-
as={Component}
78-
key={link}
79-
href={link}
80-
target={target}
81-
>
82-
{text}
83-
</NavItem>
84-
))}
85-
</div>
86-
72+
<div className={classNames(style.main, `hidden peer-checked:flex`)}>
73+
{navItems && (
74+
<div className={style.navItems}>
75+
{navItems.map(({ text, link, target }) => (
76+
<NavItem
77+
pathname={pathname}
78+
as={Component}
79+
key={link}
80+
href={link}
81+
target={target}
82+
>
83+
{text}
84+
</NavItem>
85+
))}
86+
</div>
87+
)}
8788
<div className={style.actionsWrapper}>{children}</div>
8889
</div>
8990
</nav>

0 commit comments

Comments
 (0)