From 84b00b5c388709aab1f7c0e3b45291fd7e0ec5a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=A0imon=20Brandner?= <simon.bra.ag@gmail.com>
Date: Fri, 9 Jul 2021 10:39:02 +0200
Subject: [PATCH] Make the code more readable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
---
 src/components/structures/RoomDirectory.tsx | 31 +++++++++++----------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/components/structures/RoomDirectory.tsx b/src/components/structures/RoomDirectory.tsx
index 4a0e7615c4..4d335bf63c 100644
--- a/src/components/structures/RoomDirectory.tsx
+++ b/src/components/structures/RoomDirectory.tsx
@@ -122,25 +122,26 @@ export default class RoomDirectory extends React.Component<IProps, IState> {
                 const myHomeserver = MatrixClientPeg.getHomeserverName();
                 const lsRoomServer = localStorage.getItem(LAST_SERVER_KEY);
                 const lsInstanceId = localStorage.getItem(LAST_INSTANCE_KEY);
-                const configSevers = SdkConfig.get().roomDirectory?.servers || [];
-                const settingsServers = SettingsStore.getValue("room_directory_servers") || [];
-                const roomServer = [...configSevers, ...settingsServers].includes(lsRoomServer)
-                    ? lsRoomServer
-                    : myHomeserver;
-                const instanceIds = [];
-                if (roomServer === myHomeserver) {
-                    Object.values(this.protocols).forEach((protocol) => {
-                        protocol.instances.forEach((instance) => instanceIds.push(instance.instance_id));
-                    });
+                const roomServer = (
+                    SdkConfig.get().roomDirectory?.servers?.includes(lsRoomServer) ||
+                    SettingsStore.getValue("room_directory_servers")?.includes(lsRoomServer)
+                ) ? lsRoomServer : myHomeserver;
+
+                let instanceId: string = null;
+                if (
+                    (lsInstanceId === ALL_ROOMS) ||
+                    (
+                        roomServer === myHomeserver &&
+                        Object.values(this.protocols).some(p => p.instances.some(i => i.instance_id === lsInstanceId))
+                    )
+                ) {
+                    instanceId = lsInstanceId;
                 }
-                const instanceId = (instanceIds.includes(lsInstanceId) || lsInstanceId === ALL_ROOMS)
-                    ? lsInstanceId
-                    : null;
 
                 this.setState({
                     protocolsLoading: false,
-                    instanceId: instanceId,
-                    roomServer: roomServer,
+                    instanceId,
+                    roomServer,
                 });
                 this.refreshRoomList();
             }, (err) => {