Files
aliasvault/apps/server/AliasVault.Client/Main/Components/Email/EmailRow.razor
2025-06-07 14:14:37 +02:00

42 lines
2.1 KiB
Plaintext

@using AliasVault.Client.Main.Pages.Emails.Models
<li class="hover:bg-gray-50 dark:hover:bg-gray-600 transition duration-150 ease-in-out">
<div @onclick="@(() => OnEmailClick.InvokeAsync(Email.Id))" class="p-4 flex justify-start items-start">
<div class="mr-4 flex-shrink-0">
<SenderInitials SenderName="@Email.FromName" SenderEmail="@Email.FromEmail" />
</div>
<div class="flex-grow">
<div class="flex items-center justify-between mb-2 mr-4">
<div>
<div class="text-gray-800 dark:text-gray-200 mb-2 flex items-center">
@Email.Subject
@if (Email.HasAttachments)
{
<svg class="attachment-indicator w-4 h-4 ml-2 text-gray-500 dark:text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"></path>
</svg>
}
</div>
<div class="text-sm text-gray-400 dark:text-gray-100 line-clamp-2">
@Email.MessagePreview
</div>
</div>
<div class="flex justify-end">
<div @onclick="@(() => OnCredentialClick.InvokeAsync(Email.CredentialId))" class="text-sm text-gray-700 dark:text-gray-300 cursor-pointer mr-4 hover:underline">@Email.CredentialName</div>
<div class="text-sm text-gray-500 dark:text-gray-400">@Email.Date.ToString("yyyy-MM-dd")</div>
</div>
</div>
</div>
</div>
</li>
@code {
[Parameter]
public required MailListViewModel Email { get; set; }
[Parameter]
public EventCallback<int> OnEmailClick { get; set; }
[Parameter]
public EventCallback<Guid> OnCredentialClick { get; set; }
}