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