ヘッダーに追加
This commit is contained in:
parent
980b251d43
commit
00e43772a0
@ -11,6 +11,7 @@ import { useTrainMenu } from "@/stateBox/useTrainMenu";
|
|||||||
import { useAllTrainDiagram } from "@/stateBox/useAllTrainDiagram";
|
import { useAllTrainDiagram } from "@/stateBox/useAllTrainDiagram";
|
||||||
import { useNotification } from "@/stateBox/useNotifications";
|
import { useNotification } from "@/stateBox/useNotifications";
|
||||||
import { getStringConfig } from "@/lib/getStringConfig";
|
import { getStringConfig } from "@/lib/getStringConfig";
|
||||||
|
import { FontAwesome } from "@expo/vector-icons";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
data: { trainNum: string; limited: string };
|
data: { trainNum: string; limited: string };
|
||||||
@ -49,9 +50,9 @@ export const HeaderText: FC<Props> = ({
|
|||||||
const { expoPushToken } = useNotification();
|
const { expoPushToken } = useNotification();
|
||||||
|
|
||||||
// 列車名、種別、フォントの取得
|
// 列車名、種別、フォントの取得
|
||||||
const [typeName, trainName, fontAvailable, isOneMan, infogram] =
|
const [typeName, trainName, fontAvailable, isOneMan, infogram, isEdit] =
|
||||||
useMemo(() => {
|
useMemo(() => {
|
||||||
const { type, trainName, trainNumDistance, infogram } =
|
const { type, trainName, trainNumDistance, infogram, isEdit } =
|
||||||
customTrainDataDetector(trainNum, allCustomTrainData);
|
customTrainDataDetector(trainNum, allCustomTrainData);
|
||||||
const [typeString, fontAvailable, isOneMan] = getStringConfig(
|
const [typeString, fontAvailable, isOneMan] = getStringConfig(
|
||||||
type,
|
type,
|
||||||
@ -61,19 +62,19 @@ export const HeaderText: FC<Props> = ({
|
|||||||
case trainName !== "":
|
case trainName !== "":
|
||||||
// 特急の場合は、列車名を取得
|
// 特急の場合は、列車名を取得
|
||||||
// 列番対称データがある場合はそれから列車番号を取得
|
// 列番対称データがある場合はそれから列車番号を取得
|
||||||
const number =
|
|
||||||
trainNumDistance !== null
|
|
||||||
? ` ${parseInt(trainNum) - trainNumDistance}号`
|
|
||||||
: "";
|
|
||||||
return [
|
return [
|
||||||
typeString,
|
typeString,
|
||||||
trainName + number,
|
trainName +
|
||||||
|
(trainNumDistance !== null
|
||||||
|
? ` ${parseInt(trainNum) - trainNumDistance}号`
|
||||||
|
: ""),
|
||||||
fontAvailable,
|
fontAvailable,
|
||||||
isOneMan,
|
isOneMan,
|
||||||
infogram,
|
infogram,
|
||||||
|
isEdit,
|
||||||
];
|
];
|
||||||
case trainData[trainData.length - 1] === undefined:
|
case trainData[trainData.length - 1] === undefined:
|
||||||
return [typeString, "", fontAvailable, isOneMan, infogram];
|
return [typeString, "", fontAvailable, isOneMan, infogram, isEdit];
|
||||||
default:
|
default:
|
||||||
// 行先がある場合は、行先を取得
|
// 行先がある場合は、行先を取得
|
||||||
return [
|
return [
|
||||||
@ -84,6 +85,7 @@ export const HeaderText: FC<Props> = ({
|
|||||||
fontAvailable,
|
fontAvailable,
|
||||||
isOneMan,
|
isOneMan,
|
||||||
infogram,
|
infogram,
|
||||||
|
isEdit
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}, [trainData]);
|
}, [trainData]);
|
||||||
@ -99,14 +101,8 @@ export const HeaderText: FC<Props> = ({
|
|||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
style={{ borderRadius: 5, flexDirection: "row", alignItems: "center" }}
|
style={{ borderRadius: 5, flexDirection: "row", alignItems: "center" }}
|
||||||
onLongPress={() => {
|
onLongPress={() => {
|
||||||
navigate("generalWebView", {
|
const uri = `https://jr-shikoku-data-post-system.pages.dev?trainNum=${trainNum}&token=${expoPushToken}`;
|
||||||
uri:
|
navigate("generalWebView", { uri, useExitButton: false });
|
||||||
"https://jr-shikoku-data-post-system.pages.dev?trainNum=" +
|
|
||||||
trainNum +
|
|
||||||
"&token=" +
|
|
||||||
expoPushToken,
|
|
||||||
useExitButton: false,
|
|
||||||
});
|
|
||||||
SheetManager.hide("EachTrainInfo");
|
SheetManager.hide("EachTrainInfo");
|
||||||
}}
|
}}
|
||||||
disabled={!updatePermission}
|
disabled={!updatePermission}
|
||||||
@ -125,6 +121,7 @@ export const HeaderText: FC<Props> = ({
|
|||||||
{isOneMan && <OneManText />}
|
{isOneMan && <OneManText />}
|
||||||
<Text style={textConfig}>{trainName}</Text>
|
<Text style={textConfig}>{trainName}</Text>
|
||||||
<InfogramText infogram={infogram} />
|
<InfogramText infogram={infogram} />
|
||||||
|
{isEdit &&<FontAwesome name="commenting-o" size={20} color="white" style={{ marginLeft: 5 }} onPress={()=>alert("このアイコン、列車データはコミュニティによってリアルタイム追加されています。")} />}
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
|
|
||||||
<View style={{ flex: 1 }} />
|
<View style={{ flex: 1 }} />
|
||||||
|
Loading…
Reference in New Issue
Block a user