Facebook
From Mustard Bongo, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 62
  1. import React from 'react';
  2. import { useFormik } from 'formik'
  3. import store from './Store'
  4. const { uuid } = require('uuidv4')
  5. const AddTodoForm = () => {
  6.     const handleSubmit = () => {
  7.         store.dispatch({
  8.             type: "ADD_TODO", payload: {
  9.                 todo: {
  10.                     ...formik.values,
  11.                     started: false,
  12.                     status: 'Todo',
  13.                     id: uuid(),
  14.                     minutes: formik.values.minutes ? formik.values.minutes : 0,
  15.                     seconds: formik.values.seconds ? formik.values.seconds : 0
  16.                 }
  17.             }
  18.         })
  19.         formik.resetForm()
  20.     }
  21.     const formik = useFormik({
  22.         initialValues: {
  23.             minutes: '',
  24.             seconds: '',
  25.             description: '',
  26.  
  27.         },
  28.         onSubmit: handleSubmit
  29.     })
  30.     return (
  31.         <form className="addTodoForm" onSubmit={formik.handleSubmit}>
  32.             <h2>Add a Task</h2>
  33.             <div className='inputContainer'>
  34.                 <label htmlFor="minutes">minutes:</label>
  35.                 <input type="number" max='59' min='0'
  36.                     value={formik.values.minutes}
  37.                     name='minutes'
  38.                     id='minutes'
  39.                     onChange={formik.handleChange} />
  40.             </div>
  41.             <div className='inputContainer'>
  42.                 <label htmlFor="seconds">seconds:</label>
  43.                 <input type="number" max='59' min='0'
  44.                     onChange={formik.handleChange}
  45.                     value={formik.values.seconds}
  46.                     name='seconds'
  47.                     id='seconds' />
  48.             </div>
  49.             <div className='inputContainer'>
  50.                 <label htmlFor="description">description:</label>
  51.                 <input type="text"
  52.                     onChange={formik.handleChange}
  53.                     value={formik.values.description}
  54.                     name='description'
  55.                     id='description' />
  56.             </div>
  57.             <button type="submit" className='btn submitForm'> submit</button>
  58.  
  59.  
  60.         </form>
  61.     );
  62. }
  63.  
  64. export default AddTodoForm;