Merge commit '06eca9ed8ae405b2b0529fe8cfbc195af4eb4844' into develop
This commit is contained in:
commit
51a75a6058
11
Apps.js
11
Apps.js
@ -11,9 +11,9 @@ import "./components/ActionSheetComponents/sheets";
|
|||||||
|
|
||||||
export function AppContainer() {
|
export function AppContainer() {
|
||||||
const Tab = createBottomTabNavigator();
|
const Tab = createBottomTabNavigator();
|
||||||
const { areaInfo, areaIconBadgeText } = useAreaInfo();
|
const { areaInfo, areaIconBadgeText, isInfo } = useAreaInfo();
|
||||||
const navigationRef = React.useRef();
|
const navigationRef = React.useRef();
|
||||||
const getTabProps = (name, label, icon, iconFamily, tabBarBadge) => ({
|
const getTabProps = (name, label, icon, iconFamily, tabBarBadge, style) => ({
|
||||||
name,
|
name,
|
||||||
options: {
|
options: {
|
||||||
tabBarLabel: label,
|
tabBarLabel: label,
|
||||||
@ -21,6 +21,7 @@ export function AppContainer() {
|
|||||||
gestureEnabled: true,
|
gestureEnabled: true,
|
||||||
tabBarIcon: initIcon(icon, iconFamily),
|
tabBarIcon: initIcon(icon, iconFamily),
|
||||||
tabBarBadge,
|
tabBarBadge,
|
||||||
|
tabBarBadgeStyle: style,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
return (
|
return (
|
||||||
@ -45,7 +46,11 @@ export function AppContainer() {
|
|||||||
"運行情報",
|
"運行情報",
|
||||||
"train",
|
"train",
|
||||||
"Ionicons",
|
"Ionicons",
|
||||||
areaInfo ? areaIconBadgeText : undefined
|
areaInfo ? areaIconBadgeText : undefined,
|
||||||
|
isInfo && {
|
||||||
|
backgroundColor: "#00b8ff",
|
||||||
|
color: "white",
|
||||||
|
}
|
||||||
)}
|
)}
|
||||||
children={(props) => <TNDView {...props} />}
|
children={(props) => <TNDView {...props} />}
|
||||||
/>
|
/>
|
||||||
|
@ -316,6 +316,7 @@ export const AreaInfoProvider = ({ children }) => {
|
|||||||
const [areaInfo, setAreaInfo] = useState("");
|
const [areaInfo, setAreaInfo] = useState("");
|
||||||
const [areaIconBadgeText, setAreaIconBadgeText] = useState("");
|
const [areaIconBadgeText, setAreaIconBadgeText] = useState("");
|
||||||
const [areaStationID, setAreaStationID] = useState([]);
|
const [areaStationID, setAreaStationID] = useState([]);
|
||||||
|
const [isInfo, setIsInfo] = useState(false);
|
||||||
const getAreaData = () => {
|
const getAreaData = () => {
|
||||||
fetch(
|
fetch(
|
||||||
"https://script.google.com/macros/s/AKfycbz80LcaEUrhnlEsLkJy0LG2IRO3DBVQhfNmN1d_0f_HvtsujNQpxM90SrV9yKWH_JG1Ww/exec"
|
"https://script.google.com/macros/s/AKfycbz80LcaEUrhnlEsLkJy0LG2IRO3DBVQhfNmN1d_0f_HvtsujNQpxM90SrV9yKWH_JG1Ww/exec"
|
||||||
@ -326,28 +327,41 @@ export const AreaInfoProvider = ({ children }) => {
|
|||||||
.then((d) => d.json())
|
.then((d) => d.json())
|
||||||
.then((d) => {
|
.then((d) => {
|
||||||
if (!d.data) return;
|
if (!d.data) return;
|
||||||
const text = d.data
|
const lineInfo = d.data.filter((e) => e.area != "genelic");
|
||||||
|
const genelicInfo = d.data.filter((e) => e.area == "genelic");
|
||||||
|
const text = lineInfo
|
||||||
.filter((e) => e.status)
|
.filter((e) => e.status)
|
||||||
.map((e) => {
|
.map((e) => {
|
||||||
return `${areaStationPair[e.area].id}`;
|
return `${areaStationPair[e.area].id}`;
|
||||||
});
|
});
|
||||||
let stationIDList = [];
|
let stationIDList = [];
|
||||||
d.data
|
lineInfo
|
||||||
.filter((e) => e.status)
|
.filter((e) => e.status)
|
||||||
.forEach((e) => {
|
.forEach((e) => {
|
||||||
stationIDList = stationIDList.concat(
|
stationIDList = stationIDList.concat(
|
||||||
areaStationPair[e.area].stationID
|
areaStationPair[e.area].stationID
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
const info = genelicInfo[0].status.includes("nodelay") ? true : false;
|
||||||
|
setIsInfo(info);
|
||||||
setAreaStationID(stationIDList);
|
setAreaStationID(stationIDList);
|
||||||
setAreaIconBadgeText(text.length == 0 ? "!" : text.join(","));
|
setAreaIconBadgeText(
|
||||||
|
text.length == 0 ? (info ? "i" : "!") : text.join(",")
|
||||||
|
);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
useEffect(getAreaData, []);
|
useEffect(getAreaData, []);
|
||||||
useInterval(getAreaData, 60000); //60秒毎に全在線列車取得
|
useInterval(getAreaData, 60000); //60秒毎に全在線列車取得
|
||||||
return (
|
return (
|
||||||
<AreaInfoContext.Provider
|
<AreaInfoContext.Provider
|
||||||
value={{ areaInfo, setAreaInfo, areaIconBadgeText, areaStationID }}
|
value={{
|
||||||
|
areaInfo,
|
||||||
|
setAreaInfo,
|
||||||
|
areaIconBadgeText,
|
||||||
|
areaStationID,
|
||||||
|
isInfo,
|
||||||
|
setIsInfo,
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</AreaInfoContext.Provider>
|
</AreaInfoContext.Provider>
|
||||||
|
Loading…
Reference in New Issue
Block a user