import React from 'react'; import { connect } from 'react-redux'; import ImmutablePureComponent from 'react-immutable-pure-component'; import BundleContainer from 'soapbox/features/ui/containers/bundle_container'; import { PromoPanel, FeaturesPanel, InstanceInfoPanel, InstanceModerationPanel, } from 'soapbox/features/ui/util/async-components'; import LinkFooter from 'soapbox/features/ui/components/link_footer'; import { federationRestrictionsDisclosed } from 'soapbox/utils/state'; import { isAdmin } from 'soapbox/utils/accounts'; const mapStateToProps = state => { const me = state.get('me'); const account = state.getIn(['accounts', me]); return { me, disclosed: federationRestrictionsDisclosed(state), isAdmin: isAdmin(account), }; }; export default @connect(mapStateToProps) class RemoteInstancePage extends ImmutablePureComponent { render() { const { me, children, params: { instance: host }, disclosed, isAdmin } = this.props; return (
{Component => } {(disclosed || isAdmin) && ( {Component => } )}
{children}
{me && ( {Component => } )} {Component => }
); } }