diff --git a/res/css/views/dialogs/_LeaveSpaceDialog.scss b/res/css/views/dialogs/_LeaveSpaceDialog.scss index bb2585f25f..e28ff82bcf 100644 --- a/res/css/views/dialogs/_LeaveSpaceDialog.scss +++ b/res/css/views/dialogs/_LeaveSpaceDialog.scss @@ -24,11 +24,14 @@ limitations under the License. .mx_LeaveSpaceDialog { width: 440px; - height: 500px; display: flex; flex-direction: column; flex-wrap: nowrap; + &.mx_LeaveSpaceDialog_hasChildren { + height: 500px; + } + .mx_Dialog_content { flex-grow: 1; margin: 0 0 24px; diff --git a/src/components/views/dialogs/LeaveSpaceDialog.tsx b/src/components/views/dialogs/LeaveSpaceDialog.tsx index af29f18fdb..6f0d1e5b61 100644 --- a/src/components/views/dialogs/LeaveSpaceDialog.tsx +++ b/src/components/views/dialogs/LeaveSpaceDialog.tsx @@ -27,6 +27,7 @@ import AutoHideScrollbar from "../../structures/AutoHideScrollbar"; import { Entry } from "./AddExistingToSpaceDialog"; import SearchBox from "../../structures/SearchBox"; import QueryMatcher from "../../../autocomplete/QueryMatcher"; +import classNames from "classnames"; enum RoomsToLeave { All = "All", @@ -78,9 +79,8 @@ const SpaceChildPicker = ({ filterPlaceholder, rooms, selected, onChange }) => { ; }; -const LeaveRoomsPicker = ({ space, roomsToLeave, setRoomsToLeave }) => { +const LeaveRoomsPicker = ({ space, spaceChildren, roomsToLeave, setRoomsToLeave }) => { const selected = useMemo(() => new Set(roomsToLeave), [roomsToLeave]); - const spaceChildren = useMemo(() => SpaceStore.instance.getChildren(space.roomId), [space.roomId]); const [state, setState] = useState(RoomsToLeave.All); useEffect(() => { @@ -108,10 +108,6 @@ const LeaveRoomsPicker = ({ space, roomsToLeave, setRoomsToLeave }) => { break; } - if (spaceChildren.length < 1) { - return null; - } - return
{ }; const LeaveSpaceDialog: React.FC = ({ space, onFinished }) => { + const spaceChildren = useMemo(() => SpaceStore.instance.getChildren(space.roomId), [space.roomId]); const [roomsToLeave, setRoomsToLeave] = useState([]); let rejoinWarning; @@ -181,7 +178,9 @@ const LeaveSpaceDialog: React.FC = ({ space, onFinished }) => { return 0, + })} contentId="mx_LeaveSpaceDialog" onFinished={() => onFinished(false)} fixedWidth={false} @@ -195,7 +194,12 @@ const LeaveSpaceDialog: React.FC = ({ space, onFinished }) => { { rejoinWarning }

- + { spaceChildren.length > 0 && } { onlyAdminWarning &&
{ onlyAdminWarning }