import React, { Component } from 'react';
import * as ReactDOM from 'react-dom';
import Menu from '../components/menu';
import WantGroup from '../components/want-group';
class App extends Component {
constructor(props) {
super(props);
this.state = {
pokemonWantList: [],
};
}
componentDidMount() {
fetch('/api/stored-pokemon-want')
.then(response => response.json())
.then((data) => {
this.setState({ pokemonWantList: data });
});
}
render() {
const { pokemonWantList } = this.state;
const handleEditPokemonClick = wantGroupId => () => {
window.location.href = `/chose.html?type=want&want_group_id=${wantGroupId}`;
};
const handleDeletePokemonClick = wantGroupId => () => {
fetch('api/stored-pokemon-want', {
method: 'DELETE',
body: JSON.stringify({ wantGroupId }),
}).then(response => response.json())
.then((data) => {
this.setState({ pokemonWantList: data });
});
};
const handleAddPokemonClick = () => () => {
fetch('api/stored-pokemon-want', {
method: 'POST',
}).then(response => response.json())
.then((data) => {
this.setState({ pokemonWantList: data });
});
};
const wantGroups = [];
pokemonWantList.forEach((wantGroup) => {
wantGroups.push(<WantGroup
pokemonList={wantGroup.pokemons}
groupId={wantGroup.id}
groupName={wantGroup.group_name}
handleEditPokemonClick={handleEditPokemonClick}
handleDeletePokemonClick={handleDeletePokemonClick}
/>);
});
return (
<div>
<Menu active={1} />
{wantGroups}
<button className="addButton" style={{ fontSize: '10em' }} type="button" onClick={handleAddPokemonClick()}>Add</button>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('main'));