Add support for downloading media

Fixes #85
This commit is contained in:
Henry Hiles 2026-10-16 17:05:26 -04:00
commit 0ad85f24d5
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
15 changed files with 285 additions and 24 deletions

View file

@ -110,14 +110,53 @@ class const MessageRenderer(
ConstrainedBox(
constraints: .loose(.square(500)),
child: switch (event.content) {
VideoMessageContent(:final info, :final file) =>
VideoPlayer(url, info, encrypted: file != null),
AudioMessageContent(:final info, :final file) =>
AudioPlayer(url, info, encrypted: file != null),
FileMessageContent(:final info, :final filename) =>
FileCard(url, info, filename: filename),
ImageMessageContent(:final info, :final file) =>
MessageImage(url, info: info, encrypted: file != null),
VideoMessageContent(
:final info,
:final file,
:final filename,
:final body,
) =>
VideoPlayer(
url,
info,
encrypted: file != null,
filename: filename ?? body,
),
AudioMessageContent(
:final info,
:final file,
:final filename,
:final body,
) =>
AudioPlayer(
url,
info,
encrypted: file != null,
filename: filename ?? body,
),
FileMessageContent(
:final info,
:final filename,
:final file,
) =>
FileCard(
url,
info,
filename: filename,
encrypted: file != null,
),
ImageMessageContent(
:final info,
:final file,
:final filename,
:final body,
) =>
MessageImage(
url,
info: info,
encrypted: file != null,
filename: filename ?? body,
),
_ => SizedBox.shrink(),
},
),