blob: 04ea1566297d6b8692dca25acab0856273173fe9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import type { Media } from "@/types/trill";
interface Props {
media: Media[];
}
function M({ media }: Props) {
return (
<div className="body-media">
{media.map((m, i) => {
return "video" in m.media ? (
<video key={JSON.stringify(m) + i} src={m.media.video} controls />
) : "audio" in m.media ? (
<audio key={JSON.stringify(m) + i} src={m.media.audio} controls />
) : "images" in m.media ? (
<Images key={JSON.stringify(m) + i} urls={m.media.images} />
) : null;
})}
</div>
);
}
export default M;
function Images({ urls }: { urls: string[] }) {
return (
<>
{urls.map((u, i) => (
<img
key={u + i}
className={`body-img body-img-1-of-${urls.length}`}
src={u}
alt=""
/>
))}
</>
);
}
|