diff --git a/src/views/navigator/views/room-info/NavigatorRoomInfoView.scss b/src/views/navigator/views/room-info/NavigatorRoomInfoView.scss index 87a267c7..4e6c4ae9 100644 --- a/src/views/navigator/views/room-info/NavigatorRoomInfoView.scss +++ b/src/views/navigator/views/room-info/NavigatorRoomInfoView.scss @@ -1,5 +1,5 @@ .nitro-room-info { - width: 230px; + width: 250px; .gray { filter: grayscale(1); diff --git a/src/views/navigator/views/room-info/NavigatorRoomInfoView.tsx b/src/views/navigator/views/room-info/NavigatorRoomInfoView.tsx index 3991ac6f..e57f6b84 100644 --- a/src/views/navigator/views/room-info/NavigatorRoomInfoView.tsx +++ b/src/views/navigator/views/room-info/NavigatorRoomInfoView.tsx @@ -1,7 +1,7 @@ -import { RoomMuteComposer, RoomSettingsComposer, RoomStaffPickComposer, UserHomeRoomComposer } from '@nitrots/nitro-renderer'; +import { RoomMuteComposer, RoomSettingsComposer, RoomStaffPickComposer, SecurityLevel, UserHomeRoomComposer } from '@nitrots/nitro-renderer'; import classNames from 'classnames'; import { FC, useCallback, useEffect, useState } from 'react'; -import { GetConfiguration, LocalizeText } from '../../../../api'; +import { GetConfiguration, GetSessionDataManager, LocalizeText } from '../../../../api'; import { NavigatorEvent } from '../../../../events'; import { RoomWidgetThumbnailEvent } from '../../../../events/room-widgets/thumbnail'; import { dispatchUiEvent } from '../../../../hooks/events'; @@ -42,6 +42,16 @@ export const NavigatorRoomInfoView: FC = props => setIsRoomPicked(roomInfoData.enteredGuestRoom.roomPicker); setIsRoomMuted(roomInfoData.enteredGuestRoom.allInRoomMuted); }, [ roomInfoData ]); + + const hasPermission = useCallback((permission: string) => + { + switch(permission) + { + case 'settings': return GetSessionDataManager().securityLevel >= SecurityLevel.MODERATOR || roomInfoData.currentRoomOwner; + case 'staff_pick': return GetSessionDataManager().securityLevel >= SecurityLevel.COMMUNITY; + default: return false; + } + }, [ roomInfoData ]); const processAction = useCallback((action: string, value?: string) => { @@ -131,7 +141,7 @@ export const NavigatorRoomInfoView: FC = props => { roomThumbnail && } { roomInfoData.enteredGuestRoom.habboGroupId > 0 &&
processAction('open_group_info') }> -
+
@@ -142,11 +152,13 @@ export const NavigatorRoomInfoView: FC = props => { LocalizeText('navigator.embed.caption') }
- - - + { hasPermission('settings') && <> + + + } + { hasPermission('staff_pick') && } - + { hasPermission('settings') && } }