fix: call ui imorovements (#2749)

* fix member button tooltip in call room header

* hide sticker button in room input based on chat window width

* render camera on off data instead of duplicate join messages

* hide duplicate call member changes instead of rendering as video status

* fix prescreen message spacing
This commit is contained in:
Ajay Bura
2026-03-10 22:45:26 +11:00
committed by GitHub
parent 0cbfbab5ad
commit 0d1566977a
5 changed files with 19 additions and 5 deletions

View File

@@ -97,7 +97,7 @@ function CallPrescreen() {
)} )}
<CallMemberRenderer members={callMembers} /> <CallMemberRenderer members={callMembers} />
<PrescreenControls canJoin={canJoin} /> <PrescreenControls canJoin={canJoin} />
<Header size="300"> <Box className={css.PrescreenMessage} alignItems="Center">
{!inOtherCall && {!inOtherCall &&
(hasPermission ? ( (hasPermission ? (
<JoinMessage hasParticipant={hasParticipant} livekitSupported={livekitSupported} /> <JoinMessage hasParticipant={hasParticipant} livekitSupported={livekitSupported} />
@@ -105,7 +105,7 @@ function CallPrescreen() {
<NoPermissionMessage /> <NoPermissionMessage />
))} ))}
{inOtherCall && <AlreadyInCallMessage />} {inOtherCall && <AlreadyInCallMessage />}
</Header> </Box>
</Box> </Box>
</Box> </Box>
</Scroll> </Scroll>

View File

@@ -22,3 +22,7 @@ export const CallMemberCard = style({
export const CallControlContainer = style({ export const CallControlContainer = style({
padding: config.space.S400, padding: config.space.S400,
}); });
export const PrescreenMessage = style({
padding: config.space.S200,
});

View File

@@ -221,7 +221,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
const isComposing = useComposingCheck(); const isComposing = useComposingCheck();
useElementSizeObserver( useElementSizeObserver(
useCallback(() => document.body, []), useCallback(() => fileDropContainerRef.current, [fileDropContainerRef]),
useCallback((width) => setHideStickerBtn(width < 500), []) useCallback((width) => setHideStickerBtn(width < 500), [])
); );

View File

@@ -1475,7 +1475,13 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli
const senderId = mEvent.getSender() ?? ''; const senderId = mEvent.getSender() ?? '';
const senderName = getMemberDisplayName(room, senderId) || getMxIdLocalPart(senderId); const senderName = getMemberDisplayName(room, senderId) || getMxIdLocalPart(senderId);
const callJoined = mEvent.getContent<SessionMembershipData>().application; const content = mEvent.getContent<SessionMembershipData>();
const prevContent = mEvent.getPrevContent();
const callJoined = content.application;
if (callJoined && 'application' in prevContent) {
return null;
}
const timeJSX = ( const timeJSX = (
<Time <Time

View File

@@ -460,7 +460,11 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
offset={4} offset={4}
tooltip={ tooltip={
<Tooltip> <Tooltip>
{callView ? (
<Text>Members</Text>
) : (
<Text>{peopleDrawer ? 'Hide Members' : 'Show Members'}</Text> <Text>{peopleDrawer ? 'Hide Members' : 'Show Members'}</Text>
)}
</Tooltip> </Tooltip>
} }
> >