@page "/counter" @using System.Text.Json; @using VeloeKemonoPartyApp.Data; @using VeloeKemonoPartyApp.Services; @inject KemonoHttpClient HttpClient
@if (!CreatorList.Any()) { if (Message != "") {

@Message

} else {

Loading favorites list...

} } else {
@foreach (var creator in FilteredCreators) {
@creator.name

@creator.service

@creator.favorited

}
} @code { private string SearchText { get; set; } private string Message { get; set; } = ""; private List CreatorList { get; set; } protected override async Task OnInitializedAsync() { CreatorList = new List(); SearchText = ""; int i = 0; do { try { var json = Preferences.Get("favorites", "[]"); CreatorList = JsonSerializer.Deserialize>(json); if (CreatorList.Count == 0) { Message = "Empty"; } return; } catch (Exception ex) { await Task.Delay(1000); } i++; } while (i < 5); Message = "Getting data failed!"; } private List FilteredCreators => CreatorList.Where( creator => creator.name.ToLower().Contains(SearchText.ToLower())).Take(100).ToList(); private async Task OpenLink(string link) { await Launcher.OpenAsync(link); } private void AddToFavorite(Creator creator) { CreatorList.Add(creator); Preferences.Set("favorites", JsonSerializer.Serialize(CreatorList)); } private void RemoveFromFavorite(Creator creator) { CreatorList.Remove(creator); Preferences.Set("favorites", JsonSerializer.Serialize(CreatorList)); } }