only show call button if user have permission

This commit is contained in:
Ajay Bura
2026-04-26 14:03:29 +05:30
parent d6f19711ba
commit c7c7f1ab42
+8 -3
View File
@@ -339,10 +339,10 @@ function CallButton() {
fill="None" fill="None"
ref={triggerRef} ref={triggerRef}
onClick={handleOpenMenu} onClick={handleOpenMenu}
disabled={inAnotherCall} disabled={inAnotherCall || callStarted}
aria-pressed={!!menuAnchor} aria-pressed={!!menuAnchor}
> >
<Icon size="400" src={Icons.VideoCamera} filled={callStarted} /> <Icon size="400" src={Icons.VideoCamera} filled={!!menuAnchor} />
</IconButton> </IconButton>
)} )}
</TooltipProvider> </TooltipProvider>
@@ -381,6 +381,11 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
const screenSize = useScreenSizeContext(); const screenSize = useScreenSizeContext();
const room = useRoom(); const room = useRoom();
const space = useSpaceOptionally(); const space = useSpaceOptionally();
const powerLevels = usePowerLevelsContext();
const creators = useRoomCreators(room);
const permissions = useRoomPermissions(creators, powerLevels);
const hasCallPermission = permissions.event(StateEvent.GroupCallMemberPrefix, mx.getSafeUserId());
const [menuAnchor, setMenuAnchor] = useState<RectCords>(); const [menuAnchor, setMenuAnchor] = useState<RectCords>();
const [pinMenuAnchor, setPinMenuAnchor] = useState<RectCords>(); const [pinMenuAnchor, setPinMenuAnchor] = useState<RectCords>();
@@ -575,7 +580,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
</FocusTrap> </FocusTrap>
} }
/> />
{direct && <CallButton />} {direct && hasCallPermission && <CallButton />}
{screenSize === ScreenSize.Desktop && ( {screenSize === ScreenSize.Desktop && (
<TooltipProvider <TooltipProvider
position="Bottom" position="Bottom"