Files
jrshikoku/stateBox/useAllTrainDiagram.js
harukin-expo-dev-env a87b29e961 列車ダイヤも移動
2024-03-27 14:35:49 +00:00

61 lines
1.6 KiB
JavaScript

import React, { createContext, useContext, useEffect, useState } from "react";
const initialState = {
allTrainDiagram: undefined,
setAllTrainDiagram: () => {},
};
const AllTrainDiagramContext = createContext(initialState);
export const useAllTrainDiagram = () => {
return useContext(AllTrainDiagramContext);
};
export const AllTrainDiagramProvider = ({ children }) => {
const [allTrainDiagram, setAllTrainDiagram] = useState();
const customData = {};
useEffect(() => {
fetch(
"http://n8n.haruk.in/webhook/CrowdTh%E2%82%AC71m3Ra7!ngLead%E2%82%ACr$"
)
.then((res) => res.json())
.then((res) => {
const data = {};
res.forEach((d) => {
const keys = Object.keys(d);
data[keys] = d[keys];
});
return data;
})
.then((res) => {
Object.assign(res, customData);
setAllTrainDiagram(res);
})
.catch((d) => {
fetch(
"https://script.google.com/macros/s/AKfycbx_s7RB-xTy-iAslFJg7LfplLV09-hjDXEjdi9kCP_JT45wq17Af_IPOKIOqIfaNDg/exec"
)
.then((res) => res.json())
.then((res) => {
const data = {};
res.forEach((d) => {
const keys = Object.keys(d);
data[keys] = d[keys];
});
return data;
})
.then((res) => {
Object.assign(res, customData);
setAllTrainDiagram(res);
});
});
}, []);
return (
<AllTrainDiagramContext.Provider
value={{ allTrainDiagram, setAllTrainDiagram }}
>
{children}
</AllTrainDiagramContext.Provider>
);
};