all repos — caroster @ 9079b470260a87959da56f303e6682211cb847d1

[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 = props => {
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      {...props}
30      event={event}
31      addToEvent={addToEvent}
32      createEvent={createEvent}
33      nextStep={() => setStep(step + 1)}
34      previousStep={() => setStep(step - 1)}
35      id="NewEvent"
36    />
37  );
38};
39
40export default CreateEvent;