protected override async Task OnInitializedAsync()
        {
            DisableStartButton       = false;
            ChangeDurationOfToast    = 3;
            ShowToastForStartingGame = true;
            string userName     = HttpContextAccessor.HttpContext.User.Identity.Name;
            var    roomResponse = await RoomService.CreateAndJoinPracticeRoomAsync(userName);

            if (roomResponse.IsNew)
            {
                await GameService.AddRoomToGame(roomResponse.Room.Id);
            }
            else
            {
                if (roomResponse.Room.RoomType != RoomType.Practice.ToString())
                {
                    if (roomResponse.Room.RoomType == RoomType.Party.ToString())
                    {
                        NavigationManager.NavigateTo("/party");
                    }
                    else
                    {
                        NavigationManager.NavigateTo("/room");
                    }
                }
            }
            Room = new RoomVM(roomResponse.Room);
            ShowToastForOnePlayer = Room.RoomPlayers.Count() == 1 ? true : false;
            Username      = userName;
            RoomPlayer    = Room.RoomPlayers.FirstOrDefault(rp => rp.UserName == userName);
            hubConnection = new HubConnectionBuilder()
                            .WithUrl(NavigationManager.ToAbsoluteUri("/whoIsFasterSignalRHub"), conf =>
            {
                conf.HttpMessageHandlerFactory = (x) => new HttpClientHandler
                {
                    ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator,
                };
            })
                            .Build();

            hubConnection.On <string>("ReceiveRoom", (roomObject) =>
            {
                RoomDTO room = JsonSerializer.Deserialize <RoomDTO>(roomObject);
                var player   = room.RoomPlayers.FirstOrDefault(rp => rp.UserName == Username);

                if (player != null)
                {
                    Room       = new RoomVM(room);
                    RoomPlayer = new RoomPlayerVM(player);
                    if (Room.HasFinished)
                    {
                        hubConnection.DisposeAsync();
                    }
                    if (CurrentTextIndex == 0)
                    {
                        CurrentTextIndex = RoomPlayer.CurrentTextIndex;
                    }
                    StateHasChanged();
                }
            });

            await hubConnection.StartAsync();

            await EventService.AddConnectionToSignalRGroup(hubConnection.ConnectionId, Room.Id.ToString());
        }