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;