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 />
36 );
37};
38
39export default CreateEvent;