[ui] omit blobpreview if missing
This commit is contained in:
parent
a4caf9b8b3
commit
c95fc3518a
1 changed files with 29 additions and 22 deletions
|
@ -6,30 +6,37 @@
|
|||
$: ({ entity } = useEntity(address));
|
||||
|
||||
$: mimeType = String($entity?.get("FILE_MIME"));
|
||||
$: handled =
|
||||
Boolean(mimeType) &&
|
||||
["audio", "video", "image", "model"].some((prefix) =>
|
||||
mimeType.startsWith(prefix)
|
||||
);
|
||||
</script>
|
||||
|
||||
<div class="preview" v-if="mimeType">
|
||||
{#if mimeType?.startsWith("audio")}
|
||||
<audio controls preload="auto" src="/api/raw/{address}" />
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("video")}
|
||||
<!-- svelte-ignore a11y-media-has-caption -->
|
||||
<video
|
||||
controls
|
||||
preload="auto"
|
||||
src="/api/raw/{address}"
|
||||
poster="/api/thumb/{address}"
|
||||
/>
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("image")}
|
||||
<a target="_blank" href="/api/raw/{address}">
|
||||
<img src="/api/raw/{address}" alt={address} />
|
||||
</a>
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("model")}
|
||||
<ModelViewer src="/api/raw/{address}" />
|
||||
{/if}
|
||||
</div>
|
||||
{#if handled}
|
||||
<div class="preview">
|
||||
{#if mimeType?.startsWith("audio")}
|
||||
<audio controls preload="auto" src="/api/raw/{address}" />
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("video")}
|
||||
<!-- svelte-ignore a11y-media-has-caption -->
|
||||
<video
|
||||
controls
|
||||
preload="auto"
|
||||
src="/api/raw/{address}"
|
||||
poster="/api/thumb/{address}"
|
||||
/>
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("image")}
|
||||
<a target="_blank" href="/api/raw/{address}">
|
||||
<img src="/api/raw/{address}" alt={address} />
|
||||
</a>
|
||||
{/if}
|
||||
{#if mimeType?.startsWith("model")}
|
||||
<ModelViewer src="/api/raw/{address}" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<style scoped lang="scss">
|
||||
.preview {
|
||||
|
|
Loading…
Reference in a new issue