summaryrefslogtreecommitdiff
path: root/gui/src/components/post/Media.tsx
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-06 10:13:39 +0700
committerpolwex <polwex@sortug.com>2025-10-06 10:13:39 +0700
commit8751ba26ebf7b7761b9e237f2bf3453623dd1018 (patch)
treedc37f12b3fd9b1a1e7a1b54a51c80697f37a04e8 /gui/src/components/post/Media.tsx
parent6704650dcfccf609ccc203308df9004e0b511bb6 (diff)
added frontend WS connection for demonstration purposes
Diffstat (limited to 'gui/src/components/post/Media.tsx')
-rw-r--r--gui/src/components/post/Media.tsx35
1 files changed, 35 insertions, 0 deletions
diff --git a/gui/src/components/post/Media.tsx b/gui/src/components/post/Media.tsx
new file mode 100644
index 0000000..04ea156
--- /dev/null
+++ b/gui/src/components/post/Media.tsx
@@ -0,0 +1,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=""
+ />
+ ))}
+ </>
+ );
+}