fix sidebar visualizer/lyrics combined behavior (#1529)

This commit is contained in:
jeffvli
2026-01-15 21:35:45 -08:00
parent 83c47454c6
commit 66a2b4c225
@@ -367,12 +367,16 @@ const VisualizerPanel = () => {
const CombinedLyricsAndVisualizerPanel = () => { const CombinedLyricsAndVisualizerPanel = () => {
const currentSong = usePlayerSong(); const currentSong = usePlayerSong();
const visualizerType = useSettingsStore((store) => store.visualizer.type); const visualizerType = useSettingsStore((store) => store.visualizer.type);
const showLyricsInSidebar = useShowLyricsInSidebar();
const showVisualizerInSidebar = useShowVisualizerInSidebar();
const { type, webAudio } = usePlaybackSettings();
const showVisualizer = showVisualizerInSidebar && type === PlayerType.WEB && webAudio;
const { data: lyricsData } = useQuery( const { data: lyricsData } = useQuery(
lyricsQueries.songLyrics( lyricsQueries.songLyrics(
{ {
options: { options: {
enabled: !!currentSong?.id, enabled: !!currentSong?.id && showLyricsInSidebar,
}, },
query: { songId: currentSong?.id || '' }, query: { songId: currentSong?.id || '' },
serverId: currentSong?._serverId || '', serverId: currentSong?._serverId || '',
@@ -402,21 +406,23 @@ const CombinedLyricsAndVisualizerPanel = () => {
return ( return (
<div className={styles.lyricsSection}> <div className={styles.lyricsSection}>
<PanelReorderControls panelType="lyrics" /> <PanelReorderControls panelType="lyrics" />
<Lyrics fadeOutNoLyricsMessage={true} settingsKey="sidebar" /> {showLyricsInSidebar && <Lyrics fadeOutNoLyricsMessage={true} settingsKey="sidebar" />}
<div {showVisualizer && (
className={styles.visualizerOverlay} <div
style={{ className={styles.visualizerOverlay}
opacity: hasLyrics ? 0.2 : 1, style={{
}} opacity: hasLyrics && showLyricsInSidebar ? 0.2 : 1,
> }}
<Suspense fallback={<></>}> >
{visualizerType === 'butterchurn' ? ( <Suspense fallback={<></>}>
<ButterchurnVisualizer /> {visualizerType === 'butterchurn' ? (
) : ( <ButterchurnVisualizer />
<AudioMotionAnalyzerVisualizer /> ) : (
)} <AudioMotionAnalyzerVisualizer />
</Suspense> )}
</div> </Suspense>
</div>
)}
</div> </div>
); );
}; };