26f92837b3
- 删除页眉媒体控制区的资源名称按钮(含 cleanName/showName 死代码) - 保留:播放/暂停、上一段、序号、下一段、声音解锁(异常时)
55 lines
1.9 KiB
React
55 lines
1.9 KiB
React
import { useState, useEffect } from 'react';
|
|
import Icon from './Icons';
|
|
import { onMediaUiState, mediaCommand } from '../utils/mediaControl';
|
|
|
|
/* =========================================================
|
|
页眉媒体控制区 —— 仅媒体轮播页显示
|
|
订阅媒体页播放状态(paused/index/total/name/soundBlocked),
|
|
点击通过 mediaCommand() 下发指令,由 MediaScreen 执行
|
|
========================================================= */
|
|
|
|
export default function MediaHeaderControls() {
|
|
const [st, setSt] = useState(null);
|
|
|
|
useEffect(() => onMediaUiState(setSt), []);
|
|
|
|
if (!st || !st.loaded) {
|
|
return (
|
|
<div className="bd-hd-media" title="媒体播放控制">
|
|
<Icon name="player-play" size={13} />
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<div className="bd-hd-media">
|
|
{/* 播放 / 暂停 */}
|
|
<button
|
|
className={`bd-hd-media-btn ${st.paused ? 'primary' : ''}`}
|
|
onClick={() => mediaCommand(st.paused ? 'play' : 'pause')}
|
|
title={st.paused ? '播放' : '暂停'}
|
|
>
|
|
<Icon name={st.paused ? 'play' : 'pause'} size={14} />
|
|
</button>
|
|
{/* 上一段 */}
|
|
<button className="bd-hd-media-btn" onClick={() => mediaCommand('prev')} title="上一段">
|
|
<Icon name="chevron-left" size={13} />
|
|
</button>
|
|
{/* 序号 */}
|
|
<span className="bd-hd-media-num">
|
|
<b>{st.index + 1}</b>/<em>{st.total}</em>
|
|
</span>
|
|
{/* 下一段 */}
|
|
<button className="bd-hd-media-btn" onClick={() => mediaCommand('next')} title="下一段">
|
|
<Icon name="chevron-right" size={13} />
|
|
</button>
|
|
{/* 声音解锁 */}
|
|
{st.soundBlocked && (
|
|
<button className="bd-hd-media-btn warn" onClick={() => mediaCommand('enable_sound')} title="点击开启声音">
|
|
<Icon name="volume" size={14} />
|
|
</button>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|