This commit is contained in:
2023-01-28 13:21:47 -06:00
parent 11b387b928
commit 8a25c0ed35
26 changed files with 443 additions and 359 deletions

View File

@@ -1,28 +1,27 @@
namespace Shogi.UI.Pages.Home.Account;
using static Shogi.UI.Shared.Events;
namespace Shogi.UI.Pages.Home.Account;
public class AccountState
{
public event EventHandler<LoginEventArgs>? LoginChangedEvent;
public event AsyncEventHandler<LoginEventArgs>? LoginChangedEvent;
private User? user;
public User? User
public User? User { get; private set; }
public Task SetUser(User? user)
{
get => user;
set
User = user;
return EmitLoginChangedEvent();
}
private async Task EmitLoginChangedEvent()
{
if (LoginChangedEvent is not null)
{
if (user != value)
await LoginChangedEvent.Invoke(new LoginEventArgs
{
user = value;
EmitLoginChangedEvent();
}
User = User
});
}
}
private void EmitLoginChangedEvent()
{
LoginChangedEvent?.Invoke(this, new LoginEventArgs
{
User = User
});
}
}