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

Commit 42cc3ca

Browse files
committed
Remove unnecessary PipContainer component
1 parent d6e447b commit 42cc3ca

File tree

8 files changed

+44
-111
lines changed

8 files changed

+44
-111
lines changed

res/css/_components.pcss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,6 @@
372372
@import "./views/voip/_LegacyCallViewForRoom.pcss";
373373
@import "./views/voip/_LegacyCallViewHeader.pcss";
374374
@import "./views/voip/_LegacyCallViewSidebar.pcss";
375-
@import "./views/voip/_PiPContainer.pcss";
376375
@import "./views/voip/_VideoFeed.pcss";
377376
@import "./voice-broadcast/atoms/_LiveBadge.pcss";
378377
@import "./voice-broadcast/atoms/_PlaybackControlButton.pcss";

res/css/views/voip/_LegacyCallPreview.pcss

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ limitations under the License.
1919
left: 0;
2020
top: 0;
2121

22-
pointer-events: initial; /* restore pointer events so the user can leave/interact */
23-
2422
.mx_VideoFeed_remote.mx_VideoFeed_voice {
2523
min-height: 150px;
2624
}
@@ -29,4 +27,4 @@ limitations under the License.
2927
border-radius: 8px;
3028
overflow: hidden;
3129
}
32-
}
30+
}

res/css/views/voip/_PiPContainer.pcss

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

src/components/structures/LoggedInView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import { DefaultTagID } from "../../stores/room-list/models";
4141
import { hideToast as hideServerLimitToast, showToast as showServerLimitToast } from "../../toasts/ServerLimitToast";
4242
import { Action } from "../../dispatcher/actions";
4343
import LeftPanel from "./LeftPanel";
44-
import PipContainer from "../views/voip/PipContainer";
4544
import { ViewRoomDeltaPayload } from "../../dispatcher/payloads/ViewRoomDeltaPayload";
4645
import RoomListStore from "../../stores/room-list/RoomListStore";
4746
import NonUrgentToastContainer from "./NonUrgentToastContainer";
@@ -71,6 +70,7 @@ import { SwitchSpacePayload } from "../../dispatcher/payloads/SwitchSpacePayload
7170
import { IConfigOptions } from "../../IConfigOptions";
7271
import LeftPanelLiveShareWarning from "../views/beacon/LeftPanelLiveShareWarning";
7372
import { UserOnboardingPage } from "../views/user-onboarding/UserOnboardingPage";
73+
import { PipContainer } from "./PipContainer";
7474

7575
// We need to fetch each pinned message individually (if we don't already have it)
7676
// so each pinned message may trigger a request. Limit the number per room for sanity.

src/components/views/voip/PictureInPictureDragger.tsx renamed to src/components/structures/PictureInPictureDragger.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ limitations under the License.
1616

1717
import React, { createRef } from "react";
1818

19-
import UIStore, { UI_EVENTS } from "../../../stores/UIStore";
20-
import { lerp } from "../../../utils/AnimationUtils";
21-
import { MarkedExecution } from "../../../utils/MarkedExecution";
19+
import UIStore, { UI_EVENTS } from "../../stores/UIStore";
20+
import { lerp } from "../../utils/AnimationUtils";
21+
import { MarkedExecution } from "../../utils/MarkedExecution";
2222

2323
const PIP_VIEW_WIDTH = 336;
2424
const PIP_VIEW_HEIGHT = 232;

src/components/views/voip/PipView.tsx renamed to src/components/structures/PipContainer.tsx

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,21 @@ import classNames from "classnames";
2121
import { Room } from "matrix-js-sdk/src/models/room";
2222
import { Optional } from "matrix-events-sdk";
2323

24-
import LegacyCallView from "./LegacyCallView";
25-
import LegacyCallHandler, { LegacyCallHandlerEvent } from "../../../LegacyCallHandler";
26-
import PersistentApp from "../elements/PersistentApp";
27-
import { MatrixClientPeg } from "../../../MatrixClientPeg";
24+
import LegacyCallView from "../views/voip/LegacyCallView";
25+
import LegacyCallHandler, { LegacyCallHandlerEvent } from "../../LegacyCallHandler";
26+
import PersistentApp from "../views/elements/PersistentApp";
27+
import { MatrixClientPeg } from "../../MatrixClientPeg";
2828
import PictureInPictureDragger, { CreatePipChildren } from "./PictureInPictureDragger";
29-
import dis from "../../../dispatcher/dispatcher";
30-
import { Action } from "../../../dispatcher/actions";
31-
import { Container, WidgetLayoutStore } from "../../../stores/widgets/WidgetLayoutStore";
32-
import LegacyCallViewHeader from "./LegacyCallView/LegacyCallViewHeader";
33-
import ActiveWidgetStore, { ActiveWidgetStoreEvent } from "../../../stores/ActiveWidgetStore";
34-
import WidgetStore, { IApp } from "../../../stores/WidgetStore";
35-
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
36-
import { UPDATE_EVENT } from "../../../stores/AsyncStore";
37-
import { SDKContext, SdkContextClass } from "../../../contexts/SDKContext";
38-
import { CallStore } from "../../../stores/CallStore";
29+
import dis from "../../dispatcher/dispatcher";
30+
import { Action } from "../../dispatcher/actions";
31+
import { Container, WidgetLayoutStore } from "../../stores/widgets/WidgetLayoutStore";
32+
import LegacyCallViewHeader from "../views/voip/LegacyCallView/LegacyCallViewHeader";
33+
import ActiveWidgetStore, { ActiveWidgetStoreEvent } from "../../stores/ActiveWidgetStore";
34+
import WidgetStore, { IApp } from "../../stores/WidgetStore";
35+
import { ViewRoomPayload } from "../../dispatcher/payloads/ViewRoomPayload";
36+
import { UPDATE_EVENT } from "../../stores/AsyncStore";
37+
import { SDKContext, SdkContextClass } from "../../contexts/SDKContext";
38+
import { CallStore } from "../../stores/CallStore";
3939
import {
4040
useCurrentVoiceBroadcastPreRecording,
4141
useCurrentVoiceBroadcastRecording,
@@ -46,8 +46,8 @@ import {
4646
VoiceBroadcastRecording,
4747
VoiceBroadcastRecordingPip,
4848
VoiceBroadcastSmallPlaybackBody,
49-
} from "../../../voice-broadcast";
50-
import { useCurrentVoiceBroadcastPlayback } from "../../../voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback";
49+
} from "../../voice-broadcast";
50+
import { useCurrentVoiceBroadcastPlayback } from "../../voice-broadcast/hooks/useCurrentVoiceBroadcastPlayback";
5151

5252
const SHOW_CALL_IN_STATES = [
5353
CallState.Connected,
@@ -128,12 +128,12 @@ function getPrimarySecondaryCallsForPip(roomId: Optional<string>): [MatrixCall |
128128
}
129129

130130
/**
131-
* PipView shows a small version of the LegacyCallView or a sticky widget hovering over the UI in 'picture-in-picture'
132-
* (PiP mode). It displays the call(s) which is *not* in the room the user is currently viewing
131+
* PipContainer shows a small version of the LegacyCallView or a sticky widget hovering over the UI in
132+
* 'picture-in-picture' (PiP mode). It displays the call(s) which is *not* in the room the user is currently viewing
133133
* and all widgets that are active but not shown in any other possible container.
134134
*/
135135

136-
class PipView extends React.Component<IProps, IState> {
136+
class PipContainerInner extends React.Component<IProps, IState> {
137137
// The cast is not so great, but solves the typing issue for the moment.
138138
// Proper solution: use useRef (requires the component to be refactored to a functional component).
139139
private movePersistedElement = createRef<() => void>() as React.MutableRefObject<() => void>;
@@ -452,7 +452,7 @@ class PipView extends React.Component<IProps, IState> {
452452
}
453453
}
454454

455-
const PipViewHOC: React.FC<IProps> = (props) => {
455+
export const PipContainer: React.FC<IProps> = (props) => {
456456
const sdkContext = useContext(SDKContext);
457457
const voiceBroadcastPreRecordingStore = sdkContext.voiceBroadcastPreRecordingStore;
458458
const { currentVoiceBroadcastPreRecording } = useCurrentVoiceBroadcastPreRecording(voiceBroadcastPreRecordingStore);
@@ -464,13 +464,11 @@ const PipViewHOC: React.FC<IProps> = (props) => {
464464
const { currentVoiceBroadcastPlayback } = useCurrentVoiceBroadcastPlayback(voiceBroadcastPlaybacksStore);
465465

466466
return (
467-
<PipView
467+
<PipContainerInner
468468
voiceBroadcastPlayback={currentVoiceBroadcastPlayback}
469469
voiceBroadcastPreRecording={currentVoiceBroadcastPreRecording}
470470
voiceBroadcastRecording={currentVoiceBroadcastRecording}
471471
{...props}
472472
/>
473473
);
474474
};
475-
476-
export default PipViewHOC;

src/components/views/voip/PipContainer.tsx

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

test/components/views/voip/PipView-test.tsx renamed to test/components/structures/PipContainer-test.tsx

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,30 +34,30 @@ import {
3434
wrapInMatrixClientContext,
3535
wrapInSdkContext,
3636
mkRoomCreateEvent,
37-
} from "../../../test-utils";
38-
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
39-
import { CallStore } from "../../../../src/stores/CallStore";
40-
import { WidgetMessagingStore } from "../../../../src/stores/widgets/WidgetMessagingStore";
41-
import UnwrappedPipView from "../../../../src/components/views/voip/PipView";
42-
import ActiveWidgetStore from "../../../../src/stores/ActiveWidgetStore";
43-
import DMRoomMap from "../../../../src/utils/DMRoomMap";
44-
import defaultDispatcher from "../../../../src/dispatcher/dispatcher";
45-
import { Action } from "../../../../src/dispatcher/actions";
46-
import { ViewRoomPayload } from "../../../../src/dispatcher/payloads/ViewRoomPayload";
47-
import { TestSdkContext } from "../../../TestSdkContext";
37+
} from "../../test-utils";
38+
import { MatrixClientPeg } from "../../../src/MatrixClientPeg";
39+
import { CallStore } from "../../../src/stores/CallStore";
40+
import { WidgetMessagingStore } from "../../../src/stores/widgets/WidgetMessagingStore";
41+
import { PipContainer as UnwrappedPipContainer } from "../../../src/components/structures/PipContainer";
42+
import ActiveWidgetStore from "../../../src/stores/ActiveWidgetStore";
43+
import DMRoomMap from "../../../src/utils/DMRoomMap";
44+
import defaultDispatcher from "../../../src/dispatcher/dispatcher";
45+
import { Action } from "../../../src/dispatcher/actions";
46+
import { ViewRoomPayload } from "../../../src/dispatcher/payloads/ViewRoomPayload";
47+
import { TestSdkContext } from "../../TestSdkContext";
4848
import {
4949
VoiceBroadcastInfoState,
5050
VoiceBroadcastPlaybacksStore,
5151
VoiceBroadcastPreRecording,
5252
VoiceBroadcastPreRecordingStore,
5353
VoiceBroadcastRecording,
5454
VoiceBroadcastRecordingsStore,
55-
} from "../../../../src/voice-broadcast";
56-
import { mkVoiceBroadcastInfoStateEvent } from "../../../voice-broadcast/utils/test-utils";
57-
import { RoomViewStore } from "../../../../src/stores/RoomViewStore";
58-
import { IRoomStateEventsActionPayload } from "../../../../src/actions/MatrixActionCreators";
55+
} from "../../../src/voice-broadcast";
56+
import { mkVoiceBroadcastInfoStateEvent } from "../../voice-broadcast/utils/test-utils";
57+
import { RoomViewStore } from "../../../src/stores/RoomViewStore";
58+
import { IRoomStateEventsActionPayload } from "../../../src/actions/MatrixActionCreators";
5959

60-
describe("PipView", () => {
60+
describe("PipContainer", () => {
6161
useMockedCalls();
6262
jest.spyOn(HTMLMediaElement.prototype, "play").mockImplementation(async () => {});
6363

@@ -120,8 +120,8 @@ describe("PipView", () => {
120120
});
121121

122122
const renderPip = () => {
123-
const PipView = wrapInMatrixClientContext(wrapInSdkContext(UnwrappedPipView, sdkContext));
124-
render(<PipView />);
123+
const PipContainer = wrapInMatrixClientContext(wrapInSdkContext(UnwrappedPipContainer, sdkContext));
124+
render(<PipContainer />);
125125
};
126126

127127
const viewRoom = (roomId: string) =>

0 commit comments

Comments
 (0)