From 3d20c116da0e7e49f4eb458bc51c8c76512b43bd Mon Sep 17 00:00:00 2001 From: max Date: Sun, 2 Nov 2025 21:43:06 +0100 Subject: [PATCH] [CHANGE] Adding playlist functionality --- .../Application/Dev/DevelopmentVideo.razor | 2 +- .../Application/Dev/DevelopmentVideo.razor.cs | 2 +- .../Models/Playlist/PlaylistVideo.cs | 13 +++++++++++++ Manager.YouTube/Models/YouTubePlaylist.cs | 19 +++++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 Manager.YouTube/Models/Playlist/PlaylistVideo.cs create mode 100644 Manager.YouTube/Models/YouTubePlaylist.cs diff --git a/Manager.App/Components/Application/Dev/DevelopmentVideo.razor b/Manager.App/Components/Application/Dev/DevelopmentVideo.razor index 6dae352..97925bc 100644 --- a/Manager.App/Components/Application/Dev/DevelopmentVideo.razor +++ b/Manager.App/Components/Application/Dev/DevelopmentVideo.razor @@ -13,5 +13,5 @@ - Get data + Get data \ No newline at end of file diff --git a/Manager.App/Components/Application/Dev/DevelopmentVideo.razor.cs b/Manager.App/Components/Application/Dev/DevelopmentVideo.razor.cs index 64ef2fb..93bcb9b 100644 --- a/Manager.App/Components/Application/Dev/DevelopmentVideo.razor.cs +++ b/Manager.App/Components/Application/Dev/DevelopmentVideo.razor.cs @@ -16,7 +16,7 @@ public partial class DevelopmentVideo : ComponentBase return !searchResults.IsSuccess ? [] : searchResults.Value; } - private async Task GetDataAsync(MouseEventArgs obj) + private void NavigateToVideo(MouseEventArgs obj) { if (_selectedClient == null) { diff --git a/Manager.YouTube/Models/Playlist/PlaylistVideo.cs b/Manager.YouTube/Models/Playlist/PlaylistVideo.cs new file mode 100644 index 0000000..279c67b --- /dev/null +++ b/Manager.YouTube/Models/Playlist/PlaylistVideo.cs @@ -0,0 +1,13 @@ +using Manager.YouTube.Models.Innertube; + +namespace Manager.YouTube.Models.Playlist; + +public class PlaylistVideo +{ + public required string VideoId { get; set; } + public List Thumbnails { get; set; } = []; + public required string Title { get; set; } + public required string Author { get; set; } + public long LengthSeconds { get; set; } + public bool IsPlayable { get; set; } +} \ No newline at end of file diff --git a/Manager.YouTube/Models/YouTubePlaylist.cs b/Manager.YouTube/Models/YouTubePlaylist.cs new file mode 100644 index 0000000..2d22272 --- /dev/null +++ b/Manager.YouTube/Models/YouTubePlaylist.cs @@ -0,0 +1,19 @@ +using Manager.YouTube.Models.Playlist; + +namespace Manager.YouTube.Models; + +public class YouTubePlaylist +{ + public required string Id { get; set; } + public required string Title { get; set; } + public required string Description { get; set; } + public required string Owner { get; set; } + public required string OwnerId { get; set; } + public bool NoIndex { get; set; } + public bool Unlisted { get; set; } + public bool CanReorder { get; set; } + public bool IsEditable { get; set; } + public List Videos { get; set; } = []; + + public string? ContinuationToken { get; set; } +} \ No newline at end of file