From 641e938f86a435762803bc175ac24cb9f3b8eca2 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Sat, 11 Jul 2026 12:14:39 -0700 Subject: [PATCH] fix album group row height resetting on song change --- .../item-list/item-table-list/album-group-header.tsx | 10 +++++++++- .../item-table-list/columns/album-group-column.tsx | 1 + .../item-list/item-table-list/item-table-list.tsx | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/item-list/item-table-list/album-group-header.tsx b/src/renderer/components/item-list/item-table-list/album-group-header.tsx index b9df02f0d..e0fc90856 100644 --- a/src/renderer/components/item-list/item-table-list/album-group-header.tsx +++ b/src/renderer/components/item-list/item-table-list/album-group-header.tsx @@ -38,6 +38,7 @@ interface AlbumGroupHeaderProps { setAlbumGroupContentHeight?: (rowIndex: number, height: number) => void; size?: AlbumGroupTextSize; song: Song | undefined; + storedContentHeight?: number; } export const AlbumGroupHeader = ({ @@ -48,6 +49,7 @@ export const AlbumGroupHeader = ({ setAlbumGroupContentHeight, size = 'normal', song, + storedContentHeight, }: AlbumGroupHeaderProps): ReactElement => { const { t } = useTranslation(); const albumGroupItems = useAlbumGroupItems(); @@ -121,7 +123,13 @@ export const AlbumGroupHeader = ({ resizeObserver.observe(infoEl); return () => resizeObserver.disconnect(); - }, [infoHeight, rowIndex, setAlbumGroupContentHeight]); + }, [ + infoHeight, + metadataRows.length, + rowIndex, + setAlbumGroupContentHeight, + storedContentHeight, + ]); return (
{ setAlbumGroupContentHeight={props.setAlbumGroupContentHeight} size={props.size === 'default' ? 'normal' : props.size} song={item} + storedContentHeight={props.albumGroupContentHeights?.get(props.rowIndex)} /> ); diff --git a/src/renderer/components/item-list/item-table-list/item-table-list.tsx b/src/renderer/components/item-list/item-table-list/item-table-list.tsx index 60c59f2f6..4f9addf21 100644 --- a/src/renderer/components/item-list/item-table-list/item-table-list.tsx +++ b/src/renderer/components/item-list/item-table-list/item-table-list.tsx @@ -1312,7 +1312,7 @@ const BaseItemTableList = ({ useEffect(() => { setAlbumGroupContentHeights(new Map()); - }, [baseItemCount, data]); + }, [baseItemCount]); const totalItemCount = enableHeader ? baseItemCount + 1 : baseItemCount; const [centerContainerWidth, setCenterContainerWidth] = useState(0);