From 29593b497c6f19b2807c79a8aefce44e66855eb9 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 21 May 2024 14:07:06 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E7=94=BB=E9=9D=A2=E3=81=AE?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Settings/WidgetSettings.js | 122 ++++++++++++++------------ 1 file changed, 65 insertions(+), 57 deletions(-) diff --git a/components/Settings/WidgetSettings.js b/components/Settings/WidgetSettings.js index 20077d3..c4fb501 100644 --- a/components/Settings/WidgetSettings.js +++ b/components/Settings/WidgetSettings.js @@ -12,25 +12,21 @@ import { ListItem } from "native-base"; export const WidgetSettings = ({ navigate }) => { const { JR_shikoku_train_info, Info_Widget } = nameToWidget; + const [time, setTime] = useState(); + const [delayString, setDelayString] = useState(); + const [trainInfo, setTrainInfo] = useState(); const [widgetList, setWidgetList] = useState([]); - useEffect(() => { + const reload = async () => { const d = []; - Object.keys(nameToWidget).forEach((element) => { - const widgetInfo = getWidgetInfo(element); - widgetInfo.then((s) => { - if (s.length > 0) { - s.forEach((elem) => { - console.log(elem); - d.push(elem); - }); - } - }); + const data = await getWidgetInfo("JR_shikoku_train_info"); + data.forEach((elem) => { + d.push(elem.widgetId); }); setWidgetList(d); - }, []); - const [time, setTime] = useState(time); - const [delayString, setDelayString] = useState(delayString); - const [trainInfo, setTrainInfo] = useState(); + }; + + useEffect(reload, []); + useEffect(() => { getDelayData().then(({ time, delayString }) => { setTime(time); @@ -144,48 +140,9 @@ export const WidgetSettings = ({ navigate }) => { 名前 - {widgetList.map((widget) => { - return ( - { - //widget.widgetNameで定義されてないもう一つのウィジェットを選択する - if (widget.widgetName === "Info_Widget") { - AS.setItem( - `widgetType/${widget.widgetId}`, - "JR_shikoku_train_info" - ); - } else { - AS.setItem(`widgetType/${widget.widgetId}`, "Info_Widget"); - } - }} - > - - {widget.widgetId} - - - {widget.widgetName} - - - ); - })} + {widgetList.map((id) => ( + + ))} ( /> ); +const WidgetList = ({ id }) => { + const [widgetConfig, setWidgetConfig] = useState(""); + const reload = () => { + AS.getItem(`widgetType/${id}`) + .then((widgetType) => { + setWidgetConfig(widgetType); + }) + .catch((e) => { + setWidgetConfig("JR_shikoku_train_info"); + }); + }; + useEffect(reload, [id]); + return ( + { + //widget.widgetNameで定義されてないもう一つのウィジェットを選択する + if (widgetConfig === "Info_Widget") { + AS.setItem(`widgetType/${id}`, "JR_shikoku_train_info"); + } else { + AS.setItem(`widgetType/${id}`, "Info_Widget"); + } + reload(); + }} + > + + {id} + + + {widgetConfig} + + + ); +};