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() {
|
||||
const Tab = createBottomTabNavigator();
|
||||
const { areaInfo, areaIconBadgeText } = useAreaInfo();
|
||||
const { areaInfo, areaIconBadgeText, isInfo } = useAreaInfo();
|
||||
const navigationRef = React.useRef();
|
||||
const getTabProps = (name, label, icon, iconFamily, tabBarBadge) => ({
|
||||
const getTabProps = (name, label, icon, iconFamily, tabBarBadge, style) => ({
|
||||
name,
|
||||
options: {
|
||||
tabBarLabel: label,
|
||||
@ -21,6 +21,7 @@ export function AppContainer() {
|
||||
gestureEnabled: true,
|
||||
tabBarIcon: initIcon(icon, iconFamily),
|
||||
tabBarBadge,
|
||||
tabBarBadgeStyle: style,
|
||||
},
|
||||
});
|
||||
return (
|
||||
@ -45,7 +46,11 @@ export function AppContainer() {
|
||||
"運行情報",
|
||||
"train",
|
||||
"Ionicons",
|
||||
areaInfo ? areaIconBadgeText : undefined
|
||||
areaInfo ? areaIconBadgeText : undefined,
|
||||
isInfo && {
|
||||
backgroundColor: "#00b8ff",
|
||||
color: "white",
|
||||
}
|
||||
)}
|
||||
children={(props) => <TNDView {...props} />}
|
||||
/>
|
||||
|
@ -316,6 +316,7 @@ export const AreaInfoProvider = ({ children }) => {
|
||||
const [areaInfo, setAreaInfo] = useState("");
|
||||
const [areaIconBadgeText, setAreaIconBadgeText] = useState("");
|
||||
const [areaStationID, setAreaStationID] = useState([]);
|
||||
const [isInfo, setIsInfo] = useState(false);
|
||||
const getAreaData = () => {
|
||||
fetch(
|
||||
"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) => {
|
||||
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)
|
||||
.map((e) => {
|
||||
return `${areaStationPair[e.area].id}`;
|
||||
});
|
||||
let stationIDList = [];
|
||||
d.data
|
||||
lineInfo
|
||||
.filter((e) => e.status)
|
||||
.forEach((e) => {
|
||||
stationIDList = stationIDList.concat(
|
||||
areaStationPair[e.area].stationID
|
||||
);
|
||||
});
|
||||
const info = genelicInfo[0].status.includes("nodelay") ? true : false;
|
||||
setIsInfo(info);
|
||||
setAreaStationID(stationIDList);
|
||||
setAreaIconBadgeText(text.length == 0 ? "!" : text.join(","));
|
||||
setAreaIconBadgeText(
|
||||
text.length == 0 ? (info ? "i" : "!") : text.join(",")
|
||||
);
|
||||
});
|
||||
};
|
||||
useEffect(getAreaData, []);
|
||||
useInterval(getAreaData, 60000); //60秒毎に全在線列車取得
|
||||
return (
|
||||
<AreaInfoContext.Provider
|
||||
value={{ areaInfo, setAreaInfo, areaIconBadgeText, areaStationID }}
|
||||
value={{
|
||||
areaInfo,
|
||||
setAreaInfo,
|
||||
areaIconBadgeText,
|
||||
areaStationID,
|
||||
isInfo,
|
||||
setIsInfo,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</AreaInfoContext.Provider>
|
||||
|
Loading…
Reference in New Issue
Block a user