Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 15c731d

Browse files
authored
Merge pull request #6507 from matrix-org/t3chguy/fix/18089
Allow pagination of the space hierarchy and use new APIs
2 parents 6205cbb + 8ddaa7f commit 15c731d

File tree

10 files changed

+765
-796
lines changed

10 files changed

+765
-796
lines changed

res/css/_components.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
@import "./structures/_RoomView.scss";
2929
@import "./structures/_ScrollPanel.scss";
3030
@import "./structures/_SearchBox.scss";
31+
@import "./structures/_SpaceHierarchy.scss";
3132
@import "./structures/_SpacePanel.scss";
32-
@import "./structures/_SpaceRoomDirectory.scss";
3333
@import "./structures/_SpaceRoomView.scss";
3434
@import "./structures/_TabbedView.scss";
3535
@import "./structures/_ToastContainer.scss";

res/css/structures/_SpaceRoomDirectory.scss renamed to res/css/structures/_SpaceHierarchy.scss

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,6 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
.mx_SpaceRoomDirectory_dialogWrapper > .mx_Dialog {
18-
max-width: 960px;
19-
height: 100%;
20-
}
21-
22-
.mx_SpaceRoomDirectory {
23-
height: 100%;
24-
margin-bottom: 12px;
25-
color: $primary-fg-color;
26-
word-break: break-word;
27-
display: flex;
28-
flex-direction: column;
29-
}
30-
31-
.mx_SpaceRoomDirectory,
3217
.mx_SpaceRoomView_landing {
3318
.mx_Dialog_title {
3419
display: flex;
@@ -68,7 +53,7 @@ limitations under the License.
6853
margin: 24px 0 16px;
6954
}
7055

71-
.mx_SpaceRoomDirectory_noResults {
56+
.mx_SpaceHierarchy_noResults {
7257
text-align: center;
7358

7459
> div {
@@ -78,13 +63,19 @@ limitations under the License.
7863
}
7964
}
8065

81-
.mx_SpaceRoomDirectory_listHeader {
66+
.mx_SpaceHierarchy_listHeader {
8267
display: flex;
8368
min-height: 32px;
8469
align-items: center;
8570
font-size: $font-15px;
8671
line-height: $font-24px;
8772
color: $primary-fg-color;
73+
margin-bottom: 12px;
74+
75+
> h4 {
76+
font-weight: $font-semi-bold;
77+
margin: 0;
78+
}
8879

8980
.mx_AccessibleButton {
9081
padding: 4px 12px;
@@ -105,7 +96,7 @@ limitations under the License.
10596
}
10697
}
10798

108-
.mx_SpaceRoomDirectory_error {
99+
.mx_SpaceHierarchy_error {
109100
position: relative;
110101
font-weight: $font-semi-bold;
111102
color: $notice-primary-color;
@@ -124,13 +115,14 @@ limitations under the License.
124115
background-image: url("$(res)/img/element-icons/warning-badge.svg");
125116
}
126117
}
127-
}
128118

129-
.mx_SpaceRoomDirectory_list {
130-
margin-top: 16px;
131-
padding-bottom: 40px;
119+
.mx_SpaceHierarchy_list {
120+
list-style: none;
121+
padding: 0;
122+
margin: 0;
123+
}
132124

133-
.mx_SpaceRoomDirectory_roomCount {
125+
.mx_SpaceHierarchy_roomCount {
134126
> h3 {
135127
display: inline;
136128
font-weight: $font-semi-bold;
@@ -147,13 +139,13 @@ limitations under the License.
147139
}
148140
}
149141

150-
.mx_SpaceRoomDirectory_subspace {
142+
.mx_SpaceHierarchy_subspace {
151143
.mx_BaseAvatar_image {
152144
border-radius: 8px;
153145
}
154146
}
155147

156-
.mx_SpaceRoomDirectory_subspace_toggle {
148+
.mx_SpaceHierarchy_subspace_toggle {
157149
position: absolute;
158150
left: -1px;
159151
top: 10px;
@@ -177,17 +169,17 @@ limitations under the License.
177169
mask-image: url('$(res)/img/feather-customised/chevron-down.svg');
178170
}
179171

180-
&.mx_SpaceRoomDirectory_subspace_toggle_shown::before {
172+
&.mx_SpaceHierarchy_subspace_toggle_shown::before {
181173
transform: rotate(0deg);
182174
}
183175
}
184176

185-
.mx_SpaceRoomDirectory_subspace_children {
177+
.mx_SpaceHierarchy_subspace_children {
186178
position: relative;
187179
padding-left: 12px;
188180
}
189181

190-
.mx_SpaceRoomDirectory_roomTile {
182+
.mx_SpaceHierarchy_roomTile {
191183
position: relative;
192184
padding: 8px 16px;
193185
border-radius: 8px;
@@ -204,7 +196,7 @@ limitations under the License.
204196
grid-column: 1;
205197
}
206198

207-
.mx_SpaceRoomDirectory_roomTile_name {
199+
.mx_SpaceHierarchy_roomTile_name {
208200
font-weight: $font-semi-bold;
209201
font-size: $font-15px;
210202
line-height: $font-18px;
@@ -232,7 +224,7 @@ limitations under the License.
232224
}
233225
}
234226

235-
.mx_SpaceRoomDirectory_roomTile_info {
227+
.mx_SpaceHierarchy_roomTile_info {
236228
font-size: $font-14px;
237229
line-height: $font-18px;
238230
color: $secondary-fg-color;
@@ -244,7 +236,7 @@ limitations under the License.
244236
overflow: hidden;
245237
}
246238

247-
.mx_SpaceRoomDirectory_actions {
239+
.mx_SpaceHierarchy_actions {
248240
text-align: right;
249241
margin-left: 20px;
250242
grid-column: 3;
@@ -278,12 +270,12 @@ limitations under the License.
278270
}
279271
}
280272

281-
li.mx_SpaceRoomDirectory_roomTileWrapper {
273+
li.mx_SpaceHierarchy_roomTileWrapper {
282274
list-style: none;
283275
}
284276

285-
.mx_SpaceRoomDirectory_roomTile,
286-
.mx_SpaceRoomDirectory_subspace_children {
277+
.mx_SpaceHierarchy_roomTile,
278+
.mx_SpaceHierarchy_subspace_children {
287279
&::before {
288280
content: "";
289281
position: absolute;
@@ -295,8 +287,8 @@ limitations under the License.
295287
}
296288
}
297289

298-
.mx_SpaceRoomDirectory_actions {
299-
.mx_SpaceRoomDirectory_actionsText {
290+
.mx_SpaceHierarchy_actions {
291+
.mx_SpaceHierarchy_actionsText {
300292
font-weight: normal;
301293
font-size: $font-12px;
302294
line-height: $font-15px;
@@ -311,7 +303,7 @@ limitations under the License.
311303
margin: 20px 0;
312304
}
313305

314-
.mx_SpaceRoomDirectory_createRoom {
306+
.mx_SpaceHierarchy_createRoom {
315307
display: block;
316308
margin: 16px auto 0;
317309
width: max-content;

res/css/structures/_SpaceRoomView.scss

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,11 +363,6 @@ $SpaceRoomViewInnerWidth: 428px;
363363
width: max-content;
364364
margin: 0 0 -40px auto; // collapse its own height to not push other components down
365365
}
366-
367-
.mx_SpaceRoomDirectory_list {
368-
// we don't want this container to get forced into the flexbox layout
369-
display: contents;
370-
}
371366
}
372367

373368
.mx_SpaceRoomView_privateScope {

src/components/structures/RoomDirectory.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -833,6 +833,6 @@ export default class RoomDirectory extends React.Component<IProps, IState> {
833833

834834
// Similar to matrix-react-sdk's MatrixTools.getDisplayAliasForRoom
835835
// but works with the objects we get from the public room list
836-
function getDisplayAliasForRoom(room: IPublicRoomsChunkRoom) {
836+
export function getDisplayAliasForRoom(room: IPublicRoomsChunkRoom) {
837837
return getDisplayAliasForAliasSet(room.canonical_alias, room.aliases);
838838
}

0 commit comments

Comments
 (0)