diff --git a/frontend/pages/communication/chat.vue b/frontend/pages/communication/chat.vue index 7626864..2f8f86d 100644 --- a/frontend/pages/communication/chat.vue +++ b/frontend/pages/communication/chat.vue @@ -146,6 +146,18 @@ const matrixCallDurationLabel = computed(() => { return `${minutes}:${seconds}` }) +const matrixCallPrimaryTile = computed(() => + matrixCallTiles.value.find((tile) => tile.screenSharing) || + matrixCallTiles.value.find((tile) => !tile.local && tile.videoTrack) || + matrixCallTiles.value.find((tile) => tile.videoTrack) || + matrixCallTiles.value[0] || + null +) + +const matrixCallSecondaryTiles = computed(() => + matrixCallTiles.value.filter((tile) => tile.id !== matrixCallPrimaryTile.value?.id) +) + const roomCreateKeyPreview = computed(() => normalizeRoomKey(roomCreateForm.value.key || roomCreateForm.value.name) ) @@ -396,6 +408,9 @@ const replyPreview = (message) => { return message.body || message.attachment?.fileName || "Nachricht" } +const participantInitial = (tile) => + (tile?.name || tile?.identity || "?").slice(0, 1).toUpperCase() + const setReplyTarget = (message) => { matrixEditingMessage.value = null matrixReplyTarget.value = { @@ -1766,15 +1781,43 @@ onBeforeUnmount(() => { v-if="matrixLiveKitRoom && matrixCallConnected" class="flex shrink-0 flex-wrap items-center justify-between gap-3 border-b border-primary/20 bg-primary/10 px-4 py-3" > -
+
-
+ +
+ + + { class="h-[100dvh]" >