Show chat panel when opening a video room with unread messages (#8812)
* Show chat panel when opening a video room with unread messages * Remove unnecessary calls to private methods in tests * Make room ID mandatory when toggling the right panel * Restore the isViewingRoom check * Test RightPanelStore * Make the constructor private again * Add even more tests * Fix onReady
This commit is contained in:
parent
162be6ca94
commit
ef48443dc9
11 changed files with 432 additions and 124 deletions
|
@ -122,7 +122,7 @@ const EncryptionPanel: React.FC<IProps> = (props: IProps) => {
|
|||
state: { member, verificationRequest: verificationRequest_ },
|
||||
});
|
||||
}
|
||||
if (!RightPanelStore.instance.isOpen) RightPanelStore.instance.togglePanel();
|
||||
if (!RightPanelStore.instance.isOpen) RightPanelStore.instance.togglePanel(null);
|
||||
}, [member]);
|
||||
|
||||
const requested =
|
||||
|
|
|
@ -70,10 +70,10 @@ export default abstract class HeaderButtons<P = {}> extends React.Component<IPro
|
|||
public setPhase(phase: RightPanelPhases, cardState?: Partial<IRightPanelCardState>) {
|
||||
const rps = RightPanelStore.instance;
|
||||
if (rps.currentCard.phase == phase && !cardState && rps.isOpen) {
|
||||
rps.togglePanel();
|
||||
rps.togglePanel(null);
|
||||
} else {
|
||||
RightPanelStore.instance.setCard({ phase, state: cardState });
|
||||
if (!rps.isOpen) rps.togglePanel();
|
||||
if (!rps.isOpen) rps.togglePanel(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ export default class RoomHeaderButtons extends HeaderButtons<IProps> {
|
|||
|
||||
private onThreadsPanelClicked = (ev: ButtonEvent) => {
|
||||
if (RoomHeaderButtons.THREAD_PHASES.includes(this.state.phase)) {
|
||||
RightPanelStore.instance.togglePanel();
|
||||
RightPanelStore.instance.togglePanel(this.props.room?.roomId);
|
||||
} else {
|
||||
showThreadPanel();
|
||||
PosthogTrackers.trackInteraction("WebRoomHeaderButtonsThreadsButton", ev);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue