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 ? (