diff --git a/src/components/structures/SpaceHierarchy.tsx b/src/components/structures/SpaceHierarchy.tsx index db160119172..ed87b04c8a5 100644 --- a/src/components/structures/SpaceHierarchy.tsx +++ b/src/components/structures/SpaceHierarchy.tsx @@ -446,13 +446,13 @@ export const useSpaceSummary = (space: Room): { })); const loadMore = useCallback(async (pageSize?: number) => { - if (!hierarchy.canLoadMore || hierarchy.noSupport) return; + if (loading || !hierarchy.canLoadMore || hierarchy.noSupport) return; setLoading(true); await hierarchy.load(pageSize); setRooms(hierarchy.rooms); setLoading(false); - }, [hierarchy]); + }, [loading, hierarchy]); return { loading, rooms, hierarchy, loadMore }; }; @@ -648,8 +648,6 @@ const SpaceHierarchy = ({ return { ({ onKeyDownHandler }) => { let content: JSX.Element; - let loader: JSX.Element; - if (loading && !rooms.length) { content = ; } else { @@ -671,19 +669,20 @@ const SpaceHierarchy = ({ }} /> ; - - if (hierarchy.canLoadMore) { - loader =
- -
; - } - } else { + } else if (!hierarchy.canLoadMore) { results =

{ _t("No results found") }

{ _t("You may want to try a different search or check for typos.") }
; } + let loader: JSX.Element; + if (hierarchy.canLoadMore) { + loader =
+ +
; + } + content = <>

{ query.trim() ? _t("Results") : _t("Rooms and spaces") }