all repos — caroster @ 3356b91f06973f52b8c12ba294de3a76705d3162

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