import React, { useContext, useMemo } from 'react'; import { Grid, Select, MenuItem, Box, Tooltip, Typography, type SelectChangeEvent, CircularProgress, } from '@mui/material'; import RobotAvatar from '../RobotAvatar'; import { AppContext, type UseAppStoreType } from '../../contexts/AppContext'; import { useTheme } from '@emotion/react'; import { useTranslation } from 'react-i18next'; import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext'; interface SelectCoordinatorProps { coordinatorAlias: string; setCoordinator: (coordinatorAlias: string) => void; } const SelectCoordinator: React.FC = ({ coordinatorAlias, setCoordinator, }) => { const { setOpen } = useContext(AppContext); const { federation, sortedCoordinators, coordinatorUpdatedAt } = useContext(FederationContext); const theme = useTheme(); const { t } = useTranslation(); const onClickCurrentCoordinator = function (shortAlias: string): void { setOpen((open) => { return { ...open, coordinator: shortAlias }; }); }; const handleCoordinatorChange = (e: SelectChangeEvent): void => { setCoordinator(e.target.value); }; const coordinator = useMemo( () => federation.getCoordinator(coordinatorAlias), [coordinatorUpdatedAt], ); return (  {t('Order Host')} { onClickCurrentCoordinator(coordinatorAlias); }} > {(coordinator?.info === undefined || Object.keys(coordinator?.limits).length === 0) && ( )} ); }; export default SelectCoordinator;