diff --git a/src/features/ui/index.tsx b/src/features/ui/index.tsx index b103da78d..7cbd68495 100644 --- a/src/features/ui/index.tsx +++ b/src/features/ui/index.tsx @@ -25,6 +25,7 @@ import DefaultPage from 'soapbox/pages/default-page'; import EmptyPage from 'soapbox/pages/empty-page'; import EventPage from 'soapbox/pages/event-page'; import EventsPage from 'soapbox/pages/events-page'; +import ExternalLoginPage from 'soapbox/pages/external-login-page'; import GroupPage from 'soapbox/pages/group-page'; import GroupsPage from 'soapbox/pages/groups-page'; import HomePage from 'soapbox/pages/home-page'; @@ -336,7 +337,7 @@ const SwitchingColumnsArea: React.FC = ({ children }) => )} - + diff --git a/src/pages/external-login-page.tsx b/src/pages/external-login-page.tsx new file mode 100644 index 000000000..aa4fc748d --- /dev/null +++ b/src/pages/external-login-page.tsx @@ -0,0 +1,50 @@ +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 { isStandalone } from 'soapbox/utils/state'; + +import { Layout } from '../components/ui'; + +interface IExternalLoginPage { + children: React.ReactNode; +} + +const ExternalLoginPage: React.FC = ({ children }) => { + const me = useAppSelector(state => state.me); + const features = useFeatures(); + const standalone = useAppSelector(isStandalone); + + return ( + <> + + {children} + + {!me && ( + + )} + + + + {!me && !standalone && ( + + )} + {features.trends && ( + + )} + {me && features.suggestions && ( + + )} + + + + ); +}; + +export { ExternalLoginPage as default };