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

Support joining non-peekable rooms via the module API #10154

Merged
5 changes: 5 additions & 0 deletions src/components/structures/RoomView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1903,6 +1903,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
loading={loading}
joining={this.state.joining}
oobData={this.props.oobData}
roomId={this.state.roomId}
richvdh marked this conversation as resolved.
Show resolved Hide resolved
/>
</ErrorBoundary>
</div>
Expand Down Expand Up @@ -1933,6 +1934,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
oobData={this.props.oobData}
signUrl={this.props.threepidInvite?.signUrl}
room={this.state.room}
richvdh marked this conversation as resolved.
Show resolved Hide resolved
roomId={this.state.roomId}
/>
</ErrorBoundary>
</div>
Expand Down Expand Up @@ -1969,6 +1971,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
error={this.state.roomLoadError}
joining={this.state.joining}
rejecting={this.state.rejecting}
roomId={this.state.roomId}
/>
</ErrorBoundary>
);
Expand Down Expand Up @@ -1998,6 +2001,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
canPreview={false}
joining={this.state.joining}
room={this.state.room}
roomId={this.state.roomId}
/>
</ErrorBoundary>
</div>
Expand Down Expand Up @@ -2090,6 +2094,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
oobData={this.props.oobData}
canPreview={this.state.canPeek}
room={this.state.room}
roomId={this.state.roomId}
/>
);
if (!this.state.canPeek && !this.state.room?.isSpaceRoom()) {
Expand Down
11 changes: 3 additions & 8 deletions src/components/views/rooms/RoomPreviewBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ enum MessageCase {
}

interface IProps {
roomId: string;
richvdh marked this conversation as resolved.
Show resolved Hide resolved
// if inviterName is specified, the preview bar will shown an invite to the room.
// You should also specify onRejectClick if specifying inviterName
inviterName?: string;
Expand Down Expand Up @@ -310,18 +311,12 @@ export default class RoomPreviewBar extends React.Component<IProps, IState> {
}
case MessageCase.NotLoggedIn: {
const opts: RoomPreviewOpts = { canJoin: false };
if (this.props.room?.roomId) {
ModuleRunner.instance.invoke(
RoomViewLifecycle.PreviewRoomNotLoggedIn,
opts,
this.props.room.roomId,
);
}
ModuleRunner.instance.invoke(RoomViewLifecycle.PreviewRoomNotLoggedIn, opts, this.props.roomId);
if (opts.canJoin) {
title = _t("Join the room to participate");
primaryActionLabel = _t("Join");
primaryActionHandler = () => {
ModuleRunner.instance.invoke(RoomViewLifecycle.JoinFromRoomPreview, this.props.room.roomId);
ModuleRunner.instance.invoke(RoomViewLifecycle.JoinFromRoomPreview, this.props.roomId);
};
richvdh marked this conversation as resolved.
Show resolved Hide resolved
} else {
title = _t("Join the conversation with an account");
Expand Down