diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index cb4157384d..ef6c65ba48 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -26158,6 +26158,7 @@ snapshots: eslint-plugin-promise: 6.1.1(eslint@8.56.0) eslint-plugin-svelte: 2.35.1(eslint@8.56.0)(svelte@4.2.19)(ts-node@10.9.2(@types/node@20.11.19)(typescript@5.3.3)) fast-equals: 5.2.2 + hls.js: 1.5.20 jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2(@types/node@20.11.19)(typescript@5.3.3)) prettier: 3.2.5 prettier-plugin-svelte: 3.2.2(prettier@3.2.5)(svelte@4.2.19) diff --git a/packages/ui/package.json b/packages/ui/package.json index 0228cfc08e..84a7978704 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -49,7 +49,8 @@ "date-fns-tz": "^2.0.0", "dompurify": "^3.1.6", "@hcengineering/analytics": "^0.6.0", - "emojibase": "^16.0.0" + "emojibase": "^16.0.0", + "hls.js": "^1.5.20" }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { diff --git a/packages/ui/src/components/HlsVideo.svelte b/packages/ui/src/components/HlsVideo.svelte new file mode 100644 index 0000000000..54462dde92 --- /dev/null +++ b/packages/ui/src/components/HlsVideo.svelte @@ -0,0 +1,68 @@ + + + + + + diff --git a/packages/ui/src/components/Video.svelte b/packages/ui/src/components/Video.svelte new file mode 100644 index 0000000000..2e4e96deb7 --- /dev/null +++ b/packages/ui/src/components/Video.svelte @@ -0,0 +1,40 @@ + + + + + + diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 8ddf1972be..99bdad4a91 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -284,6 +284,8 @@ export { default as NestedDropdown } from './components/NestedDropdown.svelte' export { default as Dock } from './components/Dock.svelte' export { default as Image } from './components/Image.svelte' +export { default as Video } from './components/Video.svelte' +export { default as HlsVideo } from './components/HlsVideo.svelte' export * from './types' export * from './location' diff --git a/plugins/attachment-resources/src/components/AttachmentVideoPreview.svelte b/plugins/attachment-resources/src/components/AttachmentVideoPreview.svelte index 61402e8d22..ec598b20ce 100644 --- a/plugins/attachment-resources/src/components/AttachmentVideoPreview.svelte +++ b/plugins/attachment-resources/src/components/AttachmentVideoPreview.svelte @@ -14,10 +14,9 @@ --> - +
+ {#await getVideoMeta(value.file, value.name) then meta} + {@const src = getFileUrl(value.file, value.name)} + + {#if meta && meta.status === 'ready'} + + {:else} +
+ {#if meta && meta.status === 'ready'} + + {:else} +