mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-06 23:30:28 +03:00
Fix mobile call room default behavior from auto-join to displaying lobby
This commit is contained in:
parent
1e44557406
commit
e688c19350
1 changed files with 16 additions and 8 deletions
|
|
@ -54,6 +54,7 @@ import {
|
||||||
import { RoomNotificationModeSwitcher } from '../../components/RoomNotificationSwitcher';
|
import { RoomNotificationModeSwitcher } from '../../components/RoomNotificationSwitcher';
|
||||||
import { useCallState } from '../../pages/client/CallProvider';
|
import { useCallState } from '../../pages/client/CallProvider';
|
||||||
import { useRoomNavigate } from '../../hooks/useRoomNavigate';
|
import { useRoomNavigate } from '../../hooks/useRoomNavigate';
|
||||||
|
import { ScreenSize, useScreenSizeContext } from '../../hooks/useScreenSize';
|
||||||
|
|
||||||
type RoomNavItemMenuProps = {
|
type RoomNavItemMenuProps = {
|
||||||
room: Room;
|
room: Room;
|
||||||
|
|
@ -236,6 +237,8 @@ export function RoomNavItem({
|
||||||
);
|
);
|
||||||
const { navigateRoom } = useRoomNavigate();
|
const { navigateRoom } = useRoomNavigate();
|
||||||
const { roomIdOrAlias: viewedRoomId } = useParams();
|
const { roomIdOrAlias: viewedRoomId } = useParams();
|
||||||
|
const screenSize = useScreenSizeContext();
|
||||||
|
const isMobile = screenSize === ScreenSize.Mobile;
|
||||||
|
|
||||||
const handleContextMenu: MouseEventHandler<HTMLElement> = (evt) => {
|
const handleContextMenu: MouseEventHandler<HTMLElement> = (evt) => {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
|
|
@ -259,21 +262,26 @@ export function RoomNavItem({
|
||||||
if (chatButton && chatButton.contains(target)) {
|
if (chatButton && chatButton.contains(target)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!isMobile) {
|
||||||
if (room.isCallRoom() && activeCallRoomId !== room.roomId) {
|
if (room.isCallRoom() && activeCallRoomId !== room.roomId) {
|
||||||
hangUp();
|
hangUp();
|
||||||
setActiveCallRoomId(room.roomId);
|
setActiveCallRoomId(room.roomId);
|
||||||
setViewedCallRoomId(room.roomId);
|
if (mx.getRoom(viewedRoomId)?.isCallRoom()) {
|
||||||
if (mx.getRoom(viewedRoomId)?.isCallRoom()) {
|
navigateRoom(room.roomId);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
navigateRoom(room.roomId);
|
navigateRoom(room.roomId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
evt.stopPropagation();
|
||||||
|
if (isChatOpen) toggleChat();
|
||||||
|
setViewedCallRoomId(room.roomId);
|
||||||
navigateRoom(room.roomId);
|
navigateRoom(room.roomId);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleChatButtonClick = (e: MouseEvent<HTMLButtonElement>) => {
|
const handleChatButtonClick = (evt: MouseEvent<HTMLButtonElement>) => {
|
||||||
e.stopPropagation();
|
evt.stopPropagation();
|
||||||
if (!isChatOpen) toggleChat();
|
if (!isChatOpen) toggleChat();
|
||||||
setViewedCallRoomId(room.roomId);
|
setViewedCallRoomId(room.roomId);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue