Use React Router Link in MenuLink

virtualized-window
Justin 3 years ago
parent 526afe6779
commit 12ed6889a4

@ -9,6 +9,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import InlineSVG from 'react-inlinesvg'; import InlineSVG from 'react-inlinesvg';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import { openModal } from 'soapbox/actions/modals'; import { openModal } from 'soapbox/actions/modals';
import Avatar from 'soapbox/components/avatar'; import Avatar from 'soapbox/components/avatar';
@ -612,8 +613,7 @@ class Header extends ImmutablePureComponent {
return <MenuDivider key={idx} />; return <MenuDivider key={idx} />;
} else { } else {
const Comp = menuItem.action ? MenuItem : MenuLink; const Comp = menuItem.action ? MenuItem : MenuLink;
// TODO: Add `as: Link` once React Router is upgraded. const itemProps = menuItem.action ? { onSelect: menuItem.action } : { to: menuItem.to, as: Link, target: menuItem.newTab ? '_blank' : '_self' };
const itemProps = menuItem.action ? { onSelect: menuItem.action } : { to: menuItem.to, target: menuItem.newTab ? '_blank' : '_self' };
return ( return (
<Comp key={idx} {...itemProps} className='group'> <Comp key={idx} {...itemProps} className='group'>

@ -2,6 +2,7 @@ import throttle from 'lodash/throttle';
import React from 'react'; import React from 'react';
import { defineMessages, useIntl } from 'react-intl'; import { defineMessages, useIntl } from 'react-intl';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
import { Link } from 'react-router-dom';
import { logOut, switchAccount } from 'soapbox/actions/auth'; import { logOut, switchAccount } from 'soapbox/actions/auth';
import { fetchOwnAccounts } from 'soapbox/actions/auth'; import { fetchOwnAccounts } from 'soapbox/actions/auth';
@ -115,7 +116,7 @@ const ProfileDropdown: React.FC<IProfileDropdown> = ({ account, children }) => {
return <MenuDivider key={idx} />; return <MenuDivider key={idx} />;
} else { } else {
const Comp: any = menuItem.action ? MenuItem : MenuLink; const Comp: any = menuItem.action ? MenuItem : MenuLink;
const itemProps = menuItem.action ? { onSelect: menuItem.action } : { href: menuItem.to }; const itemProps = menuItem.action ? { onSelect: menuItem.action } : { to: menuItem.to, as: Link };
return ( return (
<Comp key={idx} {...itemProps}> <Comp key={idx} {...itemProps}>

Loading…
Cancel
Save