First commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
using Tesses.WebServer;
|
||||
using Scriban;
|
||||
using System.Web;
|
||||
//using YouTubeMusicAPI.Models.Info;
|
||||
//using Acornima.Ast;
|
||||
//using YouTubeMusicAPI.Models;
|
||||
//using YouTubeMusicAPI.Models.Search;
|
||||
using Newtonsoft.Json;
|
||||
namespace Tesses.YouTubeDownloader2025Companion
|
||||
{
|
||||
public class MyAlbumSongLink(int? songNumber,string name, string albumId, string songId, TimeSpan dur, string btn) {
|
||||
public string Songnumber => songNumber.HasValue ? songNumber.Value.ToString() : "-";
|
||||
public string Duration => dur.ToString(
|
||||
"m\\:ss"
|
||||
);
|
||||
public string Songname => HttpUtility.HtmlEncode(name);
|
||||
public string Songurl => HttpUtility.HtmlAttributeEncode($"/music/mysong?albumId={HttpUtility.UrlEncode(albumId)}&songId={HttpUtility.UrlEncode(songId)}");
|
||||
|
||||
public string Btn => btn;
|
||||
}
|
||||
public static partial class Pages {
|
||||
private static ReloadingScript myalbum_info = new ReloadingScript("wwwroot/pages/music/myalbums/album-info.sbnhtml");
|
||||
|
||||
public static string MyAlbumInfo(string name, string id, List<MyAlbumSongLink> songLinks, bool hasAny, string artists)
|
||||
{
|
||||
|
||||
return Components.Shell($"Album info", myalbum_info.Render(new {
|
||||
Name = HttpUtility.HtmlEncode(name),
|
||||
Songs = songLinks,
|
||||
Addvals = HttpUtility.HtmlAttributeEncode(JsonConvert.SerializeObject(new{id})),
|
||||
Hasanysongs = hasAny,
|
||||
Zipurl = HttpUtility.HtmlAttributeEncode($"/api/v1/album.zip?albumId={HttpUtility.UrlEncode(id)}"),
|
||||
Artists = artists
|
||||
}),Program.DefaultLinks());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using Tesses.WebServer;
|
||||
using Scriban;
|
||||
using System.Web;
|
||||
namespace Tesses.YouTubeDownloader2025Companion
|
||||
{
|
||||
|
||||
|
||||
public static partial class Pages {
|
||||
|
||||
private static ReloadingScript myalbum_listing = new ReloadingScript("wwwroot/pages/music/myalbums/albums.sbnhtml");
|
||||
public static string MyAlbumListing(string query, List<MyAlbumLink> links,int page)
|
||||
{
|
||||
return Components.Shell($"Album search {query}", myalbum_listing.Render(new {
|
||||
Albums = links,
|
||||
Q = HttpUtility.HtmlAttributeEncode(query),
|
||||
Prev = HttpUtility.HtmlAttributeEncode($"/music/myalbums?q={HttpUtility.UrlEncode(query)}&page={(page == 1 ? 1 : page - 1)}"),
|
||||
Current = page,
|
||||
Next = HttpUtility.HtmlAttributeEncode($"/music/myalbums?q={HttpUtility.UrlEncode(query)}&page={page + 1}")
|
||||
|
||||
}),Program.DefaultLinks());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user