diff --git a/src/components/friends/views/friends-list/friends-list-group/FriendsListGroupItemView.tsx b/src/components/friends/views/friends-list/friends-list-group/FriendsListGroupItemView.tsx index dc23a3b..707777e 100644 --- a/src/components/friends/views/friends-list/friends-list-group/FriendsListGroupItemView.tsx +++ b/src/components/friends/views/friends-list/friends-list-group/FriendsListGroupItemView.tsx @@ -9,7 +9,9 @@ export const FriendsListGroupItemView: FC<{ friend: MessengerFriend, selected: b { const { friend = null, selected = false, selectFriend = null } = props; const [ isRelationshipOpen, setIsRelationshipOpen ] = useState(false); - const { followFriend = null, updateRelationship = null } = useFriends(); + const { followFriend = null, updateRelationship = null, moveFriendToCategory = null, settings = null } = useFriends(); + const [ isGroupMenuOpen, setIsGroupMenuOpen ] = useState(false); + const categories = settings?.categories ?? []; const clickFollowFriend = (event: MouseEvent) => { @@ -74,6 +76,21 @@ export const FriendsListGroupItemView: FC<{ friend: MessengerFriend, selected: b
} { friend.online &&
} + { (friend.id > 0) && (categories.length > 0) && +
+
{ event.stopPropagation(); setIsGroupMenuOpen(prev => !prev); } }>{ '📁' }
+ { isGroupMenuOpen && +
+
{ event.stopPropagation(); moveFriendToCategory(friend.id, 0); setIsGroupMenuOpen(false); } }> + { LocalizeText('friendlist.friends') } +
+ { categories.map(category => ( +
{ event.stopPropagation(); moveFriendToCategory(friend.id, category.id); setIsGroupMenuOpen(false); } }> + { category.name } +
+ )) } +
} +
} { (friend.id > 0) &&
} }