/* eslint-disable react/style-prop-object */ import * as WebBrowser from 'expo-web-browser'; import * as React from 'react'; import { StatusBar } from 'expo-status-bar'; import Constants from 'expo-constants'; import { Div, Button, Image, Text, Avatar, Input, Icon, Tag, } from 'react-native-magnus'; import { FlatList } from 'react-native-gesture-handler'; import { useTranslation } from 'react-i18next'; import useModel from 'flooks'; import HomeModel from './Home/model'; import MerchantCom from './Home/MerchantCom'; import Header from '../../components/Header'; import { filterMap } from '../../Utils/MerchantUtils'; export default function SearchScreen({ navigation }) { const { t } = useTranslation(); const { searchHome } = useModel(HomeModel, ['searchHome']); const [isSearch, setIsSearch] = React.useState(false); const [searchType, setsearchType] = React.useState(''); const [empty, setEmpty] = React.useState(false); const [last, setLast] = React.useState(false); const [searchVal, setsearchVal] = React.useState(''); const [searchKey, setsearchKey] = React.useState(''); const [page, setPage] = React.useState(0); const [list, setlist] = React.useState([]); function search() { if (searchHome.loading) { return; } setIsSearch(true); setEmpty(false); setLast(false); searchHome(searchVal, searchType, page) .then((res) => { if (!res.last) { setPage(page + 1); } else { setLast(true); } if (res.empty) { setEmpty(true); } if (page === 0) { setlist(res.content); } else { setlist(list.concat(res.content)); } }) .catch(() => { setlist([]); setLast(true); setEmpty(true); }); } function chooseTag(key) { setsearchKey(filterMap.get(key).name); setPage(0); setsearchType('popularTag'); setsearchVal(key); search(); } return ( <>
} onChangeText={(text) => { setsearchKey(text); }} onSubmitEditing={() => { setPage(0); setsearchType('search'); setsearchVal(searchKey); search(); }} />
{isSearch ? ( ) : ( )}
{!isSearch && (
{t('re-men-sou-suo')}
{[...filterMap.keys()].map((item, index) => { return (
); })}
)} {isSearch && ( } onEndReached={search} ListEmptyComponent={() => empty && {t('zan-wu-shu-ju')}} /> )} ); }