diff --git a/app/soapbox/pages/default_page.js b/app/soapbox/pages/default_page.js deleted file mode 100644 index 05ae7d2d5..000000000 --- a/app/soapbox/pages/default_page.js +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import { connect } from 'react-redux'; - -import SidebarNavigation from 'soapbox/components/sidebar-navigation'; -import LinkFooter from 'soapbox/features/ui/components/link_footer'; -import BundleContainer from 'soapbox/features/ui/containers/bundle_container'; -import { - WhoToFollowPanel, - TrendsPanel, - SignUpPanel, -} from 'soapbox/features/ui/util/async-components'; -import { getFeatures } from 'soapbox/utils/features'; - -import { Layout } from '../components/ui'; - -const mapStateToProps = state => { - const me = state.get('me'); - const features = getFeatures(state.get('instance')); - - return { - me, - showTrendsPanel: features.trends, - showWhoToFollowPanel: features.suggestions, - }; -}; - -export default @connect(mapStateToProps) -class DefaultPage extends ImmutablePureComponent { - - render() { - const { me, children, showTrendsPanel, showWhoToFollowPanel } = this.props; - - return ( - - - - - - - {children} - - - - {!me && ( - - {Component => } - - )} - {showTrendsPanel && ( - - {Component => } - - )} - {showWhoToFollowPanel && ( - - {Component => } - - )} - - - - ); - } - -} diff --git a/app/soapbox/pages/default_page.tsx b/app/soapbox/pages/default_page.tsx new file mode 100644 index 000000000..90106d2c8 --- /dev/null +++ b/app/soapbox/pages/default_page.tsx @@ -0,0 +1,51 @@ +import React from 'react'; + +import SidebarNavigation from 'soapbox/components/sidebar-navigation'; +import LinkFooter from 'soapbox/features/ui/components/link_footer'; +import BundleContainer from 'soapbox/features/ui/containers/bundle_container'; +import { + WhoToFollowPanel, + TrendsPanel, + SignUpPanel, +} from 'soapbox/features/ui/util/async-components'; +import { useAppSelector, useFeatures } from 'soapbox/hooks'; + +import { Layout } from '../components/ui'; + +const DefaultPage: React.FC = ({ children }) => { + const me = useAppSelector(state => state.me); + const features = useFeatures(); + + return ( + + + + + + + {children} + + + + {!me && ( + + {Component => } + + )} + {features.trends && ( + + {Component => } + + )} + {features.suggestions && ( + + {Component => } + + )} + + + + ); +}; + +export default DefaultPage;