lodアドレス追加に伴うお気に入り機能のマイグレーション

This commit is contained in:
harukin-expo-dev-env
2024-09-01 07:54:42 +00:00
parent ff9faf939e
commit bbc7db6e69
3 changed files with 29 additions and 2 deletions

View File

@@ -12,10 +12,12 @@ import { getStationList } from "../lib/getStationList";
type initialStateType = {
originalStationList: any[];
setOriginalStationList: React.Dispatch<React.SetStateAction<any[]>>;
getStationData: (id: string) => void;
};
const initialState = {
originalStationList: [],
setOriginalStationList: () => {},
getStationData: () => {},
};
const StationListContext = createContext<initialStateType>(initialState);
@@ -31,10 +33,22 @@ export const StationListProvider: FC<Props> = ({ children }) => {
useEffect(() => {
getStationList().then(setOriginalStationList);
}, []);
const getStationData: (name: string) => void = (name) => {
const returnArray = [];
Object.keys(originalStationList).forEach((key) => {
originalStationList[key].forEach((station) => {
if (station.Station_JP === name) {
if(!!station.jslodApi)returnArray.push(station);
}
});
});
return returnArray;
};
return (
<StationListContext.Provider
value={{ originalStationList, setOriginalStationList }}
value={{ originalStationList, setOriginalStationList, getStationData }}
>
{children}
</StationListContext.Provider>