diff --git a/app/soapbox/features/ui/util/react_router_helpers.tsx b/app/soapbox/features/ui/util/react_router_helpers.tsx index b7dbdb1923..992a60e2bc 100644 --- a/app/soapbox/features/ui/util/react_router_helpers.tsx +++ b/app/soapbox/features/ui/util/react_router_helpers.tsx @@ -13,6 +13,7 @@ import BundleContainer from '../containers/bundle_container'; type PageProps = { params?: MatchType['params'], layout?: any, + children: React.ReactNode, }; interface IWrappedRoute extends RouteProps { diff --git a/app/soapbox/pages/status_page.js b/app/soapbox/pages/status_page.js deleted file mode 100644 index e4ff9955e9..0000000000 Binary files a/app/soapbox/pages/status_page.js and /dev/null differ diff --git a/app/soapbox/pages/status_page.tsx b/app/soapbox/pages/status_page.tsx new file mode 100644 index 0000000000..2c35947ad0 --- /dev/null +++ b/app/soapbox/pages/status_page.tsx @@ -0,0 +1,57 @@ +import React from 'react'; + +import LinkFooter from 'soapbox/features/ui/components/link_footer'; +import { + WhoToFollowPanel, + TrendsPanel, + SignUpPanel, + CtaBanner, +} from 'soapbox/features/ui/util/async-components'; +import { useAppSelector, useFeatures } from 'soapbox/hooks'; + +import { Layout } from '../components/ui'; +import BundleContainer from '../features/ui/containers/bundle_container'; + +interface IStatusPage { + children: React.ReactNode, +} + +const StatusPage: React.FC = ({ children }) => { + const me = useAppSelector(state => state.me); + const features = useFeatures(); + + return ( + <> + + {children} + + {!me && ( + + {Component => } + + )} + + + + {!me && ( + + {Component => } + + )} + {features.trends && ( + + {Component => } + + )} + {features.suggestions && ( + + {Component => } + + )} + + + + ); +}; + +export default StatusPage;