all repos — caroster @ fe5c5296f58e9109b7c6110aaa12fc6a1b207f78

[Octree] Group carpool to your event https://caroster.io

app/src/containers/CreateEvent/index.js (view raw)

 1import React, {useState, useReducer} from 'react';
 2import {useStrapi} from 'strapi-react-context';
 3
 4// Steps
 5import Step1 from './Step1';
 6import Step2 from './Step2';
 7
 8const steps = [Step1, Step2];
 9
10const eventReducer = (state, item) => ({...state, ...item});
11
12const CreateEvent = () => {
13  const strapi = useStrapi();
14  const [step, setStep] = useState(0);
15  const [event, addToEvent] = useReducer(eventReducer, {});
16  const Step = steps[step];
17
18  const createEvent = async eventData => {
19    try {
20      return await strapi.services.events.create({...event, ...eventData});
21    } catch (err) {
22      console.error(err);
23      return false;
24    }
25  };
26
27  return (
28    <Step
29      event={event}
30      addToEvent={addToEvent}
31      createEvent={createEvent}
32      nextStep={() => setStep(step + 1)}
33      previousStep={() => setStep(step - 1)}
34      id="NewEvent"
35    />
36  );
37};
38
39export default CreateEvent;