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

Commit 328d7ea

Browse files
authored
Remove unused code left over from the old search (#8947)
1 parent 424d33d commit 328d7ea

File tree

11 files changed

+97
-461
lines changed

11 files changed

+97
-461
lines changed

res/css/structures/_LeftPanel.scss

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -217,14 +217,6 @@ $roomListCollapsedWidth: 68px;
217217
}
218218
}
219219

220-
.mx_LeftPanel_roomListFilterCount {
221-
font-size: $font-13px;
222-
font-weight: $font-semi-bold;
223-
margin-left: 12px;
224-
margin-top: 14px;
225-
margin-bottom: -4px; // to counteract the normal roomListWrapper margin-top
226-
}
227-
228220
.mx_LeftPanel_roomListWrapper {
229221
// Make the y-scrollbar more responsive
230222
padding-right: 2px;

src/components/views/rooms/RoomList.tsx

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

17-
import React, { ComponentType, createRef, ReactComponentElement, RefObject } from "react";
18-
import { Room } from "matrix-js-sdk/src/models/room";
19-
import { RoomType, EventType } from "matrix-js-sdk/src/@types/event";
2017
import * as fbEmitter from "fbemitter";
18+
import { EventType, RoomType } from "matrix-js-sdk/src/@types/event";
19+
import { Room } from "matrix-js-sdk/src/models/room";
20+
import React, { ComponentType, createRef, ReactComponentElement, RefObject } from "react";
2121

22-
import { _t, _td } from "../../../languageHandler";
2322
import { IState as IRovingTabIndexState, RovingTabIndexProvider } from "../../../accessibility/RovingTabIndex";
24-
import ResizeNotifier from "../../../utils/ResizeNotifier";
25-
import RoomListStore, { LISTS_UPDATE_EVENT } from "../../../stores/room-list/RoomListStore";
26-
import { RoomViewStore } from "../../../stores/RoomViewStore";
27-
import { ITagMap } from "../../../stores/room-list/algorithms/models";
28-
import { DefaultTagID, TagID } from "../../../stores/room-list/models";
23+
import MatrixClientContext from "../../../contexts/MatrixClientContext";
24+
import { shouldShowComponent } from "../../../customisations/helpers/UIComponents";
25+
import { Action } from "../../../dispatcher/actions";
2926
import defaultDispatcher from "../../../dispatcher/dispatcher";
30-
import RoomSublist, { IAuxButtonProps } from "./RoomSublist";
3127
import { ActionPayload } from "../../../dispatcher/payloads";
32-
import { MatrixClientPeg } from "../../../MatrixClientPeg";
33-
import ExtraTile from "./ExtraTile";
34-
import { Action } from "../../../dispatcher/actions";
3528
import { ViewRoomDeltaPayload } from "../../../dispatcher/payloads/ViewRoomDeltaPayload";
29+
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
30+
import { useEventEmitterState } from "../../../hooks/useEventEmitter";
31+
import { _t, _td } from "../../../languageHandler";
32+
import { MatrixClientPeg } from "../../../MatrixClientPeg";
33+
import PosthogTrackers from "../../../PosthogTrackers";
34+
import SettingsStore from "../../../settings/SettingsStore";
35+
import { UIComponent } from "../../../settings/UIFeature";
3636
import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore";
37-
import { arrayFastClone, arrayHasDiff } from "../../../utils/arrays";
38-
import { objectShallowClone, objectWithOnly } from "../../../utils/objects";
39-
import IconizedContextMenu, {
40-
IconizedContextMenuOption,
41-
IconizedContextMenuOptionList,
42-
} from "../context_menus/IconizedContextMenu";
43-
import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton";
44-
import { BetaPill } from "../beta/BetaCard";
45-
import SpaceStore from "../../../stores/spaces/SpaceStore";
37+
import { ITagMap } from "../../../stores/room-list/algorithms/models";
38+
import { DefaultTagID, TagID } from "../../../stores/room-list/models";
39+
import RoomListStore, { LISTS_UPDATE_EVENT } from "../../../stores/room-list/RoomListStore";
40+
import { RoomViewStore } from "../../../stores/RoomViewStore";
4641
import {
4742
isMetaSpace,
4843
ISuggestedRoom,
@@ -51,17 +46,21 @@ import {
5146
UPDATE_SELECTED_SPACE,
5247
UPDATE_SUGGESTED_ROOMS,
5348
} from "../../../stores/spaces";
49+
import SpaceStore from "../../../stores/spaces/SpaceStore";
50+
import { arrayFastClone, arrayHasDiff } from "../../../utils/arrays";
51+
import { objectShallowClone, objectWithOnly } from "../../../utils/objects";
52+
import ResizeNotifier from "../../../utils/ResizeNotifier";
5453
import { shouldShowSpaceInvite, showAddExistingRooms, showCreateNewRoom, showSpaceInvite } from "../../../utils/space";
54+
import { ChevronFace, ContextMenuTooltipButton, useContextMenu } from "../../structures/ContextMenu";
5555
import RoomAvatar from "../avatars/RoomAvatar";
56-
import { shouldShowComponent } from "../../../customisations/helpers/UIComponents";
57-
import { UIComponent } from "../../../settings/UIFeature";
56+
import { BetaPill } from "../beta/BetaCard";
57+
import IconizedContextMenu, {
58+
IconizedContextMenuOption,
59+
IconizedContextMenuOptionList,
60+
} from "../context_menus/IconizedContextMenu";
5861
import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
59-
import { useEventEmitterState } from "../../../hooks/useEventEmitter";
60-
import { ChevronFace, ContextMenuTooltipButton, useContextMenu } from "../../structures/ContextMenu";
61-
import MatrixClientContext from "../../../contexts/MatrixClientContext";
62-
import SettingsStore from "../../../settings/SettingsStore";
63-
import PosthogTrackers from "../../../PosthogTrackers";
64-
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
62+
import ExtraTile from "./ExtraTile";
63+
import RoomSublist, { IAuxButtonProps } from "./RoomSublist";
6564

6665
interface IProps {
6766
onKeyDown: (ev: React.KeyboardEvent, state: IRovingTabIndexState) => void;
@@ -76,7 +75,6 @@ interface IProps {
7675

7776
interface IState {
7877
sublists: ITagMap;
79-
isNameFiltering: boolean;
8078
currentRoomId?: string;
8179
suggestedRooms: ISuggestedRoom[];
8280
}
@@ -403,7 +401,6 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
403401

404402
this.state = {
405403
sublists: {},
406-
isNameFiltering: !!RoomListStore.instance.getFirstNameFilterCondition(),
407404
suggestedRooms: SpaceStore.instance.suggestedRooms,
408405
};
409406
}
@@ -480,8 +477,7 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
480477
const previousListIds = Object.keys(this.state.sublists);
481478
const newListIds = Object.keys(newLists);
482479

483-
const isNameFiltering = !!RoomListStore.instance.getFirstNameFilterCondition();
484-
let doUpdate = this.state.isNameFiltering !== isNameFiltering || arrayHasDiff(previousListIds, newListIds);
480+
let doUpdate = arrayHasDiff(previousListIds, newListIds);
485481
if (!doUpdate) {
486482
// so we didn't have the visible sublists change, but did the contents of those
487483
// sublists change significantly enough to break the sticky headers? Probably, so
@@ -503,33 +499,12 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
503499
const newSublists = objectWithOnly(newLists, newListIds);
504500
const sublists = objectShallowClone(newSublists, (k, v) => arrayFastClone(v));
505501

506-
this.setState({ sublists, isNameFiltering }, () => {
502+
this.setState({ sublists }, () => {
507503
this.props.onResize();
508504
});
509505
}
510506
};
511507

512-
private onStartChat = (ev: ButtonEvent) => {
513-
const initialText = RoomListStore.instance.getFirstNameFilterCondition()?.search;
514-
defaultDispatcher.dispatch({ action: "view_create_chat", initialText });
515-
PosthogTrackers.trackInteraction("WebRoomListRoomsSublistPlusMenuCreateChatItem", ev);
516-
};
517-
518-
private onExplore = (ev: ButtonEvent) => {
519-
if (!isMetaSpace(this.props.activeSpace)) {
520-
defaultDispatcher.dispatch<ViewRoomPayload>({
521-
action: Action.ViewRoom,
522-
room_id: this.props.activeSpace,
523-
metricsTrigger: undefined, // other
524-
});
525-
PosthogTrackers.trackInteraction("WebRoomListRoomsSublistPlusMenuExploreRoomsItem", ev);
526-
} else {
527-
const initialText = RoomListStore.instance.getFirstNameFilterCondition()?.search;
528-
defaultDispatcher.dispatch({ action: Action.ViewRoomDirectory, initialText });
529-
PosthogTrackers.trackInteraction("WebRoomListRoomsSublistPlusMenuExploreRoomsItem", ev);
530-
}
531-
};
532-
533508
private renderSuggestedRooms(): ReactComponentElement<typeof ExtraTile>[] {
534509
return this.state.suggestedRooms.map(room => {
535510
const name = room.name || room.canonical_alias || room.aliases?.[0] || _t("Empty room");
@@ -573,8 +548,8 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
573548

574549
private renderSublists(): React.ReactElement[] {
575550
// show a skeleton UI if the user is in no rooms and they are not filtering and have no suggested rooms
576-
const showSkeleton = !this.state.isNameFiltering && !this.state.suggestedRooms?.length &&
577-
Object.values(RoomListStore.instance.unfilteredLists).every(list => !list?.length);
551+
const showSkeleton = !this.state.suggestedRooms?.length &&
552+
Object.values(RoomListStore.instance.orderedLists).every(list => !list?.length);
578553

579554
return TAG_ORDER
580555
.map(orderedTagId => {
@@ -636,29 +611,6 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
636611
}
637612

638613
public render() {
639-
let explorePrompt: JSX.Element;
640-
if (!this.props.isMinimized) {
641-
if (this.state.isNameFiltering) {
642-
explorePrompt = <div className="mx_RoomList_explorePrompt">
643-
<div>{ _t("Can't see what you're looking for?") }</div>
644-
<AccessibleButton
645-
className="mx_RoomList_explorePrompt_startChat"
646-
kind="link"
647-
onClick={this.onStartChat}
648-
>
649-
{ _t("Start a new chat") }
650-
</AccessibleButton>
651-
<AccessibleButton
652-
className="mx_RoomList_explorePrompt_explore"
653-
kind="link"
654-
onClick={this.onExplore}
655-
>
656-
{ !isMetaSpace(this.props.activeSpace) ? _t("Explore rooms") : _t("Explore all public rooms") }
657-
</AccessibleButton>
658-
</div>;
659-
}
660-
}
661-
662614
const sublists = this.renderSublists();
663615
return (
664616
<RovingTabIndexProvider handleHomeEnd handleUpDown onKeyDown={this.props.onKeyDown}>
@@ -673,7 +625,6 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
673625
ref={this.treeRef}
674626
>
675627
{ sublists }
676-
{ explorePrompt }
677628
</div>
678629
) }
679630
</RovingTabIndexProvider>

src/components/views/rooms/RoomListHeader.tsx

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

17-
import React, { useContext, useEffect, useState } from "react";
18-
import { Room, RoomEvent } from "matrix-js-sdk/src/models/room";
1917
import { EventType, RoomType } from "matrix-js-sdk/src/@types/event";
2018
import { ClientEvent } from "matrix-js-sdk/src/client";
19+
import { Room, RoomEvent } from "matrix-js-sdk/src/models/room";
20+
import React, { useContext, useEffect, useState } from "react";
2121

22-
import { _t } from "../../../languageHandler";
22+
import MatrixClientContext from "../../../contexts/MatrixClientContext";
23+
import { shouldShowComponent } from "../../../customisations/helpers/UIComponents";
24+
import { Action } from "../../../dispatcher/actions";
25+
import defaultDispatcher from "../../../dispatcher/dispatcher";
26+
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
27+
import { useDispatcher } from "../../../hooks/useDispatcher";
2328
import { useEventEmitterState, useTypedEventEmitter, useTypedEventEmitterState } from "../../../hooks/useEventEmitter";
2429
import { useFeatureEnabled } from "../../../hooks/useSettings";
30+
import { _t } from "../../../languageHandler";
31+
import PosthogTrackers from "../../../PosthogTrackers";
32+
import { UIComponent } from "../../../settings/UIFeature";
33+
import {
34+
getMetaSpaceName,
35+
MetaSpace,
36+
SpaceKey,
37+
UPDATE_HOME_BEHAVIOUR,
38+
UPDATE_SELECTED_SPACE,
39+
} from "../../../stores/spaces";
2540
import SpaceStore from "../../../stores/spaces/SpaceStore";
26-
import { ChevronFace, ContextMenuTooltipButton, useContextMenu } from "../../structures/ContextMenu";
27-
import SpaceContextMenu from "../context_menus/SpaceContextMenu";
28-
import { HomeButtonContextMenu } from "../spaces/SpacePanel";
29-
import IconizedContextMenu, {
30-
IconizedContextMenuOption,
31-
IconizedContextMenuOptionList,
32-
} from "../context_menus/IconizedContextMenu";
33-
import defaultDispatcher from "../../../dispatcher/dispatcher";
3441
import {
3542
shouldShowSpaceInvite,
3643
showAddExistingRooms,
3744
showCreateNewRoom,
3845
showCreateNewSubspace,
3946
showSpaceInvite,
4047
} from "../../../utils/space";
41-
import { Action } from "../../../dispatcher/actions";
42-
import { useDispatcher } from "../../../hooks/useDispatcher";
48+
import { ChevronFace, ContextMenuTooltipButton, useContextMenu } from "../../structures/ContextMenu";
49+
import { BetaPill } from "../beta/BetaCard";
50+
import IconizedContextMenu, {
51+
IconizedContextMenuOption,
52+
IconizedContextMenuOptionList,
53+
} from "../context_menus/IconizedContextMenu";
54+
import SpaceContextMenu from "../context_menus/SpaceContextMenu";
4355
import InlineSpinner from "../elements/InlineSpinner";
44-
import MatrixClientContext from "../../../contexts/MatrixClientContext";
45-
import RoomListStore, { LISTS_UPDATE_EVENT } from "../../../stores/room-list/RoomListStore";
46-
import {
47-
getMetaSpaceName,
48-
MetaSpace,
49-
SpaceKey,
50-
UPDATE_HOME_BEHAVIOUR,
51-
UPDATE_SELECTED_SPACE,
52-
} from "../../../stores/spaces";
5356
import TooltipTarget from "../elements/TooltipTarget";
54-
import { BetaPill } from "../beta/BetaCard";
55-
import PosthogTrackers from "../../../PosthogTrackers";
56-
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
57-
import { useWebSearchMetrics } from "../dialogs/spotlight/SpotlightDialog";
58-
import { shouldShowComponent } from "../../../customisations/helpers/UIComponents";
59-
import { UIComponent } from "../../../settings/UIFeature";
57+
import { HomeButtonContextMenu } from "../spaces/SpacePanel";
6058

6159
const contextMenuBelow = (elementRect: DOMRect) => {
6260
// align the context menu's icons with the icon which opened the context menu
@@ -131,15 +129,6 @@ const RoomListHeader = ({ onVisibilityChange }: IProps) => {
131129
const videoRoomsEnabled = useFeatureEnabled("feature_video_rooms");
132130
const pendingActions = usePendingActions();
133131

134-
const filterCondition = RoomListStore.instance.getFirstNameFilterCondition();
135-
const count = useEventEmitterState(RoomListStore.instance, LISTS_UPDATE_EVENT, () => {
136-
if (filterCondition) {
137-
return Object.values(RoomListStore.instance.orderedLists).flat(1).length;
138-
} else {
139-
return null;
140-
}
141-
});
142-
143132
const canShowMainMenu = activeSpace || spaceKey === MetaSpace.Home;
144133

145134
useEffect(() => {
@@ -149,22 +138,13 @@ const RoomListHeader = ({ onVisibilityChange }: IProps) => {
149138
}
150139
}, [closeMainMenu, canShowMainMenu, mainMenuDisplayed]);
151140

152-
// we pass null for the queryLength to inhibit the metrics hook for when there is no filterCondition
153-
useWebSearchMetrics(count, filterCondition ? filterCondition.search.length : null, false);
154-
155141
const spaceName = useTypedEventEmitterState(activeSpace, RoomEvent.Name, () => activeSpace?.name);
156142

157143
useEffect(() => {
158144
if (onVisibilityChange) {
159145
onVisibilityChange();
160146
}
161-
}, [count, onVisibilityChange]);
162-
163-
if (typeof count === "number") {
164-
return <div className="mx_LeftPanel_roomListFilterCount">
165-
{ _t("%(count)s results", { count }) }
166-
</div>;
167-
}
147+
}, [onVisibilityChange]);
168148

169149
const canAddRooms = activeSpace?.currentState?.maySendStateEvent(EventType.SpaceChild, cli.getUserId());
170150

0 commit comments

Comments
 (0)