import {
Avatar,
List,
ListItem,
ListItemAvatar,
ListItemText,
DialogTitle,
Dialog,
DialogActions,
Button,
DialogContent,
makeStyles,
CircularProgress,
} from '@material-ui/core';
import AddIcon from '@material-ui/icons/Add';
import { useState } from 'react';
import SearchIcon from '@material-ui/icons/Search';
import { ExtendedProviderStatus } from 'models/apiModel';
import {
useAllProviders,
useAppDispatch,
useIsRpcEndpointBusy,
} from 'store/hooks';
import { setSelectedProvider } from 'store/features/providersSlice';
import { RpcMethod } from 'models/rpcModel';
import ProviderSubmitDialog from './ProviderSubmitDialog';
import ListSellersDialog from '../listSellers/ListSellersDialog';
import ProviderInfo from './ProviderInfo';
const useStyles = makeStyles({
dialogContent: {
padding: 0,
},
});
type ProviderSelectDialogProps = {
open: boolean;
onClose: () => void;
};
export function ProviderSubmitDialogOpenButton() {
const [open, setOpen] = useState(false);
return (
{
// Prevents background from being clicked and reopening dialog
if (!open) {
setOpen(true);
}
}}
>
setOpen(false)} />
);
}
export function ListSellersDialogOpenButton() {
const [open, setOpen] = useState(false);
const running = useIsRpcEndpointBusy(RpcMethod.LIST_SELLERS);
return (
{
// Prevents background from being clicked and reopening dialog
if (!open) {
setOpen(true);
}
}}
>
setOpen(false)} />
{running ? : }
);
}
export default function ProviderListDialog({
open,
onClose,
}: ProviderSelectDialogProps) {
const classes = useStyles();
const providers = useAllProviders();
const dispatch = useAppDispatch();
function handleProviderChange(provider: ExtendedProviderStatus) {
dispatch(setSelectedProvider(provider));
onClose();
}
return (
);
}