diff --git a/Apps.js b/Apps.js
index 984e4f2..cc526e0 100644
--- a/Apps.js
+++ b/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) => }
/>
diff --git a/stateBox/useAreaInfo.js b/stateBox/useAreaInfo.js
index a624cba..6b15c3e 100644
--- a/stateBox/useAreaInfo.js
+++ b/stateBox/useAreaInfo.js
@@ -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 (
{children}