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

Commit 40cbee6

Browse files
author
Germain
authored
Consolidate public room search experience (#9605)
1 parent 041bb46 commit 40cbee6

File tree

18 files changed

+389
-1349
lines changed

18 files changed

+389
-1349
lines changed

cypress/e2e/room-directory/room-directory.spec.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,16 @@ describe("Room Directory", () => {
8888

8989
cy.get('[role="button"][aria-label="Explore rooms"]').click();
9090

91-
cy.get('.mx_RoomDirectory_dialogWrapper [name="dirsearch"]').type("Unknown Room");
92-
cy.get(".mx_RoomDirectory_dialogWrapper h5").should("contain", 'No results for "Unknown Room"');
93-
cy.get(".mx_RoomDirectory_dialogWrapper").percySnapshotElement("Room Directory - filtered no results");
94-
95-
cy.get('.mx_RoomDirectory_dialogWrapper [name="dirsearch"]').type("{selectAll}{backspace}test1234");
96-
cy.contains(".mx_RoomDirectory_dialogWrapper .mx_RoomDirectory_listItem", name)
97-
.should("exist").as("resultRow");
98-
cy.get(".mx_RoomDirectory_dialogWrapper").percySnapshotElement("Room Directory - filtered one result");
99-
cy.get("@resultRow").find(".mx_AccessibleButton").contains("Join").click();
91+
cy.get('.mx_SpotlightDialog [aria-label="Search"]').type("Unknown Room");
92+
cy.get(".mx_SpotlightDialog .mx_SpotlightDialog_otherSearches_messageSearchText")
93+
.should("contain", "can't find the room you're looking for");
94+
cy.get(".mx_SpotlightDialog_wrapper").percySnapshotElement("Room Directory - filtered no results");
95+
96+
cy.get('.mx_SpotlightDialog [aria-label="Search"]').type("{selectAll}{backspace}test1234");
97+
cy.contains(".mx_SpotlightDialog .mx_SpotlightDialog_result_publicRoomName", name)
98+
.should("exist");
99+
cy.get(".mx_SpotlightDialog_wrapper").percySnapshotElement("Room Directory - filtered one result");
100+
cy.get(".mx_SpotlightDialog .mx_SpotlightDialog_option").find(".mx_AccessibleButton").contains("Join").click();
100101

101102
cy.url().should('contain', `/#/room/#test1234:localhost`);
102103
});

res/css/_components.pcss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@
6464
@import "./structures/_NotificationPanel.pcss";
6565
@import "./structures/_QuickSettingsButton.pcss";
6666
@import "./structures/_RightPanel.pcss";
67-
@import "./structures/_RoomDirectory.pcss";
6867
@import "./structures/_RoomSearch.pcss";
6968
@import "./structures/_RoomStatusBar.pcss";
7069
@import "./structures/_RoomView.pcss";
@@ -171,7 +170,6 @@
171170
@import "./views/elements/_CopyableText.pcss";
172171
@import "./views/elements/_DesktopCapturerSourcePicker.pcss";
173172
@import "./views/elements/_DialPadBackspaceButton.pcss";
174-
@import "./views/elements/_DirectorySearchBox.pcss";
175173
@import "./views/elements/_Dropdown.pcss";
176174
@import "./views/elements/_EditableItemList.pcss";
177175
@import "./views/elements/_ErrorBoundary.pcss";

res/css/structures/_RoomDirectory.pcss

Lines changed: 0 additions & 220 deletions
This file was deleted.

res/css/views/elements/_DirectorySearchBox.pcss

Lines changed: 0 additions & 49 deletions
This file was deleted.

src/Rooms.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import AliasCustomisations from './customisations/Alias';
2929
* @param {Object} room The room object
3030
* @returns {string} A display alias for the given room
3131
*/
32-
export function getDisplayAliasForRoom(room: Room): string {
32+
export function getDisplayAliasForRoom(room: Room): string | undefined {
3333
return getDisplayAliasForAliasSet(
3434
room.getCanonicalAlias(), room.getAltAliases(),
3535
);
@@ -41,7 +41,7 @@ export function getDisplayAliasForAliasSet(canonicalAlias: string, altAliases: s
4141
if (AliasCustomisations.getDisplayAliasForAliasSet) {
4242
return AliasCustomisations.getDisplayAliasForAliasSet(canonicalAlias, altAliases);
4343
}
44-
return canonicalAlias || altAliases?.[0];
44+
return (canonicalAlias || altAliases?.[0]) ?? "";
4545
}
4646

4747
export function guessAndSetDMRoom(room: Room, isDirect: boolean): Promise<void> {

src/components/structures/MatrixChat.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ import Spinner from "../views/elements/Spinner";
9595
import QuestionDialog from "../views/dialogs/QuestionDialog";
9696
import UserSettingsDialog from '../views/dialogs/UserSettingsDialog';
9797
import CreateRoomDialog from '../views/dialogs/CreateRoomDialog';
98-
import RoomDirectory from './RoomDirectory';
9998
import KeySignatureUploadFailedDialog from "../views/dialogs/KeySignatureUploadFailedDialog";
10099
import IncomingSasDialog from "../views/dialogs/IncomingSasDialog";
101100
import CompleteSecurity from "./auth/CompleteSecurity";
@@ -141,6 +140,7 @@ import { viewUserDeviceSettings } from '../../actions/handlers/viewUserDeviceSet
141140
import { VoiceBroadcastResumer } from '../../voice-broadcast';
142141
import GenericToast from "../views/toasts/GenericToast";
143142
import { Linkify } from "../views/elements/Linkify";
143+
import RovingSpotlightDialog, { Filter } from '../views/dialogs/spotlight/SpotlightDialog';
144144

145145
// legacy export
146146
export { default as Views } from "../../Views";
@@ -716,9 +716,10 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
716716
this.viewSomethingBehindModal();
717717
break;
718718
case Action.ViewRoomDirectory: {
719-
Modal.createDialog(RoomDirectory, {
719+
Modal.createDialog(RovingSpotlightDialog, {
720720
initialText: payload.initialText,
721-
}, 'mx_RoomDirectory_dialogWrapper', false, true);
721+
initialFilter: Filter.PublicRooms,
722+
}, 'mx_SpotlightDialog_wrapper', false, true);
722723

723724
// View the welcome or home page if we need something to look at
724725
this.viewSomethingBehindModal();

0 commit comments

Comments
 (0)