@page "/access_keys" @inject DedupClient Client; @inject Blazored.LocalStorage.ILocalStorageService localStorage; @inject IJSRuntime jsRt;
This Browser
add New Access Key edit Edit
@if(Ready) { @foreach(var item in Items) {
@item.DeviceName
} }
@code { public List Items {get;set;}=new List(); public bool Ready {get;set;}=false; string token=""; public async Task LogoutAsync() { if(!await jsRt.InvokeAsync("confirm","Are you sure you want to to logout?")) return; try{ await Client.LogoutAsync(token); }catch(Exception ex) { Console.WriteLine(ex); _=ex; } try{ await localStorage.RemoveItemAsync("token"); Items.Clear(); StateHasChanged(); }catch(Exception ex) { _=ex; } } public async Task DeleteAsync(AccessKey ak) { if(!await jsRt.InvokeAsync("confirm",$"Are you sure you want to delete the access key {ak.DeviceName} created {ak.Created.Humanize()}?")) return; var res=await Client.AccessKeyDeleteAsync(token,ak.Id); if(res.Success) { Items.Remove(ak); StateHasChanged(); } else { //error } } protected override async Task OnInitializedAsync() { var _token = await localStorage.GetItemAsStringAsync("token"); if(!string.IsNullOrWhiteSpace(_token)) { token = _token; Items.Clear(); try{ await foreach(var item in Client.GetAccessKeysAsync(_token)) { Items.Add(item); } }catch(Exception ex){_=ex;} Ready=true; } } }