From 1261c6d977f1ba708f0ed7661dbacdf6197b0173 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Sat, 15 Aug 2026 16:06:31 +0200 Subject: [PATCH] Poster argument for video component --- src/back/jdd-components/video/video.jdd.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/back/jdd-components/video/video.jdd.tsx b/src/back/jdd-components/video/video.jdd.tsx index 7e97b3e..b9f5ce0 100644 --- a/src/back/jdd-components/video/video.jdd.tsx +++ b/src/back/jdd-components/video/video.jdd.tsx @@ -2,11 +2,13 @@ import { TempstreamJSX } from "tempstream"; import type { ComponentToHTMLArgs } from "@sealcode/jdd"; import { Component, ComponentArguments } from "@sealcode/jdd"; import { PathFilePointer } from "@sealcode/file-manager"; +import { imageRouter } from "src/back/image-router.js"; const component_arguments = { file: new ComponentArguments.File(), max_height: new ComponentArguments.Number(), max_width: new ComponentArguments.Number(), + cover_image: new ComponentArguments.Image().setExampleValues([null]), } as const; export class Video extends Component { @@ -15,14 +17,25 @@ export class Video extends Component { } async toHTML({ - args: { file, max_width, max_height }, + args: { file, max_width, max_height, cover_image }, classes, }: ComponentToHTMLArgs): Promise { + const poster = cover_image + ? await imageRouter.singleImage( + await cover_image.getPath(), + max_width || 320, + "jpg", + false + ) + : false; + return (
{file instanceof PathFilePointer ? (