@using ServerManagement.StateStore @implements IDisposable @inject EindhovenOnlineServersStore EindhovenOnlineServersStore
@city
@if (city.Equals("Eindhoven", StringComparison.OrdinalIgnoreCase)) { Online: @serversOnlineEindhoven }
@code { private int serversOnlineEindhoven; [Parameter] public string? city { get; set; } = ""; [Parameter] public string? selectedCity { get; set; } = "Eindhoven"; [Parameter] public EventCallback SelectCityCallBack { get; set; } private void SelectCity(string cityName) { SelectCityCallBack.InvokeAsync(cityName); } protected override void OnAfterRender(bool firstRender) { if (firstRender) { serversOnlineEindhoven = EindhovenOnlineServersStore.GetNumberServersOnline(); EindhovenOnlineServersStore.AddStateChangeListener(OnServersStatusChange); StateHasChanged(); } } private void OnServersStatusChange() { serversOnlineEindhoven = EindhovenOnlineServersStore.GetNumberServersOnline(); StateHasChanged(); } // Remove the listeners, otherwise it can cause memory leaks. public void Dispose() { EindhovenOnlineServersStore.RemoveStateChangeListener(OnServersStatusChange); } }