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;