1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 10:30:04 +01:00
metamask-extension/ui/pages/settings/networks-tab/networks-tab-content/networks-tab-content.js

53 lines
1.6 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom';
import NetworksForm from '../networks-form';
import NetworksList from '../networks-list';
import { getProvider } from '../../../../selectors';
import {
DEFAULT_ROUTE,
NETWORKS_ROUTE,
} from '../../../../helpers/constants/routes';
const NetworksTabContent = ({
networkDefaultedToProvider,
networkIsSelected,
networksToRender,
selectedNetwork,
shouldRenderNetworkForm,
}) => {
const provider = useSelector(getProvider);
const history = useHistory();
return (
<>
<NetworksList
networkDefaultedToProvider={networkDefaultedToProvider}
networkIsSelected={networkIsSelected}
networksToRender={networksToRender}
selectedNetworkConfigurationId={selectedNetwork.networkConfigurationId}
/>
{shouldRenderNetworkForm ? (
<NetworksForm
isCurrentRpcTarget={provider.rpcUrl === selectedNetwork.rpcUrl}
networksToRender={networksToRender}
selectedNetwork={selectedNetwork}
submitCallback={() => history.push(DEFAULT_ROUTE)}
cancelCallback={() => history.push(NETWORKS_ROUTE)}
/>
) : null}
</>
);
};
NetworksTabContent.propTypes = {
networkDefaultedToProvider: PropTypes.bool,
networkIsSelected: PropTypes.bool,
networksToRender: PropTypes.arrayOf(PropTypes.object).isRequired,
selectedNetwork: PropTypes.object,
shouldRenderNetworkForm: PropTypes.bool.isRequired,
};
export default NetworksTabContent;