Skip to content

Commit 21a659b

Browse files
MutualServer - tiny fix
1 parent e9346a6 commit 21a659b

File tree

1 file changed

+73
-69
lines changed

1 file changed

+73
-69
lines changed

src/app/organisms/profile-viewer/tabs/MutualServers.jsx

Lines changed: 73 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -7,85 +7,89 @@ import { selectRoom, selectRoomMode, selectTab } from '@src/client/action/naviga
77
function MutualServerTitle({ userId, roomId }) {
88
const { userList } = initMatrix;
99
const userData = userList.getUserRooms(userId);
10-
return <>{`${String(userData.rooms.length + userData.spaces.length)} Mutual Servers`}</>;
10+
return (
11+
<>{`${String(userData ? userData.rooms.length + userData.spaces.length : '0')} Mutual Servers`}</>
12+
);
1113
}
1214

1315
function MutualServerRender({ userId, requestClose }) {
1416
const { userList, mxcUrl } = initMatrix;
1517
const mx = initMatrix.matrixClient;
1618

1719
const userData = userList.getUserRooms(userId);
18-
const total = userData.rooms.length + userData.spaces.length > 0;
19-
const openItem = (roomId, type) => {
20-
if (type === 'space') selectTab(roomId, true);
21-
else {
22-
selectRoomMode('room');
23-
selectRoom(roomId);
24-
}
25-
requestClose();
26-
};
20+
if (userData) {
21+
const total = userData.rooms.length + userData.spaces.length > 0;
22+
const openItem = (roomId, type) => {
23+
if (type === 'space') selectTab(roomId, true);
24+
else {
25+
selectRoomMode('room');
26+
selectRoom(roomId);
27+
}
28+
requestClose();
29+
};
2730

28-
if (total > 0) {
29-
return (
30-
<>
31-
{userData.spaces.length > 0 ? (
32-
<>
33-
<div className="small text-gray ms-2 mb-1">Spaces</div>
34-
<ul class="mutual-servers m-0 p-0">
35-
{userData.spaces.map((roomId) => {
36-
const room = mx.getRoom(roomId);
31+
if (total > 0) {
32+
return (
33+
<>
34+
{userData.spaces.length > 0 ? (
35+
<>
36+
<div className="small text-gray ms-2 mb-1">Spaces</div>
37+
<ul class="mutual-servers m-0 p-0">
38+
{userData.spaces.map((roomId) => {
39+
const room = mx.getRoom(roomId);
3740

38-
return (
39-
<li class="list-group-item">
40-
<RoomSelector
41-
key={`mutual_servers_${roomId}`}
42-
name={room.name}
43-
roomId={roomId}
44-
animParentsCount={2}
45-
imageSrc={mxcUrl.getAvatarUrl(room, dfAvatarSize, dfAvatarSize)}
46-
imageAnimSrc={mxcUrl.getAvatarUrl(room)}
47-
isUnread={false}
48-
notificationCount={0}
49-
isAlert={false}
50-
onClick={() => openItem(roomId, 'space')}
51-
/>
52-
</li>
53-
);
54-
})}
55-
</ul>
56-
</>
57-
) : null}
41+
return (
42+
<li class="list-group-item">
43+
<RoomSelector
44+
key={`mutual_servers_${roomId}`}
45+
name={room.name}
46+
roomId={roomId}
47+
animParentsCount={2}
48+
imageSrc={mxcUrl.getAvatarUrl(room, dfAvatarSize, dfAvatarSize)}
49+
imageAnimSrc={mxcUrl.getAvatarUrl(room)}
50+
isUnread={false}
51+
notificationCount={0}
52+
isAlert={false}
53+
onClick={() => openItem(roomId, 'space')}
54+
/>
55+
</li>
56+
);
57+
})}
58+
</ul>
59+
</>
60+
) : null}
5861

59-
{userData.rooms.length > 0 ? (
60-
<>
61-
{userData.spaces.length > 0 ? <hr className="mx-0 my-2 border-bg" /> : null}
62-
<div className="small text-gray ms-2 mb-1">Rooms</div>
63-
<ul class="mutual-servers m-0 p-0">
64-
{userData.rooms.map((roomId) => {
65-
const room = mx.getRoom(roomId);
62+
{userData.rooms.length > 0 ? (
63+
<>
64+
{userData.spaces.length > 0 ? <hr className="mx-0 my-2 border-bg" /> : null}
65+
<div className="small text-gray ms-2 mb-1">Rooms</div>
66+
<ul class="mutual-servers m-0 p-0">
67+
{userData.rooms.map((roomId) => {
68+
const room = mx.getRoom(roomId);
6669

67-
return (
68-
<li class="list-group-item">
69-
<RoomSelector
70-
key={`mutual_servers_${roomId}`}
71-
name={room.name}
72-
roomId={roomId}
73-
animParentsCount={2}
74-
imageSrc={mxcUrl.getAvatarUrl(room, dfAvatarSize, dfAvatarSize)}
75-
imageAnimSrc={mxcUrl.getAvatarUrl(room)}
76-
isUnread={false}
77-
notificationCount={0}
78-
isAlert={false}
79-
onClick={() => openItem(roomId, 'room')}
80-
/>
81-
</li>
82-
);
83-
})}
84-
</ul>
85-
</>
86-
) : null}
87-
</>
88-
);
70+
return (
71+
<li class="list-group-item">
72+
<RoomSelector
73+
key={`mutual_servers_${roomId}`}
74+
name={room.name}
75+
roomId={roomId}
76+
animParentsCount={2}
77+
imageSrc={mxcUrl.getAvatarUrl(room, dfAvatarSize, dfAvatarSize)}
78+
imageAnimSrc={mxcUrl.getAvatarUrl(room)}
79+
isUnread={false}
80+
notificationCount={0}
81+
isAlert={false}
82+
onClick={() => openItem(roomId, 'room')}
83+
/>
84+
</li>
85+
);
86+
})}
87+
</ul>
88+
</>
89+
) : null}
90+
</>
91+
);
92+
}
8993
}
9094

9195
return <center className="small">No room was found.</center>;
@@ -94,7 +98,7 @@ function MutualServerRender({ userId, requestClose }) {
9498
export default function MutualServersTab(menuBarItems, accountContent, existEthereum, userId) {
9599
const { userList } = initMatrix;
96100
const userData = userList.getUserRooms(userId);
97-
if (userData.rooms.length + userData.spaces.length > 0)
101+
if (userData && userData.rooms.length + userData.spaces.length > 0)
98102
menuBarItems.push({
99103
menu: ({ roomId, userId }) => <MutualServerTitle roomId={roomId} userId={userId} />,
100104
render: ({ userId, closeDialog }) => (

0 commit comments

Comments
 (0)