Most Changes for v0.1.0-beta #51

Merged
Penry merged 24 commits from v0.1.0-beta into main 2026-06-07 16:46:15 +02:00
2 changed files with 80 additions and 13 deletions
Showing only changes of commit 94e3104773 - Show all commits
@@ -103,7 +103,6 @@
private string? _searchString;
private bool _showFilters;
private bool _showAlreadyAddedEntities = false;
private IEnumerable<GlobalEntity> FiltertGlobalEntities => _globalEntities.Where(entity =>
(string.IsNullOrWhiteSpace(_searchString) || entity.Title.Contains(_searchString, StringComparison.OrdinalIgnoreCase)) && //Search bar
(_showAlreadyAddedEntities || !_userPrivateEntityIds.Contains(entity.Id)) //Filter for already added Entitys
@@ -115,8 +114,10 @@
private int TotalPages => (int)Math.Ceiling(FiltertGlobalEntities.Count() / (double)_pageSize);
private IEnumerable<GlobalEntity> VisibleGlobalEntities => FiltertGlobalEntities.Skip((_currentPage - 1) * _pageSize).Take(_pageSize);
//Core
//User
private ApplicationUser? _appUser;
//Core
private List<GlobalEntity> _globalEntities = [];
private HashSet<int> _userPrivateEntityIds = [];
@@ -30,6 +30,7 @@
<MudContainer>
<MudPaper Class="pa-2" Elevation="1">
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="2">
@*Search bar*@
<MudTextField @bind-Value="_searchString"
Placeholder="Search..."
Adornment="Adornment.Start"
@@ -38,30 +39,95 @@
Variant="Variant.Outlined"
Margin="Margin.Dense"
Style="max-width: 300px;"/>
@*Refresh button*@
@*<MudTooltip Text="Refresh Entities">
<MudIconButton Icon="@Icons.Material.Filled.Refresh" OnClick="RefreshPage"/>
</MudTooltip>*@
@*More Filters button*@
<MudTooltip Text="More filters">
<MudIconButton Icon="@(_showFilters
? Icons.Material.Filled.ExpandLess
: Icons.Material.Filled.FilterList)"
OnClick="@(() => _showFilters = !_showFilters)"
Color="Color.Default"/>
</MudTooltip>
</MudStack>
<MudCollapse Expanded="_showFilters">
@*Entity allready added*@
<MudSwitch @bind-Value="_showAlreadyAddedEntities" Color="Color.Primary">
Show already added Entities
</MudSwitch>
@*To be exstendet*@
</MudCollapse>
</MudPaper>
</MudContainer>
<br/>
<!--<editor-fold desc="Active Watching">-->
<MudContainer MaxWidth="MaxWidth.False">
<MudText Typo="Typo.h4">Active Watching</MudText>
<br/>
<MudGrid Spacing="6" Justify="Justify.Center">
@foreach (var privateEntity in ActiveWatchingEntities)
@foreach (var privateEntity in VisibleActiveWatchingEntities)
{
<PrivateEntityCard PrivateEntity="privateEntity" />
}
@foreach (var privateEntity in LibraryEntities)
{
<PrivateEntityCard PrivateEntity="privateEntity" />
<PrivateEntityCard PrivateEntity="privateEntity"/>
}
</MudGrid>
</MudContainer>
<br/>
<MudContainer>
<MudStack AlignItems="AlignItems.Center">
<MudPagination Count="@TotalPagesActiveWatching" @bind-Selected="_currentActiveWatchingPage"/>
</MudStack>
</MudContainer>
<!--</editor-fold>-->
<!--<editor-fold desc="Library">-->
<MudContainer MaxWidth="MaxWidth.False">
<MudText Typo="Typo.h4">Library</MudText>
<br/>
<MudGrid Spacing="6" Justify="Justify.Center">
@foreach (var privateEntity in VisibleLibraryEntities)
{
<PrivateEntityCard PrivateEntity="privateEntity"/>
}
</MudGrid>
</MudContainer>
<br/>
<MudContainer>
<MudStack AlignItems="AlignItems.Center">
<MudPagination Count="@TotalPagesLibrary" @bind-Selected="_currentLibraryPage"/>
</MudStack>
</MudContainer>
<!--</editor-fold>-->
</MudContainer>
@code
{
//Search
private string _searchString;
//Filter
private string? _searchString;
private bool _showFilters;
private bool _showAlreadyAddedEntities = false;
private IEnumerable<PrivateEntity> FiltertGlobalEntities => _privateEntities.Where(entity =>
(string.IsNullOrWhiteSpace(_searchString) || entity.GlobalEntity.Title.Contains(_searchString, StringComparison.OrdinalIgnoreCase)) //Search bar
);
//Paging Active Watching
private int _currentActiveWatchingPage = 1;
private int _pageSizeActiveWatching = 12;
private int TotalPagesActiveWatching => (int)Math.Ceiling(ActiveWatchingEntities.Count() / (double)_pageSizeActiveWatching);
private IEnumerable<PrivateEntity> VisibleActiveWatchingEntities => ActiveWatchingEntities.Skip((_currentActiveWatchingPage - 1) * _pageSizeActiveWatching).Take(_pageSizeActiveWatching);
//Paging Library
private int _currentLibraryPage = 1;
private int _pageSizeLibrary = 12;
private int TotalPagesLibrary => (int)Math.Ceiling(LibraryEntities.Count() / (double)_pageSizeLibrary);
private IEnumerable<PrivateEntity> VisibleLibraryEntities => LibraryEntities.Skip((_currentLibraryPage - 1) * _pageSizeLibrary).Take(_pageSizeLibrary);
//User
private ApplicationUser? _appUser;
@@ -70,8 +136,8 @@
private List<PrivateEntity> _privateEntities = [];
private List<UserWatchStatus> _userWatchStatuses = [];
private List<PrivateEntity> ActiveWatchingEntities => _privateEntities.Where(x => x.UserWatchStatus?.Name == "Watching").ToList();
private List<PrivateEntity> LibraryEntities => _privateEntities.Where(x => x.UserWatchStatus?.Name != "Watching").ToList();
private IEnumerable<PrivateEntity> ActiveWatchingEntities => FiltertGlobalEntities.Where(x => x.UserWatchStatus?.Name == "Watching").ToList();
private IEnumerable<PrivateEntity> LibraryEntities => FiltertGlobalEntities.Where(x => x.UserWatchStatus?.Name != "Watching").ToList();
protected override async Task OnInitializedAsync()
{