xref: /MusicFree/src/pages/searchPage/index.tsx (revision bc2d140edac52b40998e03015825328dd5626154)
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';
111c06c799S猫头猫import { SafeAreaView } from 'react-native-safe-area-context';
12*bc2d140eS猫头猫import StatusBar from '@/components/statusBar';
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 (
311c06c799S猫头猫    <SafeAreaView style={style.wrapper}>
32*bc2d140eS猫头猫      <StatusBar></StatusBar>
33bf6e62f2S猫头猫      <NavBar></NavBar>
34bf6e62f2S猫头猫      <View style={{flex: 1}}>
35bf6e62f2S猫头猫        {pageStatus === PageStatus.EDITING && <HistoryPanel></HistoryPanel>}
36bf6e62f2S猫头猫        {pageStatus === PageStatus.SEARCHING && <Loading></Loading>}
37bf6e62f2S猫头猫        {pageStatus === PageStatus.RESULT && <ResultPanel></ResultPanel>}
38bf6e62f2S猫头猫      </View>
39bf6e62f2S猫头猫      <MusicBar></MusicBar>
401c06c799S猫头猫    </SafeAreaView>
41bf6e62f2S猫头猫  );
42bf6e62f2S猫头猫}
43bf6e62f2S猫头猫
44bf6e62f2S猫头猫const style = StyleSheet.create({
45bf6e62f2S猫头猫  wrapper: {
46bf6e62f2S猫头猫    width: rpx(750),
47bf6e62f2S猫头猫    flex: 1,
48bf6e62f2S猫头猫  },
49bf6e62f2S猫头猫});
50