import React, {Fragment, useEffect, useState} from 'react'; import {Pressable, StyleSheet, Text, ToastAndroid, View} from 'react-native'; import rpx from '@/utils/rpx'; import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; import useTextColor from '@/hooks/useTextColor'; import MusicQueue from '@/common/musicQueue'; import {Avatar, IconButton, Portal, useTheme} from 'react-native-paper'; import {CircularProgressBase} from 'react-native-circular-progress-indicator'; import {useNavigation} from '@react-navigation/native'; import {ROUTE_PATH} from '@/entry/router'; import musicIsPaused from '@/utils/musicIsPaused'; import usePanelShow from '../panels/usePanelShow'; import {fontSizeConst} from '@/constants/uiConst'; import Color from 'color'; import ThemeText from '../themeText'; interface IProps {} export default function (props: IProps) { // const currentMusicState = useAtomValue(loadableCurrentMusicStateAtom); const musicItem = MusicQueue.useCurrentMusicItem(); const musicState = MusicQueue.usePlaybackState(); const {showPanel} = usePanelShow(); const navigation = useNavigation(); const progress = MusicQueue.useProgress(); const {colors} = useTheme(); return ( {musicItem && ( { navigation.navigate(ROUTE_PATH.MUSIC_DETAIL); }}> {musicItem.title} {musicItem?.artist && ( -{musicItem.artist} )} {musicIsPaused(musicState) ? ( { await MusicQueue.play(); }} /> ) : ( { await MusicQueue.pause(); }} /> )} { showPanel('PlayList'); }} style={[style.actionIcon, {color: colors.text}]}> )} ); } const style = StyleSheet.create({ wrapper: { width: rpx(750), height: rpx(120), flexDirection: 'row', alignItems: 'center', paddingHorizontal: rpx(24), }, artworkWrapper: { height: rpx(120), width: rpx(120), }, textWrapper: { flexGrow: 1, maxWidth: rpx(382), }, title: { fontSize: fontSizeConst.normal, }, author: { fontSize: fontSizeConst.smaller, }, actionGroup: { width: rpx(200), justifyContent: 'flex-end', flexDirection: 'row', alignItems: 'center', }, actionIcon: { marginLeft: rpx(36), }, });