show: display cover only for audio
Massimo Melina committed
Jun 21, 2024 at 11:54 UTC
04ecda131468f686e9d02f18b10c12c10b1e14c0
1 file changed
+5
-5
frontend/src/show.ts
+5
-5
@@ -57,8 +57,8 @@ export function fileShow(entry: DirEntry, { startPlaying=false } = {}) {
57
}
58
})
59
const [showNav, setShowNav] = useState(false)
60
- const keepNav = getShowType(cur) === Audio
61
- useEffect(() => setShowNav(keepNav), [keepNav])
60
+ const isAudio = getShowType(cur) === Audio
61
+ useEffect(() => setShowNav(isAudio), [isAudio])
62
const timerRef = useRef(0)
63
const navClass = 'nav' + (showNav ? '' : ' nav-hidden')
64
@@ -93,11 +93,11 @@ export function fileShow(entry: DirEntry, { startPlaying=false } = {}) {
93
return h(FlexV, {
94
gap: 0,
95
alignItems: 'stretch',
96
- className: keepNav ? undefined : ZoomMode[mode], // keepNav=audio, and we don't want zoom on it
96
+ className: isAudio ? undefined : ZoomMode[mode], // we don't want zoom on audio
97
props: {
98
role: 'dialog',
99
onMouseMove() {
100
- if (keepNav) return
100
+ if (isAudio) return
101
setShowNav(true)
102
clearTimeout(timerRef.current)
103
timerRef.current = +setTimeout(() => setShowNav(false), 1_000)
@@ -151,7 +151,7 @@ export function fileShow(entry: DirEntry, { startPlaying=false } = {}) {
151
onError: curFailed,
152
async onPlay() {
153
const folder = dirname(cur.n)
154
- const covers = state.list.filter(x => folder === dirname(x.n) // same folder
154
+ const covers = !isAudio ? [] : state.list.filter(x => folder === dirname(x.n) // same folder
155
&& x.name.match(/(?:folder|cover|albumart.*)\.jpe?g$/i))
156
setCover(_.maxBy(covers, 's')?.n || '')
157
const meta = {