public async Task <IViewComponentResult> InvokeAsync(
            bool toggled            = false,
            bool groupInviteEnabled = false,
            int gameEventId         = 0,
            int groupId             = 0,
            string gameEventName    = null,
            string subComponentName = null,
            Func <string, object> subComponentArgumentsProvider = null)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(View("FriendsSidebarUnauthenticated"));
            }

            var groups = await _groupsService.GetGroupsByUserNameAsync(User.Identity.Name);

            return(View(
                       "FriendsSidebar",
                       new FriendsSidebarViewModel(
                           groups.Select(g => g.ToViewModel()),
                           toggled,
                           groupInviteEnabled,
                           gameEventId,
                           gameEventName,
                           subComponentName,
                           subComponentArgumentsProvider)));
        }