- {#if showAvatar && !message.isOwn}
-
+
+ {#if showAvatar}
+
- {initials}
-
- {/if}
-
+ {initials}
+
+ {:else}
+
+ {/if}
-
-
- {#if showAvatar}
-
-
- {message.isOwn ? 'Du' : message.senderName}
-
- {formattedTime}
- {#if message.edited}
- (bearbeitet)
- {/if}
- {#if showEncryptionBadge}
-
- {/if}
-
+
+
+
+ {#if showAvatar && !message.isOwn}
+ {message.senderName}
{/if}
{#if message.replyTo && message.replyToBody}
- {message.replyToBody}
+ {message.replyToBody}
{/if}
-
-
+
+
{#if message.redacted}
-
Nachricht wurde gelöscht
+Nachricht wurde gelöscht
{:else if isDecryptionError} -
+
-
- Nachricht kann nicht entschlüsselt werden. Möglicherweise fehlen Schlüssel.
-
+ Kann nicht entschlüsselt werden
{:else if message.type === 'm.image' && thumbnailUrl}
-
+
{#if imageLoading}
-
-
+
diff --git a/apps/matrix/apps/web/src/lib/components/chat/MessageInput.svelte b/apps/matrix/apps/web/src/lib/components/chat/MessageInput.svelte
index cc3e7ddb9..ace6face0 100644
--- a/apps/matrix/apps/web/src/lib/components/chat/MessageInput.svelte
+++ b/apps/matrix/apps/web/src/lib/components/chat/MessageInput.svelte
@@ -137,23 +137,23 @@
}
-
+
{/if}
{#if imageError}
-
-
(imageLoading = false)}
onerror={() => {
@@ -187,17 +182,19 @@
{:else if message.type === 'm.video' && thumbnailUrl}
- Bild konnte nicht geladen werden
+
+
{:else}
Bild konnte nicht geladen werden
+
-
- {#if showActions && !message.redacted}
-
-
+
{#if message.media?.duration}
-
+
{Math.floor(message.media.duration / 60)}:{(message.media.duration % 60)
.toString()
.padStart(2, '0')}
@@ -210,59 +207,92 @@
href={mediaUrl}
target="_blank"
rel="noopener noreferrer"
- class="flex items-center gap-3 rounded-lg border border-border bg-muted p-3 transition-colors hover:bg-surface-hover"
+ class="flex items-center gap-3 rounded-lg {message.isOwn
+ ? 'bg-white/20 hover:bg-white/30'
+ : 'bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10'} p-3 transition-colors"
>
-
-
+
+
{:else if message.type === 'm.emote'}
-
-
+
-
- {message.media?.filename || message.body}
-+
{message.media?.filename || message.body}
+{formatFileSize(message.media?.size)} {#if message.media?.mimetype} • {message.media.mimetype.split('/')[1]?.toUpperCase()} {/if}
* {message.senderName} {message.body}
++ * {message.senderName} + {message.body} +
{:else if message.type === 'm.notice'} -{message.body}
++ {message.body} +
{:else} -{message.body}
+{message.body}
{/if} - - {#if !showAvatar} - (bearbeitet) - {formattedTime} - {/if} -
-
- {#if message.isOwn && message.type === 'm.text'}
-
- {/if}
- {#if message.isOwn}
-
+ {#if showEncryptionBadge}
+
{/if}
- {/if}
+
+
+
+ {formattedTime}
+
+
+
+ {#if showActions && !message.redacted}
+
+
+ {#if message.isOwn && message.type === 'm.text'}
+
+ {/if}
+ {#if message.isOwn}
+
+ {/if}
+
+ {/if}
+
+
{#if replyTo || editMessage}
-
+
{#if editMessage}
-
Nachricht bearbeiten
+Nachricht bearbeiten
{editMessage.body}
{:else if replyTo} -+
Antwort auf {replyTo.senderName}
{replyTo.body}
{/if}