(loaded = address)}
- />
- {:else if types.audio}
-
+
+ {#if !loaded}
+
+ {/if}
+ {#if types.group}
+
+ {#each groupChildren as address (address)}
+ -
+ {
+ if (!ev.detail && !failedChildren.includes(address))
+ failedChildren = [...failedChildren, address];
+ }}
+ on:loaded={(ev) => {
+ if (ev.detail && !loadedChildren.includes(address))
+ loadedChildren = [...loadedChildren, address];
+ }}
+ />
+
+ {/each}
+
+ {:else if types.model}
+
(loaded = address)}
+ />
+ {:else if types.web}
(loaded = address)}
on:error={() => (handled = false)}
/>
- {#if mediaDuration}
-
- {mediaDuration}
-
- {/if}
-
- {:else if types.video}
-
(loaded = address)}
- />
- {:else}
-
-
(loaded = address)}
- on:error={() => (handled = false)}
+ {:else if types.fragment}
+
(loaded = address)}
/>
-
- {/if}
+ {:else if types.audio}
+
+
(loaded = address)}
+ on:error={() => (handled = false)}
+ />
+ {#if mediaDuration}
+
+ {mediaDuration}
+
+ {/if}
+
+ {:else if types.video}
+ (loaded = address)}
+ />
+ {:else}
+
+
(loaded = address)}
+ on:error={() => (handled = false)}
+ />
+
+ {/if}
+
{:else}
@@ -153,6 +155,10 @@
min-height: 0;
display: flex;
flex-direction: column;
+
+ .inner {
+ display: relative;
+ }
}
.hashbadge {
@@ -201,8 +207,8 @@
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
- padding: .25rem;
- gap: .25rem;
+ padding: 0.25rem;
+ gap: 0.25rem;
border: 1px solid var(--foreground);
border-radius: 4px;