@page "/chat"
@using TIAMWebApp.Shared.Application.Services
@inject SignalRService SignalRService
Chat
@foreach (var message in messages)
{
-
@message
}
TicTacToe
Create Payment
My trasnfers
@code {
private string userName;
private string newMessage;
private List messages = new List();
//private string hrefString = "mytransfers/" + "108E5A63-AA9E-47BE-ACFA-00306FFC5215";
protected override async Task OnInitializedAsync()
{
userName = Guid.NewGuid().ToString();
SignalRService.OnMessageReceived += (user, message) =>
{
messages.Add($"{user}: {message}");
InvokeAsync(StateHasChanged);
};
SignalRService.OnUserMuted += (user) =>
{
messages.Add($"{user} has been muted.");
InvokeAsync(StateHasChanged);
};
SignalRService.OnUserLoggedIn += (user) =>
{
messages.Add($"{user} has logged in.");
InvokeAsync(StateHasChanged);
};
SignalRService.OnUserLoggedOut += (user) =>
{
messages.Add($"{user} has logged out.");
InvokeAsync(StateHasChanged);
};
await SignalRService.StartConnection(userName);
}
private async Task SendMessage()
{
await SignalRService.SendMessage(userName, newMessage);
newMessage = string.Empty;
}
private async Task MuteChat()
{
await SignalRService.MuteChat(userName);
}
private async Task LoggedInToChat()
{
await SignalRService.LoggedInToChat(userName);
}
private async Task LoggedOutFromChat()
{
await SignalRService.LoggedOutFromChat(userName);
}
public void Dispose()
{
SignalRService.OnMessageReceived -= (user, message) => { };
SignalRService.OnUserMuted -= (user) => { };
SignalRService.OnUserLoggedIn -= (user) => { };
LoggedOutFromChat();
SignalRService.OnUserLoggedOut -= (user) => { };
}
}