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 Icon from 'react-native-vector-icons/MaterialCommunityIcons'; 89801b15cS猫头猫import ThemeText from './themeText'; 99801b15cS猫头猫import useColors from '@/hooks/useColors'; 10c15039e2S猫头猫import {showPanel} from '../panels/usePanel'; 11e650bfb3S猫头猫import IconButton from './iconButton'; 129801b15cS猫头猫 139801b15cS猫头猫interface IProps { 149801b15cS猫头猫 musicList: IMusic.IMusicItem[] | null; 159801b15cS猫头猫 sheetName?: string; 169801b15cS猫头猫} 179801b15cS猫头猫export default function (props: IProps) { 189801b15cS猫头猫 const {musicList, sheetName} = props; 199801b15cS猫头猫 const colors = useColors(); 209801b15cS猫头猫 const navigate = useNavigate(); 219801b15cS猫头猫 229801b15cS猫头猫 return ( 23*277c5280S猫头猫 <View style={style.topWrapper}> 249801b15cS猫头猫 <Pressable 259801b15cS猫头猫 style={style.playAll} 269801b15cS猫头猫 onPress={() => { 279801b15cS猫头猫 if (musicList) { 289801b15cS猫头猫 MusicQueue.playWithReplaceQueue( 299801b15cS猫头猫 musicList[0], 309801b15cS猫头猫 musicList, 319801b15cS猫头猫 ); 329801b15cS猫头猫 } 339801b15cS猫头猫 }}> 349801b15cS猫头猫 <Icon 359801b15cS猫头猫 name="play-circle-outline" 369801b15cS猫头猫 style={style.playAllIcon} 379801b15cS猫头猫 size={iconSizeConst.normal} 389801b15cS猫头猫 color={colors.text} 399801b15cS猫头猫 /> 409801b15cS猫头猫 <ThemeText fontWeight="bold">播放全部</ThemeText> 419801b15cS猫头猫 </Pressable> 429801b15cS猫头猫 <IconButton 43e650bfb3S猫头猫 name={'plus-box-multiple-outline'} 44e650bfb3S猫头猫 sizeType={'normal'} 45e650bfb3S猫头猫 style={style.optionButton} 469801b15cS猫头猫 onPress={async () => { 479801b15cS猫头猫 showPanel('AddToMusicSheet', { 489801b15cS猫头猫 musicItem: musicList ?? [], 499801b15cS猫头猫 newSheetDefaultName: sheetName, 509801b15cS猫头猫 }); 519801b15cS猫头猫 }} 529801b15cS猫头猫 /> 539801b15cS猫头猫 <IconButton 54e650bfb3S猫头猫 name="playlist-edit" 55e650bfb3S猫头猫 sizeType={'normal'} 56e650bfb3S猫头猫 style={style.optionButton} 579801b15cS猫头猫 onPress={async () => { 589801b15cS猫头猫 navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, { 599801b15cS猫头猫 musicList: musicList, 609801b15cS猫头猫 musicSheet: { 619801b15cS猫头猫 title: sheetName, 629801b15cS猫头猫 }, 639801b15cS猫头猫 }); 649801b15cS猫头猫 }} 659801b15cS猫头猫 /> 669801b15cS猫头猫 </View> 679801b15cS猫头猫 ); 689801b15cS猫头猫} 699801b15cS猫头猫 709801b15cS猫头猫const style = StyleSheet.create({ 719801b15cS猫头猫 /** playall */ 729801b15cS猫头猫 topWrapper: { 73e650bfb3S猫头猫 height: rpx(84), 749801b15cS猫头猫 paddingHorizontal: rpx(24), 759801b15cS猫头猫 flexDirection: 'row', 769801b15cS猫头猫 alignItems: 'center', 779801b15cS猫头猫 }, 789801b15cS猫头猫 playAll: { 799801b15cS猫头猫 flex: 1, 809801b15cS猫头猫 flexDirection: 'row', 819801b15cS猫头猫 alignItems: 'center', 829801b15cS猫头猫 }, 839801b15cS猫头猫 playAllIcon: { 849801b15cS猫头猫 marginRight: rpx(12), 859801b15cS猫头猫 }, 86e650bfb3S猫头猫 optionButton: { 87e650bfb3S猫头猫 marginLeft: rpx(36), 88e650bfb3S猫头猫 }, 899801b15cS猫头猫}); 90