[ui] omit blobpreview if missing

feat/vaults
Tomáš Mládek 2022-01-22 18:48:38 +01:00
parent a4caf9b8b3
commit c95fc3518a
No known key found for this signature in database
GPG Key ID: ED21612889E75EC5
1 changed files with 29 additions and 22 deletions

View File

@ -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 {