1import React from 'react'; 2import NavBar from './components/navBar'; 3import MusicBar from '@/components/musicBar'; 4import SheetMusicList from './components/sheetMusicList'; 5import StatusBar from '@/components/base/statusBar'; 6import globalStyle from '@/constants/globalStyle'; 7import VerticalSafeAreaView from '../base/verticalSafeAreaView'; 8 9interface IMusicSheetPageProps { 10 navTitle: string; 11 sheetInfo: ICommon.WithMusicList<IMusic.IMusicSheetItemBase> | null; 12 musicList?: IMusic.IMusicItem[] | null; 13 onEndReached?: () => void; 14 loadMore?: 'loading' | 'done' | 'idle'; 15} 16 17export default function MusicSheetPage(props: IMusicSheetPageProps) { 18 const {navTitle, sheetInfo, musicList, onEndReached, loadMore} = props; 19 20 return ( 21 <VerticalSafeAreaView style={globalStyle.fwflex1}> 22 <StatusBar /> 23 <NavBar 24 musicList={musicList ?? sheetInfo?.musicList ?? []} 25 navTitle={navTitle} 26 /> 27 <SheetMusicList 28 sheetInfo={sheetInfo} 29 musicList={musicList ?? sheetInfo?.musicList} 30 onEndReached={() => { 31 onEndReached?.(); 32 }} 33 loadMore={loadMore} 34 /> 35 <MusicBar /> 36 </VerticalSafeAreaView> 37 ); 38} 39