fix(nav): DRY Nav render method
This commit is contained in:
@ -62,6 +62,12 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const allNavs = [
|
||||||
|
LargeNav,
|
||||||
|
MediumNav,
|
||||||
|
SmallNav
|
||||||
|
];
|
||||||
|
|
||||||
function FCCNav(props) {
|
function FCCNav(props) {
|
||||||
const {
|
const {
|
||||||
panes,
|
panes,
|
||||||
@ -69,30 +75,24 @@ function FCCNav(props) {
|
|||||||
clickOnMap,
|
clickOnMap,
|
||||||
shouldShowMapButton
|
shouldShowMapButton
|
||||||
} = props;
|
} = props;
|
||||||
|
const withNavProps = Component => (
|
||||||
|
<Component
|
||||||
|
clickOnLogo={ clickOnLogo }
|
||||||
|
clickOnMap={ clickOnMap }
|
||||||
|
key={ Component.displayName }
|
||||||
|
panes={ panes }
|
||||||
|
shouldShowMapButton={ shouldShowMapButton }
|
||||||
|
/>
|
||||||
|
);
|
||||||
return (
|
return (
|
||||||
<Navbar
|
<Navbar
|
||||||
className='nav-height'
|
className='nav-height'
|
||||||
id='navbar'
|
id='navbar'
|
||||||
staticTop={ true }
|
staticTop={ true }
|
||||||
>
|
>
|
||||||
<LargeNav
|
{
|
||||||
clickOnLogo={ clickOnLogo }
|
allNavs.map(withNavProps)
|
||||||
clickOnMap={ clickOnMap }
|
}
|
||||||
panes={ panes }
|
|
||||||
shouldShowMapButton={ shouldShowMapButton }
|
|
||||||
/>
|
|
||||||
<MediumNav
|
|
||||||
clickOnLogo={ clickOnLogo }
|
|
||||||
clickOnMap={ clickOnMap }
|
|
||||||
panes={ panes }
|
|
||||||
shouldShowMapButton={ shouldShowMapButton }
|
|
||||||
/>
|
|
||||||
<SmallNav
|
|
||||||
clickOnLogo={ clickOnLogo }
|
|
||||||
clickOnMap={ clickOnMap }
|
|
||||||
panes={ panes }
|
|
||||||
shouldShowMapButton={ shouldShowMapButton }
|
|
||||||
/>
|
|
||||||
</Navbar>
|
</Navbar>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user