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 (