Update campaign progress UI

This commit is contained in:
2025-11-05 16:00:52 +09:00
parent 20d2de5070
commit 785a1db668
5 changed files with 40 additions and 0 deletions

View File

@ -81,6 +81,7 @@
if (state.User.IsInRole(AppRole.ADMINISTRATOR_TYPE) || state.User.IsInRole(AppRole.OPERATOR_TYPE))
{
CampaignManagementState.OnCampaignCreated += OnCampaignCreated;
CampaignManagementState.OnCampaignProgressStep += OnCampaignProgressStep;
CampaignManagementState.OnCampaignEnded += OnCampaignEnded;
campaigns = await HeadquartersService.GetCampaignsAsync();
@ -109,6 +110,19 @@
Task.Run(RefreshCampaigns);
}
void OnCampaignProgressStep(Campaign campaign)
{
InvokeAsync(() =>
{
var targetCampaign = campaigns.FirstOrDefault(x => x.Id == campaign.Id);
if (targetCampaign != null)
{
targetCampaign.Step = campaign.Step;
targetCampaign.Progress = campaign.Progress;
}
});
}
void OnCampaignEnded(Campaign campaign)
{
Task.Run(RefreshCampaigns);
@ -131,6 +145,7 @@
public void Dispose()
{
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
CampaignManagementState.OnCampaignProgressStep -= OnCampaignProgressStep;
CampaignManagementState.OnCampaignEnded -= OnCampaignEnded;
}
}