From 5c325f37f5a8bfef6b5fc40d824ce7526f2bef14 Mon Sep 17 00:00:00 2001 From: duckietm Date: Fri, 22 Mar 2024 15:33:45 +0100 Subject: [PATCH] Added : User rights add friends in room settings --- .../NavigatorRoomSettingsRightsTabView.tsx | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) 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 } + + ); + }) } + +