KoogleApp/KoogleApp/Components/Controls/PlayerPanel.razor

58 lines
1.2 KiB
Plaintext

@using KoogleApp.Data
@using KoogleApp.Model
@using KoogleApp.Model.EventMessages
@using KoogleApp.Services;
@implements IMyHandle<PlayerViewChangedMessage>
@inject SharedDataService DataService
@inject IMyEventAggregator EventAggregator
<MudGrid>
<MudItem xs="12">
<MudPaper Class="d-flex align-center justify-center mud-width-full py-0">
Player: @_player?.Name
</MudPaper>
</MudItem>
<MudItem xs="12">
<MudPaper Class="d-flex align-center justify-center mud-width-full py-0">
<PlayerExpenseList/>
</MudPaper>
</MudItem>
</MudGrid>
@code {
private Player? _player;
protected override void OnInitialized()
{
EventAggregator.Subscribe(this);
base.OnInitialized();
}
public async ValueTask DisposeAsync()
{
EventAggregator.Unsubscribe(this);
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
_player = await DataService.GetSelectedPlayerAsync();
StateHasChanged();
}
}
public async Task HandleAsync(PlayerViewChangedMessage message)
{
_player = await DataService.GetSelectedPlayerAsync();
StateHasChanged();
}
}