all repos — caroster @ 5e8e733260b14981ad8e58b25fa4182e769b73c1

[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;