Files
decePubClient/Components/Daisy/DataDisplay/DChat.razor
T

32 lines
1.2 KiB
Plaintext
Raw Normal View History

@inherits DComponentBase
@* daisyUI Chat: https://daisyui.com/components/chat/ . One line of a conversation: an optional avatar, header and
footer around one DChatBubble (ChildContent). Avatar renders inside <div class="chat-image avatar">, so it takes
the avatar's frame, e.g. <div class="w-10 rounded-full"><img … /></div>. *@
<div @attributes="AdditionalAttributes" class="@CssClass">
@if (Avatar is not null)
{
<div class="chat-image avatar">@Avatar</div>
}
@if (Header is not null)
{
<div class="@Cx("chat-header", HeaderClass)">@Header</div>
}
@ChildContent
@if (Footer is not null)
{
<div class="@Cx("chat-footer", FooterClass)">@Footer</div>
}
</div>
@code {
[Parameter] public RenderFragment ChildContent { get; set; }
[Parameter] public RenderFragment Avatar { get; set; }
[Parameter] public RenderFragment Header { get; set; }
[Parameter] public RenderFragment Footer { get; set; }
[Parameter] public DChatPlacement Placement { get; set; }
[Parameter] public string HeaderClass { get; set; }
[Parameter] public string FooterClass { get; set; } = "opacity-50";
string CssClass => Cx("chat", Placement == DChatPlacement.End ? "chat-end" : "chat-start", Class);
}