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 canStar?: boolean; 17} 18 19export default function MusicSheetPage(props: IMusicSheetPageProps) { 20 const {navTitle, sheetInfo, musicList, onEndReached, loadMore, canStar} = 21 props; 22 23 return ( 24 <VerticalSafeAreaView style={globalStyle.fwflex1}> 25 <StatusBar /> 26 <NavBar 27 musicList={musicList ?? sheetInfo?.musicList ?? []} 28 navTitle={navTitle} 29 /> 30 <SheetMusicList 31 canStar={canStar} 32 sheetInfo={sheetInfo as any} 33 musicList={musicList ?? sheetInfo?.musicList} 34 onEndReached={() => { 35 onEndReached?.(); 36 }} 37 loadMore={loadMore} 38 /> 39 <MusicBar /> 40 </VerticalSafeAreaView> 41 ); 42} 43