@page "/"
@using AccessQueuePlayground.Models
@using AccessQueuePlayground.Services
@using BlazorBootstrap
@inject IAccessQueueManager Manager
AccessQueue Playground
@if (Status != null)
{
Users with access
@context.Id
@context.LatestResponse?.ExpiresOn
Users in queue
@context.Id
@(context.LatestResponse?.RequestsAhead ?? 0 + 1)
Inactive users
@context.Id
}
@code {
public AccessQueueStatus? Status;
protected override void OnInitialized()
{
Manager.StatusUpdated += OnStatusUpdated;
Status = Manager.GetStatus();
}
private void OnStatusUpdated()
{
InvokeAsync(() =>
{
Status = Manager.GetStatus();
StateHasChanged();
});
}
public void AddUser()
{
Manager.AddUser();
Status = Manager.GetStatus();
}
public void SetUserActive(Guid userId, bool isActive)
{
Manager.SetUserActive(userId, isActive);
}
public void RevokeAccess(Guid userId)
{
Manager.RevokeAccess(userId);
}
public void RevokeAllAccess()
{
Manager.RevokeAllAccess();
}
public void Reset()
{
Manager.Reset();
}
}