@page "/chat" @using TIAMWebApp.Shared.Application.Services @inject SignalRService SignalRService

Chat

Chat

    @foreach (var message in messages) {
  • }
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) => { }; } }