using Tesses.WebServer; using Scriban; using System.Web; namespace Tesses.YouTubeDownloader2025Companion { public class MyArtistLink(string name, string id, string thumbnail) { public string Artistname => HttpUtility.HtmlEncode(name); public string Artisturl => HttpUtility.HtmlAttributeEncode($"/music/myartist?id={HttpUtility.UrlEncode(id)}"); public string Imgurl => HttpUtility.HtmlAttributeEncode(thumbnail); } public static partial class Pages { private static ReloadingScript myartist_listing = new ReloadingScript("wwwroot/pages/music/myartists/artists.sbnhtml"); public static string MyArtistListing(string query, List links, int page) { return Components.Shell($"Artist search {query}", myartist_listing.Render(new { Artists = links, Q = HttpUtility.HtmlAttributeEncode(query), Prev = HttpUtility.HtmlAttributeEncode($"/music/myartists?q={HttpUtility.UrlEncode(query)}&page={(page == 1 ? 1 : page - 1)}"), Current = page, Next = HttpUtility.HtmlAttributeEncode($"/music/myartists?q={HttpUtility.UrlEncode(query)}&page={page + 1}") }),Program.DefaultLinks(2)); } } }