Files
2026-04-28 03:21:01 -05:00

28 lines
1.2 KiB
C#

using Tesses.WebServer;
using Scriban;
using System.Web;
namespace Tesses.YouTubeDownloader2025Companion
{
public class MySongLink(string name, string id, string btn) {
public string Name => HttpUtility.HtmlEncode(name);
public string Songname => HttpUtility.HtmlEncode(name);
public string Songurl => HttpUtility.HtmlAttributeEncode($"/music/mysong?songId={HttpUtility.UrlEncode(id)}");
public string Btn => btn;
}
public static partial class Pages {
private static ReloadingScript mysongs_listing = new ReloadingScript("wwwroot/pages/music/mysongs/songs.sbnhtml");
public static string MySongListing(string query, List<MySongLink> links, int page)
{
return Components.Shell($"Artist search {query}", mysongs_listing.Render(new {
Songs = links,
Q = HttpUtility.HtmlAttributeEncode(query),
Prev = HttpUtility.HtmlAttributeEncode($"/music/mysongs?q={HttpUtility.UrlEncode(query)}&page={(page == 1 ? 1 : page - 1)}"),
Current = page,
Next = HttpUtility.HtmlAttributeEncode($"/music/mysongs?q={HttpUtility.UrlEncode(query)}&page={page + 1}")
}),Program.DefaultLinks(2));
}
}
}