Create.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React, {useState} from 'react';
  2. import {Form, Button} from 'react-bootstrap';
  3. import environment from '../../../graphqlEnvironment';
  4. import {createPokemon} from './CreatePokemon';
  5. function onSubmit(e: Event, nickname: string, pokedexNumber: number): void {
  6. e.preventDefault();
  7. createPokemon(environment, nickname, pokedexNumber);
  8. }
  9. const Create: React.FC<void> = (): React.ReactElement<void> => {
  10. const [nickname, setNickname] = useState('');
  11. const [pokedexNumber, setPokedexNumber] = useState(1);
  12. return (
  13. <Form onSubmit={e => onSubmit(e, nickname, pokedexNumber)}>
  14. <Form.Group controlId='nickname'>
  15. <Form.Label>Nickname</Form.Label>
  16. <Form.Control onChange={e => setNickname(e.target.value)} placeholder='Pokemon Nickname' />
  17. </Form.Group>
  18. <Form.Group controlId='pokedexNumber'>
  19. <Form.Label>National Pokedex Number</Form.Label>
  20. <Form.Control
  21. max={809}
  22. min={1}
  23. onChange={e => setPokedexNumber(e.target.value)}
  24. placeholder='Nation Pokedex Number'
  25. type='number'
  26. />
  27. </Form.Group>
  28. <Button type='submit' variant='primary'>
  29. Submit
  30. </Button>
  31. </Form>
  32. );
  33. };
  34. export default Create;