19801b15cS猫头猫import React from 'react'; 29801b15cS猫头猫import {Pressable, StyleSheet, View} from 'react-native'; 39801b15cS猫头猫import rpx from '@/utils/rpx'; 49801b15cS猫头猫import {iconSizeConst} from '@/constants/uiConst'; 59801b15cS猫头猫import {ROUTE_PATH, useNavigate} from '@/entry/router'; 69801b15cS猫头猫import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; 79801b15cS猫头猫import ThemeText from './themeText'; 89801b15cS猫头猫import useColors from '@/hooks/useColors'; 9c15039e2S猫头猫import {showPanel} from '../panels/usePanel'; 10e650bfb3S猫头猫import IconButton from './iconButton'; 11*5500cea7S猫头猫import TrackPlayer from '@/core/trackPlayer'; 129801b15cS猫头猫 139801b15cS猫头猫interface IProps { 149801b15cS猫头猫 musicList: IMusic.IMusicItem[] | null; 159801b15cS猫头猫 sheetName?: string; 1632c3c781S猫头猫 sheetId?: string; 179801b15cS猫头猫} 189801b15cS猫头猫export default function (props: IProps) { 1932c3c781S猫头猫 const {musicList, sheetName, sheetId} = props; 209801b15cS猫头猫 const colors = useColors(); 219801b15cS猫头猫 const navigate = useNavigate(); 229801b15cS猫头猫 239801b15cS猫头猫 return ( 24277c5280S猫头猫 <View style={style.topWrapper}> 259801b15cS猫头猫 <Pressable 269801b15cS猫头猫 style={style.playAll} 279801b15cS猫头猫 onPress={() => { 289801b15cS猫头猫 if (musicList) { 29*5500cea7S猫头猫 TrackPlayer.playWithReplacePlayList( 309801b15cS猫头猫 musicList[0], 319801b15cS猫头猫 musicList, 329801b15cS猫头猫 ); 339801b15cS猫头猫 } 349801b15cS猫头猫 }}> 359801b15cS猫头猫 <Icon 369801b15cS猫头猫 name="play-circle-outline" 379801b15cS猫头猫 style={style.playAllIcon} 389801b15cS猫头猫 size={iconSizeConst.normal} 399801b15cS猫头猫 color={colors.text} 409801b15cS猫头猫 /> 419801b15cS猫头猫 <ThemeText fontWeight="bold">播放全部</ThemeText> 429801b15cS猫头猫 </Pressable> 439801b15cS猫头猫 <IconButton 44e650bfb3S猫头猫 name={'plus-box-multiple-outline'} 45e650bfb3S猫头猫 sizeType={'normal'} 46e650bfb3S猫头猫 style={style.optionButton} 479801b15cS猫头猫 onPress={async () => { 489801b15cS猫头猫 showPanel('AddToMusicSheet', { 499801b15cS猫头猫 musicItem: musicList ?? [], 509801b15cS猫头猫 newSheetDefaultName: sheetName, 519801b15cS猫头猫 }); 529801b15cS猫头猫 }} 539801b15cS猫头猫 /> 549801b15cS猫头猫 <IconButton 55e650bfb3S猫头猫 name="playlist-edit" 56e650bfb3S猫头猫 sizeType={'normal'} 57e650bfb3S猫头猫 style={style.optionButton} 589801b15cS猫头猫 onPress={async () => { 599801b15cS猫头猫 navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, { 609801b15cS猫头猫 musicList: musicList, 619801b15cS猫头猫 musicSheet: { 629801b15cS猫头猫 title: sheetName, 6332c3c781S猫头猫 id: sheetId, 649801b15cS猫头猫 }, 659801b15cS猫头猫 }); 669801b15cS猫头猫 }} 679801b15cS猫头猫 /> 689801b15cS猫头猫 </View> 699801b15cS猫头猫 ); 709801b15cS猫头猫} 719801b15cS猫头猫 729801b15cS猫头猫const style = StyleSheet.create({ 739801b15cS猫头猫 /** playall */ 749801b15cS猫头猫 topWrapper: { 75e650bfb3S猫头猫 height: rpx(84), 769801b15cS猫头猫 paddingHorizontal: rpx(24), 779801b15cS猫头猫 flexDirection: 'row', 789801b15cS猫头猫 alignItems: 'center', 799801b15cS猫头猫 }, 809801b15cS猫头猫 playAll: { 819801b15cS猫头猫 flex: 1, 829801b15cS猫头猫 flexDirection: 'row', 839801b15cS猫头猫 alignItems: 'center', 849801b15cS猫头猫 }, 859801b15cS猫头猫 playAllIcon: { 869801b15cS猫头猫 marginRight: rpx(12), 879801b15cS猫头猫 }, 88e650bfb3S猫头猫 optionButton: { 89e650bfb3S猫头猫 marginLeft: rpx(36), 90e650bfb3S猫头猫 }, 919801b15cS猫头猫}); 92