xref: /MusicFree/src/pages/searchPage/index.tsx (revision 1c06c79946b30f194df132a91b10963b5dd338bc)
1bf6e62f2S猫头猫import React, {useEffect} from 'react';
2bf6e62f2S猫头猫import {StyleSheet, Text, View} from 'react-native';
3bf6e62f2S猫头猫import rpx from '@/utils/rpx';
4bf6e62f2S猫头猫import NavBar from './components/navBar';
5bf6e62f2S猫头猫import {useAtom, useAtomValue, useSetAtom} from 'jotai';
6bf6e62f2S猫头猫import {PageStatus, pageStatusAtom, queryAtom, searchResultsAtom} from './store/atoms';
7bf6e62f2S猫头猫import HistoryPanel from './components/historyPanel';
8bf6e62f2S猫头猫import ResultPanel from './components/resultPanel';
9bf6e62f2S猫头猫import MusicBar from '@/components/musicBar';
10bf6e62f2S猫头猫import Loading from '@/components/loading';
11*1c06c799S猫头猫import { SafeAreaView } from 'react-native-safe-area-context';
12bf6e62f2S猫头猫
13bf6e62f2S猫头猫interface IProps {}
14bf6e62f2S猫头猫export default function (props: IProps) {
15bf6e62f2S猫头猫  const [pageStatus, setPageStatus] = useAtom(pageStatusAtom);
16bf6e62f2S猫头猫  const setQuery = useSetAtom(queryAtom);
17bf6e62f2S猫头猫  const setSearchResultsState = useSetAtom(searchResultsAtom);
18bf6e62f2S猫头猫  useEffect(() => {
19bf6e62f2S猫头猫    setSearchResultsState({});
20bf6e62f2S猫头猫    return () => {
21bf6e62f2S猫头猫      setPageStatus(PageStatus.EDITING);
22bf6e62f2S猫头猫      setQuery('');
23bf6e62f2S猫头猫    };
24bf6e62f2S猫头猫  }, []);
25bf6e62f2S猫头猫
26bf6e62f2S猫头猫  useEffect(() => {
27bf6e62f2S猫头猫    console.log(pageStatus);
28bf6e62f2S猫头猫  }, [pageStatus]);
29bf6e62f2S猫头猫
30bf6e62f2S猫头猫  return (
31*1c06c799S猫头猫    <SafeAreaView style={style.wrapper}>
32bf6e62f2S猫头猫      <NavBar></NavBar>
33bf6e62f2S猫头猫      <View style={{flex: 1}}>
34bf6e62f2S猫头猫        {pageStatus === PageStatus.EDITING && <HistoryPanel></HistoryPanel>}
35bf6e62f2S猫头猫        {pageStatus === PageStatus.SEARCHING && <Loading></Loading>}
36bf6e62f2S猫头猫        {pageStatus === PageStatus.RESULT && <ResultPanel></ResultPanel>}
37bf6e62f2S猫头猫      </View>
38bf6e62f2S猫头猫      <MusicBar></MusicBar>
39*1c06c799S猫头猫    </SafeAreaView>
40bf6e62f2S猫头猫  );
41bf6e62f2S猫头猫}
42bf6e62f2S猫头猫
43bf6e62f2S猫头猫const style = StyleSheet.create({
44bf6e62f2S猫头猫  wrapper: {
45bf6e62f2S猫头猫    width: rpx(750),
46bf6e62f2S猫头猫    flex: 1,
47bf6e62f2S猫头猫  },
48bf6e62f2S猫头猫});
49