diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx index ac17d13..41c012f 100644 --- a/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx @@ -1,8 +1,8 @@ -import { FlatControllerAddedEvent, FlatControllerRemovedEvent, FlatControllersEvent, RemoveAllRightsMessageComposer, RoomTakeRightsComposer, RoomUsersWithRightsComposer } from '@nitrots/nitro-renderer'; +import { FlatControllerAddedEvent, FlatControllerRemovedEvent, FlatControllersEvent, RemoveAllRightsMessageComposer, RoomGiveRightsComposer, RoomTakeRightsComposer, RoomUsersWithRightsComposer } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; import { IRoomData, LocalizeText, SendMessageComposer } from '../../../../api'; import { Button, Column, Flex, Grid, Text, UserProfileIconView } from '../../../../common'; -import { useMessageEvent } from '../../../../hooks'; +import { useFriends, useMessageEvent } from '../../../../hooks'; interface NavigatorRoomSettingsTabViewProps { @@ -14,6 +14,9 @@ export const NavigatorRoomSettingsRightsTabView: FC>(new Map()); + const { onlineFriends = [], offlineFriends = [] } = useFriends(); + const allFriends = [ ...onlineFriends, ...offlineFriends ]; + const friendWitoutRights = allFriends.filter(friend => !usersWithRights.has(friend.id)); useMessageEvent(FlatControllersEvent, event => { @@ -67,7 +70,7 @@ export const NavigatorRoomSettingsRightsTabView: FC { LocalizeText('navigator.flatctrls.userswithrights', [ 'displayed', 'total' ], [ usersWithRights.size.toString(), usersWithRights.size.toString() ]) } - + { Array.from(usersWithRights.entries()).map(([ id, name ], index) => { @@ -81,7 +84,23 @@ export const NavigatorRoomSettingsRightsTabView: FC - + + + { LocalizeText('navigator.flatctrls.friends', [ 'displayed', 'total' ], [ friendWitoutRights.length.toString(), allFriends.length.toString() ]) } + + + + { friendWitoutRights.map((friend, index) => + { + return ( + + + SendMessageComposer(new RoomGiveRightsComposer(friend.id)) }> { friend.name } + + ); + }) } + +