using System; using System.Collections.Generic; using MudBlazor; using SharpRss.Models; using ToolQit; namespace WebSharpRSS.Models { public class TreeItemData { public TreeItemData(GroupModel groupModel) { GroupModel = groupModel; Title = groupModel.Name; Icon = groupModel.Icon == string.Empty ? Icons.Material.Filled.RssFeed : groupModel.Icon; HasChild = groupModel.FeedCount > 0; } public TreeItemData(FeedModel feedModel) { FeedModel = feedModel; Title = feedModel.Title; FaviconUrl = string.Format(Caretaker.Settings["Paths"].GetString("FaviconResolveUrl"), feedModel.Url.Remove(feedModel.Url.IndexOf("http", StringComparison.Ordinal), feedModel.Url.IndexOf("://", StringComparison.Ordinal) + 3)); } public readonly GroupModel? GroupModel; public readonly FeedModel? FeedModel; public HashSet? Children { get; set; } public string Title { get; set; } = string.Empty; public bool IsSelected { get; set; } public string? Icon { get; set; } public string? FaviconUrl { get; set; } public bool HasChild { get; set; } public bool Loading { get; set; } public bool IsExpanded { get; set; } } }