import React from "react"; import { TouchableOpacity, Text, View, LayoutAnimation, TextInput, KeyboardAvoidingView, Platform, } from "react-native"; import Ionicons from "react-native-vector-icons/Ionicons"; import { useWindowDimensions } from "react-native"; import lineColorList from "@/assets/originData/lineColorList"; import { lineList_LineWebID, stationIDPair } from "@/lib/getStationList"; export const SearchUnitBox = ({ isSearchMode, setisSearchMode, input, setInput, }) => { const { height, width } = useWindowDimensions(); return ( <> { LayoutAnimation.configureNext({ duration: 100, update: { type: "easeInEaseOut", springDamping: 0.6 }, }); setisSearchMode(true); }} > {!isSearchMode && } {!!isSearchMode && ( { LayoutAnimation.configureNext({ duration: 100, update: { type: "easeInEaseOut", springDamping: 0.6 }, }); setisSearchMode(false); }} > {}} onChange={(ret) => setInput(ret.nativeEvent.text)} value={input} style={{ flex: 1 }} /> {input && ( setInput("") } style={{ padding: 3, borderRadius: 15, backgroundColor: "lightgray", }} > )} {!input && ( {Object.keys(lineList_LineWebID).map((d) => ( { const id = stationIDPair[lineList_LineWebID[d]]; const s = isSearchMode == id ? undefined : id; if (!s) return; setisSearchMode(s); }} key={stationIDPair[lineList_LineWebID[d]]} > {stationIDPair[lineList_LineWebID[d]]} ))} )} )} ); };