From a8c1b7ababbd7c455c028314f1464831dfb9fa1e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 26 Mar 2021 09:59:02 +0000 Subject: [PATCH] Hide space room management checkboxes if you don't have permission at the root space --- src/components/structures/SpaceRoomDirectory.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/structures/SpaceRoomDirectory.tsx b/src/components/structures/SpaceRoomDirectory.tsx index 66ef1f052b..930cfa15a9 100644 --- a/src/components/structures/SpaceRoomDirectory.tsx +++ b/src/components/structures/SpaceRoomDirectory.tsx @@ -252,7 +252,7 @@ export const HierarchyLevel = ({ }: IHierarchyLevelProps) => { const cli = MatrixClientPeg.get(); const space = cli.getRoom(spaceId); - const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId()) + const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId()); const sortedChildren = sortBy([...(relations.get(spaceId)?.values() || [])], ev => ev.content.order || null); const [subspaces, childRooms] = sortedChildren.reduce((result, ev: ISpaceSummaryEvent) => { @@ -487,6 +487,8 @@ export const SpaceHierarchy: React.FC = ({ let results; if (roomsMap.size) { + const hasPermissions = space?.currentState.maySendStateEvent(EventType.SpaceChild, cli.getUserId()); + results = <> = ({ relations={parentChildMap} parents={new Set()} selectedMap={selected} - onToggleClick={(parentId, childId) => { + onToggleClick={hasPermissions ? (parentId, childId) => { setError(""); if (!selected.has(parentId)) { setSelected(new Map(selected.set(parentId, new Set([childId])))); @@ -509,7 +511,7 @@ export const SpaceHierarchy: React.FC = ({ parentSet.delete(childId); setSelected(new Map(selected.set(parentId, new Set(parentSet)))); - }} + } : undefined} onViewRoomClick={(roomId, autoJoin) => { showRoom(roomsMap.get(roomId), Array.from(viaMap.get(roomId) || []), autoJoin); }}