SharpRSS/WebSharpRSS/Shared/SideGuide.razor

66 lines
2.7 KiB
Plaintext
Raw Normal View History

2023-05-12 15:48:14 +02:00
@using SharpRss.Models;
2023-04-28 21:58:36 +02:00
@using MudBlazor.Utilities
2023-04-29 19:40:16 +02:00
@using CodeHollow.FeedReader
@using Serilog
2023-05-18 01:27:11 +02:00
@using SharpRss.Services
@using WebSharpRSS.Models;
@using ToolQit.Extensions;
2023-05-17 16:03:04 +02:00
@inject FeedStateContainer _stateContainer;
2023-05-07 02:42:37 +02:00
@inject RssService _rssService
2023-05-22 15:55:21 +02:00
@*<MudStack Spacing="2">
<MudTreeView Items="_guideItems" @bind-SelectedValue="SelectedItem" Hover="true">
<ItemTemplate>
<MudTreeViewItem @bind-Expanded="@context.IsExpanded" Items="@context.Feeds" Value="@context" CanExpand="@context.HasChild" @onclick="ItemClicked">
<Content>
<div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%">
<div style="justify-self: start;" class="d-flex align-center">
<MudTreeViewItemToggleButton @bind-Expanded="@context.IsExpanded" Visible="@context.HasChild" LoadingIconColor="Color.Info"/>
@if (context.FaviconUrl.IsNullEmptyWhiteSpace() && context.Icon != null)
{
<MudIcon Icon="@context.Icon" Style="@($"color:{context.CategoryModel?.HexColor ?? Theme.Palette.Primary.Value}")"/>
}
else
{
<MudImage Src="@context.FaviconUrl" ObjectFit="ObjectFit.ScaleDown"/>
}
<MudText Class="ml-2">@context.Title</MudText>
</div>
<div style="justify-self: end;">
<MudText Color="Color.Dark" Style="justify-self: end;" Typo="Typo.caption">@context.FeeditemCount</MudText>
</div>
</div>
</Content>
</MudTreeViewItem>
2023-05-22 15:55:21 +02:00
</ItemTemplate>
</MudTreeView>
</MudStack>*@
2023-04-28 21:58:36 +02:00
@code {
private MudTheme Theme = new MudTheme();
2023-05-22 15:55:21 +02:00
private readonly HashSet<TreeItemData> _guideItems = new HashSet<TreeItemData>();
2023-05-20 00:35:43 +02:00
/*private TreeItemData? _selectedItem;
2023-05-17 16:03:04 +02:00
private TreeItemData? SelectedItem
{
get => _selectedItem;
2023-05-17 16:03:04 +02:00
set
{
_selectedItem = value;
2023-05-17 16:03:04 +02:00
ItemClicked();
}
2023-05-20 00:35:43 +02:00
}*/
2023-05-17 16:03:04 +02:00
private void ItemClicked()
{
2023-05-20 00:35:43 +02:00
2023-05-17 16:03:04 +02:00
}
protected override async void OnInitialized()
2023-04-28 21:58:36 +02:00
{
2023-05-15 20:42:42 +02:00
Log.Verbose("Loading guide data...");
2023-05-20 00:04:45 +02:00
/*HashSet<object> items = await _rssService.GetAllUnsortedAsync();
_guideItems.UnionWith(items.Select(x => x is CategoryModel model ? new TreeItemData(model, _rssService) : x is FeedModel feedModel ? new TreeItemData(feedModel, _rssService) : throw new ArgumentException("Arg x is invalid!")));*/
2023-05-16 15:37:49 +02:00
2023-05-17 16:03:04 +02:00
StateHasChanged();
Log.Verbose("Guide initialized!");
2023-04-28 21:58:36 +02:00
}
}