{#if mensagens?.data && mensagens.data.length > 0} {@const gruposPorDia = agruparMensagensPorDia(mensagens.data)} {#each Object.entries(gruposPorDia) as [dia, mensagensDia]}
{dia}
{#each mensagensDia as mensagem (mensagem._id)} {@const remetenteIdStr = (() => { // Priorizar remetenteId direto da mensagem if (mensagem.remetenteId) { return String(mensagem.remetenteId).trim(); } // Fallback para remetente._id if (mensagem.remetente?._id) { return String(mensagem.remetente._id).trim(); } return null; })()} {@const isMinha = usuarioAtualId && remetenteIdStr && remetenteIdStr === usuarioAtualId}
{#if isMinha}

Você

{:else}

{mensagem.remetente?.nome || "Usuário"}

{/if}
{#if mensagem.mensagemOriginal}

{mensagem.mensagemOriginal.remetente?.nome || "Usuário"}

{mensagem.mensagemOriginal.deletada ? "Mensagem deletada" : mensagem.mensagemOriginal.conteudo}

{/if} {#if mensagemEditando?._id === mensagem._id}
{:else if mensagem.deletada}

Mensagem deletada

{:else if mensagem.tipo === "texto"} {:else if mensagem.tipo === "imagem"}
{mensagem.arquivoNome}
{#if mensagem.conteudo}

{mensagem.conteudo}

{/if} {:else if mensagem.tipo === "arquivo"}

{mensagem.arquivoNome}

{#if mensagem.arquivoTamanho}

{(mensagem.arquivoTamanho / 1024 / 1024).toFixed(2)} MB

{/if}
{/if} {#if !mensagem.deletada && getEmojisReacao(mensagem).length > 0}
{#each getEmojisReacao(mensagem) as reacao} {/each}
{/if} {#if !mensagem.deletada} {/if}

{formatarDataMensagem(mensagem.enviadaEm)}

{#if isMinha && !mensagem.deletada && !mensagem.agendadaPara}
{/if}
{/each} {/each} {#if digitando?.data && digitando.data.length > 0}

{digitando.data.map((u: { nome: string }) => u.nome).join(", ")} {digitando.data.length === 1 ? "está digitando" : "estão digitando"}...

{/if} {:else if !mensagens?.data}
{:else}

Nenhuma mensagem ainda

Envie a primeira mensagem!

{/if}