diff --git a/webui/src/components/Inspect.svelte b/webui/src/components/Inspect.svelte
index 3863bae..067a7e4 100644
--- a/webui/src/components/Inspect.svelte
+++ b/webui/src/components/Inspect.svelte
@@ -18,6 +18,7 @@
import { GROUP_TYPE_ADDR } from "upend/constants";
import { deleteEntry, putEntityAttribute, putEntry } from "../lib/api";
import Icon from "./utils/Icon.svelte";
+ import BlobViewer from "./display/BlobViewer.svelte";
const dispatch = createEventDispatcher();
const params = useParams();
@@ -227,7 +228,7 @@
{/if}
-
+
{#if !$error}
{#if Boolean($allTypeEntries)}
diff --git a/webui/src/components/display/BlobPreview.svelte b/webui/src/components/display/BlobPreview.svelte
index daa7f17..ef67fda 100644
--- a/webui/src/components/display/BlobPreview.svelte
+++ b/webui/src/components/display/BlobPreview.svelte
@@ -1,15 +1,11 @@
{#if handled}
-
- {#if text}
-
-
-
- {/if}
- {#if audio}
-
- {/if}
- {#if video}
- {#if imageLoaded != address}
-
-
-
(imageLoaded = address)}
- on:error={() => (imageLoaded = address)}
- />
- {:else}
-
-
- {/if}
- {/if}
- {#if image}
-
- {/if}
- {#if pdf}
-
- {/if}
+
{#if model}
-
- {/if}
- {#if web}
+
+ {:else if web}
{#if imageLoaded != address}
{/if}
@@ -88,53 +46,56 @@
on:load={() => (imageLoaded = address)}
on:error={() => (handled = false)}
/>
+ {:else if fragment}
+
+ {:else}
+
+ {#if handled && imageLoaded != address}
+
+
+
+ {/if}
+
(imageLoaded = address)}
+ on:error={() => (handled = false)}
+ />
+
{/if}
- {#if fragment}
-
- {/if}
+
+{:else}
+
+
{/if}
-
diff --git a/webui/src/components/display/BlobViewer.svelte b/webui/src/components/display/BlobViewer.svelte
new file mode 100644
index 0000000..487009d
--- /dev/null
+++ b/webui/src/components/display/BlobViewer.svelte
@@ -0,0 +1,143 @@
+
+
+{#if handled}
+
+ {#if text}
+
+
+
+ {/if}
+ {#if audio}
+
+ {/if}
+ {#if video}
+ {#if imageLoaded != address}
+
+
+
(imageLoaded = address)}
+ on:error={() => (imageLoaded = address)}
+ />
+ {:else}
+
+
+ {/if}
+ {/if}
+ {#if image}
+
+ {/if}
+ {#if pdf}
+
+ {/if}
+ {#if model}
+
+ {/if}
+ {#if web}
+ {#if imageLoaded != address}
+
+ {/if}
+
(imageLoaded = address)}
+ on:error={() => (handled = false)}
+ />
+ {/if}
+ {#if fragment}
+
+
+
+ {/if}
+
+{/if}
+
+
diff --git a/webui/src/components/display/blobs/FragmentViewer.svelte b/webui/src/components/display/blobs/FragmentViewer.svelte
index ed40d7f..17b1241 100644
--- a/webui/src/components/display/blobs/FragmentViewer.svelte
+++ b/webui/src/components/display/blobs/FragmentViewer.svelte
@@ -18,19 +18,17 @@
{/if}
{#if $entity}
-
- (imageLoaded = true)}
- draggable="false"
- />
-
+
(imageLoaded = true)}
+ draggable="false"
+ />
{/if}
@@ -45,6 +43,7 @@
img {
max-width: 100%;
+ min-height: 0;
&.imageLoaded {
border: 2px dashed colors.$yellow;
}
diff --git a/webui/src/components/display/blobs/ModelViewer.svelte b/webui/src/components/display/blobs/ModelViewer.svelte
index 2f4e021..9f6a487 100644
--- a/webui/src/components/display/blobs/ModelViewer.svelte
+++ b/webui/src/components/display/blobs/ModelViewer.svelte
@@ -1,5 +1,6 @@
-