From f08ca3f04289e3a258e8bff772177c20906930c3 Mon Sep 17 00:00:00 2001 From: Renaud Chaput <renchap@gmail.com> Date: Tue, 24 Oct 2023 22:43:06 +0200 Subject: [PATCH] Fix missing icon props (#27539) --- app/javascript/mastodon/components/icon.tsx | 4 +++- app/javascript/mastodon/features/follow_requests/index.jsx | 3 ++- .../mastodon/features/ui/components/column_header.jsx | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/components/icon.tsx b/app/javascript/mastodon/components/icon.tsx index d53675e41..dbf583960 100644 --- a/app/javascript/mastodon/components/icon.tsx +++ b/app/javascript/mastodon/components/icon.tsx @@ -25,7 +25,9 @@ export const Icon: React.FC<Props> = ({ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (!IconComponent) { if (process.env.NODE_ENV !== 'production') { - throw new Error(`<Icon id="${id}"> is missing an "icon" prop.`); + throw new Error( + `<Icon id="${id}" className="${className}"> is missing an "icon" prop.`, + ); } IconComponent = CheckBoxOutlineBlankIcon; diff --git a/app/javascript/mastodon/features/follow_requests/index.jsx b/app/javascript/mastodon/features/follow_requests/index.jsx index 796254e0e..8e17607fd 100644 --- a/app/javascript/mastodon/features/follow_requests/index.jsx +++ b/app/javascript/mastodon/features/follow_requests/index.jsx @@ -8,6 +8,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { connect } from 'react-redux'; +import { ReactComponent as PersonAddIcon } from '@material-symbols/svg-600/outlined/person_add.svg'; import { debounce } from 'lodash'; import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts'; @@ -67,7 +68,7 @@ class FollowRequests extends ImmutablePureComponent { ); return ( - <Column bindToDocument={!multiColumn} icon='user-plus' heading={intl.formatMessage(messages.heading)}> + <Column bindToDocument={!multiColumn} icon='user-plus' iconComponent={PersonAddIcon} heading={intl.formatMessage(messages.heading)}> <ColumnBackButtonSlim /> <ScrollableList scrollKey='follow_requests' diff --git a/app/javascript/mastodon/features/ui/components/column_header.jsx b/app/javascript/mastodon/features/ui/components/column_header.jsx index 7c0c32c63..5478e8a41 100644 --- a/app/javascript/mastodon/features/ui/components/column_header.jsx +++ b/app/javascript/mastodon/features/ui/components/column_header.jsx @@ -9,6 +9,7 @@ export default class ColumnHeader extends PureComponent { static propTypes = { icon: PropTypes.string, + iconComponent: PropTypes.func, type: PropTypes.string, active: PropTypes.bool, onClick: PropTypes.func, @@ -20,11 +21,11 @@ export default class ColumnHeader extends PureComponent { }; render () { - const { icon, type, active, columnHeaderId } = this.props; + const { icon, iconComponent, type, active, columnHeaderId } = this.props; let iconElement = ''; if (icon) { - iconElement = <Icon id={icon} className='column-header__icon' />; + iconElement = <Icon id={icon} icon={iconComponent} className='column-header__icon' />; } return (