This commit is contained in:
harukin-expo-dev-env 2025-01-30 13:27:15 +00:00
parent a979fee6ec
commit 77328bf97a
7 changed files with 213 additions and 206 deletions

View File

@ -23,6 +23,7 @@ export function AppContainer() {
tabBarIcon: initIcon(icon, iconFamily), tabBarIcon: initIcon(icon, iconFamily),
tabBarBadge, tabBarBadge,
tabBarBadgeStyle: style, tabBarBadgeStyle: style,
}, },
}); });
const [fontLoaded, error] = useFonts({ const [fontLoaded, error] = useFonts({
@ -35,9 +36,11 @@ export function AppContainer() {
tabBarOptions={{ keyboardHidesTabBar: Platform.OS === "android" }} tabBarOptions={{ keyboardHidesTabBar: Platform.OS === "android" }}
initialRouteName="topMenu" initialRouteName="topMenu"
screenOptions={{ screenOptions={{
lazy: false,
animation: "shift", animation: "shift",
tabBarVariant: "uikit", tabBarVariant: "uikit",
}} }}
detachInactiveScreens={false}
lazy={false} lazy={false}
> >
<Tab.Screen <Tab.Screen

View File

@ -5,6 +5,7 @@ import { AS } from "./storageControl";
import TrainBase from "./components/trainbaseview"; import TrainBase from "./components/trainbaseview";
import HowTo from "./howto"; import HowTo from "./howto";
import Menu from "./menu"; import Menu from "./menu";
import News from "./components/news";
import Setting from "./components/Settings/settings"; import Setting from "./components/Settings/settings";
import { useFavoriteStation } from "./stateBox/useFavoriteStation"; import { useFavoriteStation } from "./stateBox/useFavoriteStation";
import { optionData } from "./lib/stackOption"; import { optionData } from "./lib/stackOption";
@ -12,6 +13,7 @@ import CurrentTrainListView from "./components/CurrentTrainListView";
import AllTrainDiagramView from "./components/AllTrainDiagramView"; import AllTrainDiagramView from "./components/AllTrainDiagramView";
import { useCurrentTrain } from "./stateBox/useCurrentTrain"; import { useCurrentTrain } from "./stateBox/useCurrentTrain";
import { useNavigation } from "@react-navigation/native"; import { useNavigation } from "@react-navigation/native";
import { news } from "./config/newsUpdate";
const Stack = createStackNavigator(); const Stack = createStackNavigator();
export function MenuPage() { export function MenuPage() {
@ -28,6 +30,13 @@ export function MenuPage() {
//6.0以降false //6.0以降false
AS.setItem("startPage", "false"); AS.setItem("startPage", "false");
}); });
//ニュース表示
AS.getItem("status")
.then((d) => {
if (d != news) navigation.navigate("topMenu", { screen: "news" });
})
.catch(() => navigation.navigate("topMenu", { screen: "news" }));
}, []); }, []);
useEffect(() => { useEffect(() => {
const unsubscribe = addListener("tabPress", (e) => { const unsubscribe = addListener("tabPress", (e) => {
@ -54,6 +63,7 @@ export function MenuPage() {
}} }}
children={() => <Menu getCurrentTrain={getCurrentTrain} />} children={() => <Menu getCurrentTrain={getCurrentTrain} />}
/> />
<Stack.Screen name="news" options={optionData} component={News} />
<Stack.Screen <Stack.Screen
name="setting" name="setting"
options={{ options={{

9
Top.js
View File

@ -17,15 +17,6 @@ export const Top = () => {
const { webview } = useCurrentTrain(); const { webview } = useCurrentTrain();
const { navigate, addListener, isFocused } = useNavigation(); const { navigate, addListener, isFocused } = useNavigation();
useEffect(() => {
//ニュース表示
AS.getItem("status")
.then((d) => {
if (d != news) navigate("positions", { screen: "news" });
})
.catch(() => navigate("positions", { screen: "news" }));
}, []);
//地図用 //地図用
const { injectJavaScript, mapSwitch } = useTrainMenu(); const { injectJavaScript, mapSwitch } = useTrainMenu();

376
app.json
View File

@ -16,7 +16,7 @@
}, },
"assetBundlePatterns": ["**/*"], "assetBundlePatterns": ["**/*"],
"ios": { "ios": {
"buildNumber": "41", "buildNumber": "42",
"supportsTablet": false, "supportsTablet": false,
"bundleIdentifier": "jrshikokuinfo.xprocess.hrkn", "bundleIdentifier": "jrshikokuinfo.xprocess.hrkn",
"config": { "config": {
@ -130,10 +130,10 @@
"expo-alternate-app-icons", "expo-alternate-app-icons",
[ [
{ {
"name": "185mrt", "name": "32",
"ios": "./assets/icons/185_mrt.png", "ios": "./assets/icons/32.png",
"android": { "android": {
"foregroundImage": "./assets/icons/185_mrt.png", "foregroundImage": "./assets/icons/32.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -145,6 +145,22 @@
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{
"name": "32tht",
"ios": "./assets/icons/32tht.png",
"android": {
"foregroundImage": "./assets/icons/32tht.png",
"backgroundColor": "#001413"
}
},
{
"name": "32at",
"ios": "./assets/icons/32at.png",
"android": {
"foregroundImage": "./assets/icons/32at.png",
"backgroundColor": "#001413"
}
},
{ {
"name": "54", "name": "54",
"ios": "./assets/icons/54.png", "ios": "./assets/icons/54.png",
@ -154,18 +170,58 @@
} }
}, },
{ {
"name": "EF65", "name": "54st",
"ios": "./assets/icons/ef65.png", "ios": "./assets/icons/54st.png",
"android": { "android": {
"foregroundImage": "./assets/icons/ef65.png", "foregroundImage": "./assets/icons/54st.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{ {
"name": "1500", "name": "40",
"ios": "./assets/icons/s1500.png", "ios": "./assets/icons/40.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s1500.png", "foregroundImage": "./assets/icons/40.png",
"backgroundColor": "#001413"
}
},
{
"name": "185mrt",
"ios": "./assets/icons/s185_mrt.png",
"android": {
"foregroundImage": "./assets/icons/s185_mrt.png",
"backgroundColor": "#001413"
}
},
{
"name": "185tu",
"ios": "./assets/icons/s185tu.png",
"android": {
"foregroundImage": "./assets/icons/s185tu.png",
"backgroundColor": "#001413"
}
},
{
"name": "185iyor",
"ios": "./assets/icons/s185iyor.png",
"android": {
"foregroundImage": "./assets/icons/s185iyor.png",
"backgroundColor": "#001413"
}
},
{
"name": "185iyoy",
"ios": "./assets/icons/s185iyoy.png",
"android": {
"foregroundImage": "./assets/icons/s185iyoy.png",
"backgroundColor": "#001413"
}
},
{
"name": "185toai",
"ios": "./assets/icons/s185to_ai.png",
"android": {
"foregroundImage": "./assets/icons/s185to_ai.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -186,18 +242,42 @@
} }
}, },
{ {
"name": "2600", "name": "1000",
"ios": "./assets/icons/s2600.png", "ios": "./assets/icons/s1000.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s2600.png", "foregroundImage": "./assets/icons/s1000.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{ {
"name": "2700apy", "name": "1200n",
"ios": "./assets/icons/s2700apy.png", "ios": "./assets/icons/s1200n.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s2700apy.png", "foregroundImage": "./assets/icons/s1200n.png",
"backgroundColor": "#001413"
}
},
{
"name": "1500",
"ios": "./assets/icons/s1500.png",
"android": {
"foregroundImage": "./assets/icons/s1500.png",
"backgroundColor": "#001413"
}
},
{
"name": "5001",
"ios": "./assets/icons/s5001.png",
"android": {
"foregroundImage": "./assets/icons/s5001.png",
"backgroundColor": "#001413"
}
},
{
"name": "5001k",
"ios": "./assets/icons/s5001k.png",
"android": {
"foregroundImage": "./assets/icons/s5001k.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -210,74 +290,18 @@
} }
}, },
{ {
"name": "8000ap", "name": "7000",
"ios": "./assets/icons/s8000ap.png", "ios": "./assets/icons/s7000.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s8000ap.png", "foregroundImage": "./assets/icons/s7000.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{ {
"name": "8600", "name": "s7200",
"ios": "./assets/icons/s8600.png", "ios": "./assets/icons/s7200.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s8600.png", "foregroundImage": "./assets/icons/s7200.png",
"backgroundColor": "#001413"
}
},
{
"name": "213w",
"ios": "./assets/icons/w213w.png",
"android": {
"foregroundImage": "./assets/icons/w213w.png",
"backgroundColor": "#001413"
}
},
{
"name": "32",
"ios": "./assets/icons/32.png",
"android": {
"foregroundImage": "./assets/icons/32.png",
"backgroundColor": "#001413"
}
},
{
"name": "32tht",
"ios": "./assets/icons/32tht.png",
"android": {
"foregroundImage": "./assets/icons/32tht.png",
"backgroundColor": "#001413"
}
},
{
"name": "54st",
"ios": "./assets/icons/54st.png",
"android": {
"foregroundImage": "./assets/icons/54st.png",
"backgroundColor": "#001413"
}
},
{
"name": "1000",
"ios": "./assets/icons/s1000.png",
"android": {
"foregroundImage": "./assets/icons/s1000.png",
"backgroundColor": "#001413"
}
},
{
"name": "185iyor",
"ios": "./assets/icons/s185iyor.png",
"android": {
"foregroundImage": "./assets/icons/s185iyor.png",
"backgroundColor": "#001413"
}
},
{
"name": "185toai",
"ios": "./assets/icons/s185to_ai.png",
"android": {
"foregroundImage": "./assets/icons/s185to_ai.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -297,6 +321,22 @@
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{
"name": "2002a",
"ios": "./assets/icons/s2002a.png",
"android": {
"foregroundImage": "./assets/icons/s2002a.png",
"backgroundColor": "#001413"
}
},
{
"name": "2600",
"ios": "./assets/icons/s2600.png",
"android": {
"foregroundImage": "./assets/icons/s2600.png",
"backgroundColor": "#001413"
}
},
{ {
"name": "2700", "name": "2700",
"ios": "./assets/icons/s2700.png", "ios": "./assets/icons/s2700.png",
@ -306,106 +346,10 @@
} }
}, },
{ {
"name": "5001", "name": "2700apy",
"ios": "./assets/icons/s5001.png", "ios": "./assets/icons/s2700apy.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s5001.png", "foregroundImage": "./assets/icons/s2700apy.png",
"backgroundColor": "#001413"
}
},
{
"name": "7000",
"ios": "./assets/icons/s7000.png",
"android": {
"foregroundImage": "./assets/icons/s7000.png",
"backgroundColor": "#001413"
}
},
{
"name": "8000nn",
"ios": "./assets/icons/s8000nn.png",
"android": {
"foregroundImage": "./assets/icons/s8000nn.png",
"backgroundColor": "#001413"
}
},
{
"name": "8000no",
"ios": "./assets/icons/s8000no.png",
"android": {
"foregroundImage": "./assets/icons/s8000no.png",
"backgroundColor": "#001413"
}
},
{
"name": "9640",
"ios": "./assets/icons/tosa9640.png",
"android": {
"foregroundImage": "./assets/icons/tosa9640.png",
"backgroundColor": "#001413"
}
},
{
"name": "285",
"ios": "./assets/icons/w285.png",
"android": {
"foregroundImage": "./assets/icons/w285.png",
"backgroundColor": "#001413"
}
},
{
"name": "32at",
"ios": "./assets/icons/32at.png",
"android": {
"foregroundImage": "./assets/icons/32at.png",
"backgroundColor": "#001413"
}
},
{
"name": "40",
"ios": "./assets/icons/40.png",
"android": {
"foregroundImage": "./assets/icons/40.png",
"backgroundColor": "#001413"
}
},
{
"name": "EF210",
"ios": "./assets/icons/ef210.png",
"android": {
"foregroundImage": "./assets/icons/ef210.png",
"backgroundColor": "#001413"
}
},
{
"name": "1200n",
"ios": "./assets/icons/s1200n.png",
"android": {
"foregroundImage": "./assets/icons/s1200n.png",
"backgroundColor": "#001413"
}
},
{
"name": "185iyoy",
"ios": "./assets/icons/s185iyoy.png",
"android": {
"foregroundImage": "./assets/icons/s185iyoy.png",
"backgroundColor": "#001413"
}
},
{
"name": "185tu",
"ios": "./assets/icons/s185tu.png",
"android": {
"foregroundImage": "./assets/icons/s185tu.png",
"backgroundColor": "#001413"
}
},
{
"name": "2002a",
"ios": "./assets/icons/s2002a.png",
"android": {
"foregroundImage": "./assets/icons/s2002a.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -418,18 +362,10 @@
} }
}, },
{ {
"name": "5001k", "name": "8000no",
"ios": "./assets/icons/s5001k.png", "ios": "./assets/icons/s8000no.png",
"android": { "android": {
"foregroundImage": "./assets/icons/s5001k.png", "foregroundImage": "./assets/icons/s8000no.png",
"backgroundColor": "#001413"
}
},
{
"name": "s7200",
"ios": "./assets/icons/s7200.png",
"android": {
"foregroundImage": "./assets/icons/s7200.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
@ -441,6 +377,38 @@
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
}, },
{
"name": "8000ap",
"ios": "./assets/icons/s8000ap.png",
"android": {
"foregroundImage": "./assets/icons/s8000ap.png",
"backgroundColor": "#001413"
}
},
{
"name": "8000nn",
"ios": "./assets/icons/s8000nn.png",
"android": {
"foregroundImage": "./assets/icons/s8000nn.png",
"backgroundColor": "#001413"
}
},
{
"name": "8600",
"ios": "./assets/icons/s8600.png",
"android": {
"foregroundImage": "./assets/icons/s8600.png",
"backgroundColor": "#001413"
}
},
{
"name": "9640",
"ios": "./assets/icons/tosa9640.png",
"android": {
"foregroundImage": "./assets/icons/tosa9640.png",
"backgroundColor": "#001413"
}
},
{ {
"name": "9640jgr", "name": "9640jgr",
"ios": "./assets/icons/tosa9640jgr.png", "ios": "./assets/icons/tosa9640jgr.png",
@ -448,6 +416,38 @@
"foregroundImage": "./assets/icons/tosa9640jgr.png", "foregroundImage": "./assets/icons/tosa9640jgr.png",
"backgroundColor": "#001413" "backgroundColor": "#001413"
} }
},
{
"name": "285",
"ios": "./assets/icons/w285.png",
"android": {
"foregroundImage": "./assets/icons/w285.png",
"backgroundColor": "#001413"
}
},
{
"name": "213w",
"ios": "./assets/icons/w213w.png",
"android": {
"foregroundImage": "./assets/icons/w213w.png",
"backgroundColor": "#001413"
}
},
{
"name": "EF65",
"ios": "./assets/icons/ef65.png",
"android": {
"foregroundImage": "./assets/icons/ef65.png",
"backgroundColor": "#001413"
}
},
{
"name": "EF210",
"ios": "./assets/icons/ef210.png",
"android": {
"foregroundImage": "./assets/icons/ef210.png",
"backgroundColor": "#001413"
}
} }
] ]
] ]

View File

@ -60,7 +60,7 @@ export default function Apps() {
useShow: () => SheetManager.show("StationDetailView", { payload }), useShow: () => SheetManager.show("StationDetailView", { payload }),
onExit: () => SheetManager.hide("StationDetailView"), onExit: () => SheetManager.hide("StationDetailView"),
}; };
SheetManager.show("StationDetailView", { payload }); setTimeout(()=>SheetManager.show("StationDetailView", { payload }),50);
} else { } else {
SheetManager.hide("StationDetailView"); SheetManager.hide("StationDetailView");
} }

View File

@ -6,7 +6,7 @@ import { news } from "../config/newsUpdate";
import { useNavigation } from "@react-navigation/native"; import { useNavigation } from "@react-navigation/native";
import { BigButton } from "./atom/BigButton"; import { BigButton } from "./atom/BigButton";
const News: FC = () => { const News: FC = () => {
const { navigate } = useNavigation(); const { goBack } = useNavigation();
return ( return (
<View style={{ height: "100%", backgroundColor: "#0099CC" }}> <View style={{ height: "100%", backgroundColor: "#0099CC" }}>
<WebView <WebView
@ -20,7 +20,7 @@ const News: FC = () => {
<BigButton <BigButton
onPress={() => { onPress={() => {
AS.setItem("status", news); AS.setItem("status", news);
navigate("Apps"); goBack();
}} }}
string="更新情報を閉じる" string="更新情報を閉じる"
/> />

View File

@ -8,26 +8,29 @@ import { BigButton } from "./atom/BigButton";
export default function TrainBase({ route }) { export default function TrainBase({ route }) {
const { info } = route.params; const { info } = route.params;
const { goBack } = useNavigation(); const { goBack } = useNavigation();
const jss = `document.getElementById('Footer').style.display = 'none'; const jss = `
document.getElementById('Footer').style.display = 'none';
${ ${
Platform.OS == "ios" Platform.OS == "ios"
? `document.getElementsByTagName("html")[0].style['font-size'] = '11px';` ? `document.getElementsByTagName("html")[0].style['font-size'] = '11px';`
: "" : ""
}`; }
true;`;
return ( return (
<View style={{ height: "100%" }}> <View style={{ height: "100%" }}>
{Platform.OS == "ios" && <StatusBar barStyle="dark-content" />} {Platform.OS == "ios" && <StatusBar barStyle="dark-content" />}
<WebView <WebView
useWebKit={true} useWebKit
source={{ uri: "https://train.jr-shikoku.co.jp/" + info }} source={{ uri: "https://train.jr-shikoku.co.jp/" + info }}
originWhitelist={[ originWhitelist={[
"https://train.jr-shikoku.co.jp", "https://train.jr-shikoku.co.jp",
"https://train.jr-shikoku.co.jp/sp.html", "https://train.jr-shikoku.co.jp/sp.html",
]} ]}
onMessage={(event) => {}}
mixedContentMode={"compatibility"} mixedContentMode={"compatibility"}
javaScriptEnabled={true} javaScriptEnabled
injectedJavaScript={jss} injectedJavaScript={jss}
setSupportMultipleWindows={false} setSupportMultipleWindows
/> />
<BigButton <BigButton
style={{ borderColor: "black" }} style={{ borderColor: "black" }}