ウィジェットのコア作成
This commit is contained in:
@@ -5,13 +5,16 @@ import { CheckBox } from "react-native-elements";
|
||||
import { TripleSwitchArea } from "../atom/TripleSwitchArea";
|
||||
import { getWidgetInfo, WidgetPreview } from "react-native-android-widget";
|
||||
import { TraInfoEXWidget } from "../AndroidWidget/TraInfoEXWidget";
|
||||
import { AS } from "../../storageControl";
|
||||
import {
|
||||
getDelayData,
|
||||
nameToWidget,
|
||||
getInfoString,
|
||||
} from "../AndroidWidget/widget-task-handler";
|
||||
import { ListItem } from "native-base";
|
||||
|
||||
export const WidgetSettings = ({ navigate }) => {
|
||||
const { JR_shikoku_train_info, Info_Widget } = nameToWidget;
|
||||
const [widgetList, setWidgetList] = useState([]);
|
||||
useEffect(() => {
|
||||
const d = [];
|
||||
@@ -28,14 +31,18 @@ export const WidgetSettings = ({ navigate }) => {
|
||||
});
|
||||
setWidgetList(d);
|
||||
}, []);
|
||||
|
||||
const [time, setTime] = useState(time);
|
||||
const [delayString, setDelayString] = useState(delayString);
|
||||
const [trainInfo, setTrainInfo] = useState();
|
||||
useEffect(() => {
|
||||
getDelayData().then(({ time, delayString }) => {
|
||||
setTime(time);
|
||||
setDelayString(delayString);
|
||||
});
|
||||
getInfoString().then(({ time, text }) => {
|
||||
setTime(time);
|
||||
setTrainInfo(text);
|
||||
});
|
||||
}, []);
|
||||
return (
|
||||
<View style={{ height: "100%", backgroundColor: "#0099CC" }}>
|
||||
@@ -90,18 +97,31 @@ export const WidgetSettings = ({ navigate }) => {
|
||||
margin: 10,
|
||||
}}
|
||||
>
|
||||
{Object.keys(nameToWidget).map((Name) => {
|
||||
const Data = nameToWidget[Name];
|
||||
return (
|
||||
<WidgetPreview
|
||||
renderWidget={() => (
|
||||
<Data time={time} delayString={delayString} />
|
||||
)}
|
||||
width={400}
|
||||
height={250}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
<WidgetPreview
|
||||
renderWidget={() => (
|
||||
<JR_shikoku_train_info time={time} delayString={delayString} />
|
||||
)}
|
||||
width={400}
|
||||
height={250}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
style={{
|
||||
borderRadius: 15,
|
||||
borderColor: "black",
|
||||
borderWidth: 5,
|
||||
borderStyle: "solid",
|
||||
overflow: "hidden",
|
||||
margin: 10,
|
||||
}}
|
||||
>
|
||||
<WidgetPreview
|
||||
renderWidget={() => (
|
||||
<Info_Widget time={time} delayString={trainInfo} />
|
||||
)}
|
||||
width={400}
|
||||
height={250}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<ListItem key={"default"}>
|
||||
@@ -129,33 +149,48 @@ export const WidgetSettings = ({ navigate }) => {
|
||||
名前
|
||||
</Text>
|
||||
</ListItem>
|
||||
{widgetList.map((widget) => (
|
||||
<ListItem key={widget.widgetId}>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 20,
|
||||
alignItems: "center",
|
||||
alignContent: "center",
|
||||
textAlign: "center",
|
||||
textAlignVertical: "center",
|
||||
marginRight: 10,
|
||||
{widgetList.map((widget) => {
|
||||
return (
|
||||
<ListItem
|
||||
key={widget.widgetId}
|
||||
onPress={() => {
|
||||
//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}
|
||||
</Text>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 20,
|
||||
alignItems: "center",
|
||||
alignContent: "center",
|
||||
textAlign: "center",
|
||||
textAlignVertical: "center",
|
||||
}}
|
||||
>
|
||||
{widget.widgetName}
|
||||
</Text>
|
||||
</ListItem>
|
||||
))}
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 20,
|
||||
alignItems: "center",
|
||||
alignContent: "center",
|
||||
textAlign: "center",
|
||||
textAlignVertical: "center",
|
||||
marginRight: 10,
|
||||
}}
|
||||
>
|
||||
{widget.widgetId}
|
||||
</Text>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 20,
|
||||
alignItems: "center",
|
||||
alignContent: "center",
|
||||
textAlign: "center",
|
||||
textAlignVertical: "center",
|
||||
}}
|
||||
>
|
||||
{widget.widgetName}
|
||||
</Text>
|
||||
</ListItem>
|
||||
);
|
||||
})}
|
||||
</ScrollView>
|
||||
<Text
|
||||
style={{
|
||||
|
Reference in New Issue
Block a user