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

Commit 816136d

Browse files
Make double-clicking the PiP take you to the call room (#7142)
1 parent a65637c commit 816136d

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

res/css/views/voip/_CallView.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ limitations under the License.
128128
padding-top: 20px;
129129
padding-bottom: 15px;
130130
color: $accent-fg-color;
131+
user-select: none;
132+
131133
.mx_AccessibleButton_hasKind {
132134
padding: 0px;
133135
font-weight: bold;

src/components/views/voip/CallPreview.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,21 @@ export default class CallPreview extends React.Component<IProps, IState> {
178178
});
179179
};
180180

181+
private onDoubleClick = (): void => {
182+
dis.dispatch({
183+
action: "view_room",
184+
room_id: this.state.primaryCall.roomId,
185+
});
186+
};
187+
181188
public render() {
182189
const pipMode = true;
183190
if (this.state.primaryCall) {
184191
return (
185192
<PictureInPictureDragger
186193
className="mx_CallPreview"
187194
draggable={pipMode}
195+
onDoubleClick={this.onDoubleClick}
188196
>
189197
{ ({ onStartMoving, onResize }) => <CallView
190198
onMouseDownOnHeader={onStartMoving}

src/components/views/voip/CallView/CallViewHeader.tsx

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { Room } from 'matrix-js-sdk/src/models/room';
1919
import React from 'react';
2020
import { _t, _td } from '../../../../languageHandler';
2121
import RoomAvatar from '../../avatars/RoomAvatar';
22-
import AccessibleButton from '../../elements/AccessibleButton';
2322
import dis from '../../../../dispatcher/dispatcher';
2423
import classNames from 'classnames';
2524
import AccessibleTooltipButton from '../../elements/AccessibleTooltipButton';
@@ -36,13 +35,6 @@ interface CallViewHeaderProps {
3635
onPipMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void;
3736
}
3837

39-
const onRoomAvatarClick = (roomId: string) => {
40-
dis.dispatch({
41-
action: 'view_room',
42-
room_id: roomId,
43-
});
44-
};
45-
4638
const onFullscreenClick = () => {
4739
dis.dispatch({
4840
action: 'video_fullscreen',
@@ -76,12 +68,10 @@ const CallViewHeaderControls: React.FC<CallControlsProps> = ({ pipMode = false,
7668
};
7769
const SecondaryCallInfo: React.FC<{ callRoom: Room }> = ({ callRoom }) => {
7870
return <span className="mx_CallViewHeader_secondaryCallInfo">
79-
<AccessibleButton element='span' onClick={() => onRoomAvatarClick(callRoom.roomId)}>
80-
<RoomAvatar room={callRoom} height={16} width={16} />
81-
<span className="mx_CallView_secondaryCall_roomName">
82-
{ _t("%(name)s on hold", { name: callRoom.name }) }
83-
</span>
84-
</AccessibleButton>
71+
<RoomAvatar room={callRoom} height={16} width={16} />
72+
<span className="mx_CallView_secondaryCall_roomName">
73+
{ _t("%(name)s on hold", { name: callRoom.name }) }
74+
</span>
8575
</span>;
8676
};
8777

@@ -117,9 +107,7 @@ const CallViewHeader: React.FC<CallViewHeaderProps> = ({
117107
className="mx_CallViewHeader"
118108
onMouseDown={onPipMouseDown}
119109
>
120-
<AccessibleButton onClick={() => onRoomAvatarClick(roomId)}>
121-
<RoomAvatar room={callRoom} height={32} width={32} />
122-
</AccessibleButton>
110+
<RoomAvatar room={callRoom} height={32} width={32} />
123111
<div className="mx_CallViewHeader_callInfo">
124112
<div className="mx_CallViewHeader_roomName">{ callRoomName }</div>
125113
<div className="mx_CallViewHeader_callTypeSmall">

src/components/views/voip/PictureInPictureDragger.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ interface IProps {
4242
className?: string;
4343
children: ({ onStartMoving, onResize }: IChildrenOptions) => React.ReactNode;
4444
draggable: boolean;
45+
onDoubleClick?: () => void;
4546
}
4647

4748
interface IState {
@@ -216,6 +217,7 @@ export default class PictureInPictureDragger extends React.Component<IProps, ISt
216217
className={this.props.className}
217218
style={this.props.draggable ? style : undefined}
218219
ref={this.callViewWrapper}
220+
onDoubleClick={this.props.onDoubleClick}
219221
>
220222
<>
221223
{ this.props.children({

0 commit comments

Comments
 (0)