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 MusicQueue from '@/core/musicQueue'; 69801b15cS猫头猫import {ROUTE_PATH, useNavigate} from '@/entry/router'; 79801b15cS猫头猫import Color from 'color'; 89801b15cS猫头猫import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; 99801b15cS猫头猫import ThemeText from './themeText'; 109801b15cS猫头猫import useColors from '@/hooks/useColors'; 11c15039e2S猫头猫import {showPanel} from '../panels/usePanel'; 12*e650bfb3S猫头猫import IconButton from './iconButton'; 139801b15cS猫头猫 149801b15cS猫头猫interface IProps { 159801b15cS猫头猫 musicList: IMusic.IMusicItem[] | null; 169801b15cS猫头猫 sheetName?: string; 179801b15cS猫头猫} 189801b15cS猫头猫export default function (props: IProps) { 199801b15cS猫头猫 const {musicList, sheetName} = props; 209801b15cS猫头猫 const colors = useColors(); 219801b15cS猫头猫 const navigate = useNavigate(); 229801b15cS猫头猫 239801b15cS猫头猫 return ( 249801b15cS猫头猫 <View 259801b15cS猫头猫 style={[ 269801b15cS猫头猫 style.topWrapper, 279801b15cS猫头猫 { 289801b15cS猫头猫 backgroundColor: Color(colors.primary) 299801b15cS猫头猫 .alpha(0.15) 309801b15cS猫头猫 .toString(), 319801b15cS猫头猫 }, 329801b15cS猫头猫 ]}> 339801b15cS猫头猫 <Pressable 349801b15cS猫头猫 style={style.playAll} 359801b15cS猫头猫 onPress={() => { 369801b15cS猫头猫 if (musicList) { 379801b15cS猫头猫 MusicQueue.playWithReplaceQueue( 389801b15cS猫头猫 musicList[0], 399801b15cS猫头猫 musicList, 409801b15cS猫头猫 ); 419801b15cS猫头猫 } 429801b15cS猫头猫 }}> 439801b15cS猫头猫 <Icon 449801b15cS猫头猫 name="play-circle-outline" 459801b15cS猫头猫 style={style.playAllIcon} 469801b15cS猫头猫 size={iconSizeConst.normal} 479801b15cS猫头猫 color={colors.text} 489801b15cS猫头猫 /> 499801b15cS猫头猫 <ThemeText fontWeight="bold">播放全部</ThemeText> 509801b15cS猫头猫 </Pressable> 519801b15cS猫头猫 <IconButton 52*e650bfb3S猫头猫 name={'plus-box-multiple-outline'} 53*e650bfb3S猫头猫 sizeType={'normal'} 54*e650bfb3S猫头猫 style={style.optionButton} 559801b15cS猫头猫 onPress={async () => { 569801b15cS猫头猫 showPanel('AddToMusicSheet', { 579801b15cS猫头猫 musicItem: musicList ?? [], 589801b15cS猫头猫 newSheetDefaultName: sheetName, 599801b15cS猫头猫 }); 609801b15cS猫头猫 }} 619801b15cS猫头猫 /> 629801b15cS猫头猫 <IconButton 63*e650bfb3S猫头猫 name="playlist-edit" 64*e650bfb3S猫头猫 sizeType={'normal'} 65*e650bfb3S猫头猫 style={style.optionButton} 669801b15cS猫头猫 onPress={async () => { 679801b15cS猫头猫 navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, { 689801b15cS猫头猫 musicList: musicList, 699801b15cS猫头猫 musicSheet: { 709801b15cS猫头猫 title: sheetName, 719801b15cS猫头猫 }, 729801b15cS猫头猫 }); 739801b15cS猫头猫 }} 749801b15cS猫头猫 /> 759801b15cS猫头猫 </View> 769801b15cS猫头猫 ); 779801b15cS猫头猫} 789801b15cS猫头猫 799801b15cS猫头猫const style = StyleSheet.create({ 809801b15cS猫头猫 /** playall */ 819801b15cS猫头猫 topWrapper: { 82*e650bfb3S猫头猫 height: rpx(84), 839801b15cS猫头猫 paddingHorizontal: rpx(24), 849801b15cS猫头猫 flexDirection: 'row', 859801b15cS猫头猫 alignItems: 'center', 869801b15cS猫头猫 }, 879801b15cS猫头猫 playAll: { 889801b15cS猫头猫 flex: 1, 899801b15cS猫头猫 flexDirection: 'row', 909801b15cS猫头猫 alignItems: 'center', 919801b15cS猫头猫 }, 929801b15cS猫头猫 playAllIcon: { 939801b15cS猫头猫 marginRight: rpx(12), 949801b15cS猫头猫 }, 95*e650bfb3S猫头猫 optionButton: { 96*e650bfb3S猫头猫 marginLeft: rpx(36), 97*e650bfb3S猫头猫 }, 989801b15cS猫头猫}); 99