|
|
@ -9,6 +9,11 @@ import { SongCard } from '@/components';
|
|
|
|
import { useAudioStore } from '@/store';
|
|
|
|
import { useAudioStore } from '@/store';
|
|
|
|
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
interface Props {
|
|
|
|
|
|
|
|
/** 列表类型
|
|
|
|
|
|
|
|
* vol: 期刊
|
|
|
|
|
|
|
|
* collectSingle: 收藏单曲
|
|
|
|
|
|
|
|
* playerCard: 播放器内
|
|
|
|
|
|
|
|
*/
|
|
|
|
listInfo: { type: 'vol' | 'collectSingle' | 'playerCard'; id: string | null };
|
|
|
|
listInfo: { type: 'vol' | 'collectSingle' | 'playerCard'; id: string | null };
|
|
|
|
songList: SongInfo[];
|
|
|
|
songList: SongInfo[];
|
|
|
|
/** 收藏按钮的显示逻辑 always: 总是显示 playing: 播放时显示 */
|
|
|
|
/** 收藏按钮的显示逻辑 always: 总是显示 playing: 播放时显示 */
|
|
|
@ -42,7 +47,7 @@ export default function SongCardList({ listInfo, songList, className, collectTyp
|
|
|
|
const isPlayingList = listInfo.type === playListInfo.type && listInfo.id === playListInfo.id; // 正在播放当前歌单
|
|
|
|
const isPlayingList = listInfo.type === playListInfo.type && listInfo.id === playListInfo.id; // 正在播放当前歌单
|
|
|
|
const isInQueue = playQueue.some((item) => item.id === id); // 所选的歌在队列中
|
|
|
|
const isInQueue = playQueue.some((item) => item.id === id); // 所选的歌在队列中
|
|
|
|
|
|
|
|
|
|
|
|
if (isPlayingList && isInQueue) {
|
|
|
|
if ((isPlayingList && isInQueue) || listInfo.type === 'playerCard') {
|
|
|
|
setAudioId(id);
|
|
|
|
setAudioId(id);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|