MediaAttachmentGrid: fix element type misuse

This commit is contained in:
thislight 2024-11-11 14:57:49 +08:00
parent 0e33be020d
commit 8b69968b8f
No known key found for this signature in database
GPG key ID: FCFE5192241CCD4E

View file

@ -3,6 +3,8 @@ import {
type Component,
For,
Index,
Match,
Switch,
createMemo,
createRenderEffect,
createSignal,
@ -147,9 +149,10 @@ const MediaAttachmentGrid: Component<{
>
<Index each={props.attachments}>
{(item, index) => {
switch (item().type) {
case "image":
return (
const itemType = () => item().type;
return (
<Switch>
<Match when={itemType() === "image"}>
<img
data-sort={index}
data-media-type={item().type}
@ -161,9 +164,8 @@ const MediaAttachmentGrid: Component<{
loading="lazy"
style={itemStyle(item())}
></img>
);
case "video":
return (
</Match>
<Match when={itemType() === "video"}>
<video
data-sort={index}
data-media-type={item().type}
@ -176,9 +178,8 @@ const MediaAttachmentGrid: Component<{
height={item().meta?.small?.height}
style={itemStyle(item())}
/>
);
case "gifv":
return (
</Match>
<Match when={itemType() === "gifv"}>
<video
data-sort={index}
data-media-type={item().type}
@ -192,20 +193,17 @@ const MediaAttachmentGrid: Component<{
height={item().meta?.small?.height}
style={itemStyle(item())}
/>
);
case "audio":
return (
</Match>
<Match when={itemType() === "audio"}>
<audio
data-sort={index}
data-media-type={item().type}
src={item().url || undefined}
controls
></audio>
);
case "unknown":
return <div></div>;
}
</Match>
</Switch>
);
}}
</Index>
</section>