From 354d3f09d34d7cd20b21f5725d47d5969e7d51f9 Mon Sep 17 00:00:00 2001 From: Peter Meier Date: Sat, 25 Apr 2026 13:15:11 +0200 Subject: [PATCH] feat(youtube): playlist support + URL parsing in youtube_video block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit YoutubeVideoBlockData gains an optional `playlistId`. The block now accepts either a video, a playlist, or both, and either field can be filled with a raw ID *or* a full youtube.com / youtu.be URL — a helper extracts the ?v= and ?list= parameters automatically. Embed routing: - video only → /embed/?rel=0 - playlist only → /embed/videoseries?list=&rel=0 - video + playlist → /embed/?list=&rel=0 - block.params merged via URLSearchParams Also tweaks ImageGalleryBlock (grid variant): green padding/contain fit, darker caption gradient, smaller left-aligned label that expands on hover. Hides post_overview block when no posts and no intro text (prevents a bare heading on /mediathek). --- src/lib/block-types.ts | 7 ++ .../blocks/ImageGalleryBlock.svelte | 10 +-- .../blocks/YoutubeVideoBlock.svelte | 81 +++++++++++++++++-- 3 files changed, 87 insertions(+), 11 deletions(-) diff --git a/src/lib/block-types.ts b/src/lib/block-types.ts index c2f2b53..da6f721 100644 --- a/src/lib/block-types.ts +++ b/src/lib/block-types.ts @@ -155,6 +155,13 @@ export interface YoutubeVideoBlockData { _type?: "youtube_video"; _slug?: string; youtubeId?: string; + /** + * Playlist-ID (PLxxxxx). Wenn ohne youtubeId gesetzt, lädt die Playlist + * von vorne; mit youtubeId startet das Video in der Playlist. + * Akzeptiert auch direkte URLs wie + * https://www.youtube.com/watch?v=...&list=PL... (wird parsed). + */ + playlistId?: string; title?: string; description?: string; params?: string; diff --git a/src/lib/components/blocks/ImageGalleryBlock.svelte b/src/lib/components/blocks/ImageGalleryBlock.svelte index 3b35c89..d8c4923 100644 --- a/src/lib/components/blocks/ImageGalleryBlock.svelte +++ b/src/lib/components/blocks/ImageGalleryBlock.svelte @@ -176,7 +176,7 @@