loosely provide nav handling for testing refactoring

This commit is contained in:
Gigiaj
2025-05-08 17:57:45 -05:00
parent 9e919ea761
commit 3fcf2fef59

View File

@@ -52,6 +52,7 @@ import {
} from '../../hooks/useRoomsNotificationPreferences'; } from '../../hooks/useRoomsNotificationPreferences';
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';
type RoomNavItemMenuProps = { type RoomNavItemMenuProps = {
room: Room; room: Room;
@@ -221,10 +222,11 @@ export function RoomNavItem({
const { focusWithinProps } = useFocusWithin({ onFocusWithinChange: setHover }); const { focusWithinProps } = useFocusWithin({ onFocusWithinChange: setHover });
const [menuAnchor, setMenuAnchor] = useState<RectCords>(); const [menuAnchor, setMenuAnchor] = useState<RectCords>();
const unread = useRoomUnread(room.roomId, roomToUnreadAtom); const unread = useRoomUnread(room.roomId, roomToUnreadAtom);
const { activeCallRoomId, isChatOpen, toggleChat, hangUp } = useCallState(); const { activeCallRoomId, setActiveCallRoomId, isChatOpen, toggleChat, hangUp } = useCallState();
const typingMember = useRoomTypingMember(room.roomId).filter( const typingMember = useRoomTypingMember(room.roomId).filter(
(receipt) => receipt.userId !== mx.getUserId() (receipt) => receipt.userId !== mx.getUserId()
); );
const { navigateRoom } = useRoomNavigate();
const handleContextMenu: MouseEventHandler<HTMLElement> = (evt) => { const handleContextMenu: MouseEventHandler<HTMLElement> = (evt) => {
evt.preventDefault(); evt.preventDefault();
@@ -251,6 +253,9 @@ export function RoomNavItem({
if (room.isCallRoom() && activeCallRoomId !== room.roomId) { if (room.isCallRoom() && activeCallRoomId !== room.roomId) {
hangUp(); hangUp();
setActiveCallRoomId(room.roomId);
} else {
navigateRoom(room.roomId);
} }
}; };
@@ -272,9 +277,7 @@ export function RoomNavItem({
{...hoverProps} {...hoverProps}
{...focusWithinProps} {...focusWithinProps}
> >
<NavLink to={linkPath} onClick={handleNavItemClick}> <NavItemContent onClick={handleNavItemClick}>
{' '}
<NavItemContent>
<Box as="span" grow="Yes" alignItems="Center" gap="200"> <Box as="span" grow="Yes" alignItems="Center" gap="200">
<Avatar size="200" radii="400"> <Avatar size="200" radii="400">
{showAvatar ? ( {showAvatar ? (
@@ -322,7 +325,6 @@ export function RoomNavItem({
)} )}
</Box> </Box>
</NavItemContent> </NavItemContent>
</NavLink>
{optionsVisible && ( {optionsVisible && (
<NavItemOptions> <NavItemOptions>
<PopOut <PopOut