diff --git a/src/components/cardbuilder/Card/CardImageContainer.tsx b/src/components/cardbuilder/Card/CardImageContainer.tsx index db609f21e6e..c6c7f2915cd 100644 --- a/src/components/cardbuilder/Card/CardImageContainer.tsx +++ b/src/components/cardbuilder/Card/CardImageContainer.tsx @@ -54,8 +54,7 @@ const CardImageContainer: FC = ({ indicator.getPlayedIndicator()} {(item.Type === BaseItemKind.CollectionFolder - || item.CollectionType) - && item.RefreshProgress && ( + || item.CollectionType) && ( )} diff --git a/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx b/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx index 8121265ace2..7e6e3005460 100644 --- a/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx +++ b/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx @@ -49,11 +49,20 @@ interface RefreshIndicatorProps { } const RefreshIndicator: FC = ({ item, className }) => { + const [showProgressBar, setShowProgressBar] = useState(!!item.RefreshProgress); const [progress, setProgress] = useState(item.RefreshProgress || 0); const onRefreshProgress = useCallback((_e: Event, _apiClient: ApiClient, info: { ItemId: string | null | undefined; Progress: string; }) => { if (info.ItemId === item?.Id) { - setProgress(parseFloat(info.Progress)); + const pct = parseFloat(info.Progress); + + if (pct && pct < 100) { + setShowProgressBar(true); + } else { + setShowProgressBar(false); + } + + setProgress(pct); } }, [item?.Id]); @@ -77,17 +86,13 @@ const RefreshIndicator: FC = ({ item, className }) => { }; }, [bindEvents, item.Id, unbindEvents]); - const progressringClass = classNames( - 'progressring', - className, - { 'hide': !progress || progress >= 100 } - ); + const progressringClass = classNames('progressring', className); - return ( + return showProgressBar ? (
- ); + ) : null; }; export default RefreshIndicator;