xref: /MusicFree/src/pages/searchPage/index.tsx (revision 10fc4329feb6e8b5383965f04679d2a2b61e2926)
1bf6e62f2S猫头猫import React, {useEffect} from 'react';
24060c00aS猫头猫import {StyleSheet, View} from 'react-native';
3bf6e62f2S猫头猫import NavBar from './components/navBar';
44060c00aS猫头猫import {useAtom, useSetAtom} from 'jotai';
54060c00aS猫头猫import {
64060c00aS猫头猫    initSearchResults,
74060c00aS猫头猫    PageStatus,
84060c00aS猫头猫    pageStatusAtom,
94060c00aS猫头猫    queryAtom,
104060c00aS猫头猫    searchResultsAtom,
114060c00aS猫头猫} from './store/atoms';
12bf6e62f2S猫头猫import HistoryPanel from './components/historyPanel';
13bf6e62f2S猫头猫import ResultPanel from './components/resultPanel';
14bf6e62f2S猫头猫import MusicBar from '@/components/musicBar';
1519dc08ecS猫头猫import Loading from '@/components/base/loading';
161c06c799S猫头猫import {SafeAreaView} from 'react-native-safe-area-context';
1719dc08ecS猫头猫import StatusBar from '@/components/base/statusBar';
18*10fc4329S猫头猫import NoPlugin from '../../components/base/noPlugin';
194060c00aS猫头猫
204060c00aS猫头猫export default function () {
21bf6e62f2S猫头猫    const [pageStatus, setPageStatus] = useAtom(pageStatusAtom);
22bf6e62f2S猫头猫    const setQuery = useSetAtom(queryAtom);
23bf6e62f2S猫头猫    const setSearchResultsState = useSetAtom(searchResultsAtom);
24bf6e62f2S猫头猫    useEffect(() => {
250b940038S猫头猫        setSearchResultsState(initSearchResults);
26bf6e62f2S猫头猫        return () => {
27bf6e62f2S猫头猫            setPageStatus(PageStatus.EDITING);
28bf6e62f2S猫头猫            setQuery('');
29bf6e62f2S猫头猫        };
30bf6e62f2S猫头猫    }, []);
31bf6e62f2S猫头猫
32bf6e62f2S猫头猫    return (
33c446f2b8S猫头猫        <SafeAreaView edges={['bottom', 'top']} style={style.wrapper}>
344060c00aS猫头猫            <StatusBar />
354060c00aS猫头猫            <NavBar />
36c446f2b8S猫头猫            <SafeAreaView edges={['left', 'right']} style={style.wrapper}>
3794b17902S猫头猫                <View style={style.flex1}>
384060c00aS猫头猫                    {pageStatus === PageStatus.EDITING && <HistoryPanel />}
394060c00aS猫头猫                    {pageStatus === PageStatus.SEARCHING && <Loading />}
404060c00aS猫头猫                    {pageStatus === PageStatus.RESULT && <ResultPanel />}
41*10fc4329S猫头猫                    {pageStatus === PageStatus.NO_PLUGIN && (
42*10fc4329S猫头猫                        <NoPlugin notSupportType="搜索" />
43*10fc4329S猫头猫                    )}
44bf6e62f2S猫头猫                </View>
45c446f2b8S猫头猫            </SafeAreaView>
464060c00aS猫头猫            <MusicBar />
471c06c799S猫头猫        </SafeAreaView>
48bf6e62f2S猫头猫    );
49bf6e62f2S猫头猫}
50bf6e62f2S猫头猫
51bf6e62f2S猫头猫const style = StyleSheet.create({
52bf6e62f2S猫头猫    wrapper: {
53c446f2b8S猫头猫        width: '100%',
54bf6e62f2S猫头猫        flex: 1,
55bf6e62f2S猫头猫    },
5694b17902S猫头猫    flex1: {
5794b17902S猫头猫        flex: 1,
5894b17902S猫头猫    },
59bf6e62f2S猫头猫});
60