import React, { useCallback, memo, useMemo, useEffect } from 'react' import { Text, StyleSheet, TouchableOpacity } from 'react-native' import Icon from '@/components/common/Icon' import { useGetter, useDispatch } from '@/store' import { STATUS } from '@/store/modules/player' export default () => { const playStatus = useGetter('player', 'status') const playNext = useDispatch('player', 'playNext') const playPrev = useDispatch('player', 'playPrev') // const playMusicInfo = useGetter('player', 'playMusicInfo') const pauseMusic = useDispatch('player', 'pauseMusic') const playMusic = useDispatch('player', 'playMusic') const theme = useGetter('common', 'theme') // const togglePlayMethod = useGetter('common', 'togglePlayMethod') // const setPlayNextMode = useDispatch('common', 'setPlayNextMode') // const toggleNextPlayMode = useCallback(() => { // let index = playNextModes.indexOf(togglePlayMethod) // if (++index >= playNextModes.length) index = -1 // setPlayNextMode(playNextModes[index] || '') // }, [setPlayNextMode, togglePlayMethod, playNextModes]) const btnPrev = useMemo(() => ( ), [playPrev, theme]) const togglePlay = useCallback(playStatus => { switch (playStatus) { case STATUS.playing: pauseMusic() break case STATUS.pause: case STATUS.stop: case STATUS.none: playMusic() break // default: // playMusic(playMusicInfo) // break } }, []) const btnPlay = useMemo(() => ( togglePlay(playStatus)}> ), [playStatus, theme, togglePlay]) const btnNext = useMemo(() => ( ), [playNext, theme]) return ( <> {/* */} {btnPrev} {btnPlay} {btnNext} ) } const styles = StyleSheet.create({ cotrolBtn: { width: 32, height: 32, justifyContent: 'center', alignItems: 'center', // backgroundColor: '#ccc', shadowOpacity: 1, textShadowRadius: 1, }, })