diff --git a/cypress/e2e/widgets/layout.spec.ts b/cypress/e2e/widgets/layout.spec.ts index 16470fd5a0..fd6f50c1e0 100644 --- a/cypress/e2e/widgets/layout.spec.ts +++ b/cypress/e2e/widgets/layout.spec.ts @@ -129,4 +129,20 @@ describe("Widget Layout", () => { cy.get('iframe[title="widget"]').invoke("height").should("be.greaterThan", 400); }); + it("open right panel with chat when maximizing widget", () => { + cy.get('iframe[title="widget"]').invoke("height").should("be.lessThan", 250); + cy.findByRole("button", { name: "Maximise" }).click(); + cy.get(".mx_RightPanel").within(() => { + cy.get(".mx_BaseCard_header").should("contain", "Chat"); + }); + }); + it("close right panel with chat when unmaximizing widget", () => { + cy.get('iframe[title="widget"]').invoke("height").should("be.lessThan", 250); + cy.findByRole("button", { name: "Maximise" }).click(); + cy.get(".mx_RightPanel").within(() => { + cy.get(".mx_BaseCard_header").should("contain", "Chat"); + }); + cy.findByRole("button", { name: "Un-maximise" }).click(); + cy.get(".mx_RightPanel").should("not.exist"); + }); }); diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index 8ca3cd4276..408c5e40a5 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -539,6 +539,9 @@ export class RoomView extends React.Component { if (this.context.widgetLayoutStore.hasMaximisedWidget(this.state.room)) { // Show chat in right panel when a widget is maximised this.context.rightPanelStore.setCard({ phase: RightPanelPhases.Timeline }); + } else { + // Close the chat in right panel when the widget is unmaximised + this.context.rightPanelStore.togglePanel(null); } this.checkWidgets(this.state.room); };