First commit

This commit is contained in:
2026-03-15 22:15:34 -05:00
commit 0858a8a751
79 changed files with 6010 additions and 0 deletions
@@ -0,0 +1,27 @@
using Tesses.WebServer;
using Scriban;
using System.Web;
//using YouTubeMusicAPI.Models.Info;
namespace Tesses.YouTubeDownloader2025Companion
{
public class MyAlbumLink(string name, string id, string thumbnail) {
public string Albumname => HttpUtility.HtmlEncode(name);
public string Albumurl => HttpUtility.HtmlAttributeEncode($"/music/myalbum?id={HttpUtility.UrlEncode(id)}");
public string Imgurl => HttpUtility.HtmlAttributeEncode(thumbnail);
}
public static partial class Pages {
private static ReloadingScript myartist_album_listing = new ReloadingScript("wwwroot/pages/music/myartists/artist-album-list.sbnhtml");
public static string MyArtistAlbumListing(Guid id,string query, List<MyAlbumLink> albums, int page)
{
return Components.Shell("Albums", myartist_album_listing.Render(new {
Searchurl = $"/music/myartist?id={id.ToString()}",
Q = HttpUtility.HtmlAttributeEncode(query),
Albums = albums,
Prev = HttpUtility.HtmlAttributeEncode($"/music/myartist?q={HttpUtility.UrlEncode(query)}&id={HttpUtility.UrlEncode(id.ToString())}&page={(page == 1 ? 1 : page - 1)}"),
Current = page,
Next = HttpUtility.HtmlAttributeEncode($"/music/myartist?q={HttpUtility.UrlEncode(query)}&id={HttpUtility.UrlEncode(id.ToString())}&page={page + 1}")
}),Program.DefaultLinks());
}
}
}
+26
View File
@@ -0,0 +1,26 @@
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<MyArtistLink> 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());
}
}
}