import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import Modal from '@material-ui/core/Modal';
import PokemonList from './pokemon-list';
function getModalStyle() {
const top = 50;
const left = 50;
return {
top: `${top}%`,
left: `${left}%`,
transform: `translate(-${top}%, -${left}%)`,
};
}
const useStyles = makeStyles(theme => ({
paper: {
position: 'absolute',
width: '80%',
height: '90%',
backgroundColor: theme.palette.background.paper,
border: '2px solid #000',
boxShadow: theme.shadows[5],
padding: theme.spacing(2, 4, 3),
overflow: 'scroll',
},
}));
export default function VariationModal(props) {
const classes = useStyles();
// getModalStyle is not a pure function, we roll the style only on the first render
const [modalStyle] = React.useState(getModalStyle);
const {
pokemonVariationList,
onDeselectPokemon,
open,
onSelectPokemon,
} = props;
const body = (
<div style={modalStyle} className={classes.paper}>
<PokemonList pokemonList={pokemonVariationList} onSelectPokemon={onSelectPokemon} />
</div>
);
return (
<div>
<Modal
open={open}
onClose={onDeselectPokemon}
aria-labelledby="simple-modal-title"
aria-describedby="simple-modal-description"
>
{body}
</Modal>
</div>
);
}