52 lines
2.1 KiB
Plaintext
52 lines
2.1 KiB
Plaintext
@using Shared.Services
|
|
@using Model
|
|
@inject CardPreviewService PreviewService
|
|
|
|
@if (PreviewService.IsVisible && PreviewService.HoveredCard != null)
|
|
{
|
|
<div class="card-preview-container" style="left: @(PreviewService.X + 20)px; top: @(PreviewService.Y - 100)px;">
|
|
<div class="card-preview-card">
|
|
<img src="@PreviewService.HoveredCard.ImagePath" alt="@PreviewService.HoveredCard.Name" class="preview-image" />
|
|
<div class="preview-overlay">
|
|
<div class="preview-name">@PreviewService.HoveredCard.Name</div>
|
|
<div class="preview-meta">
|
|
@if (PreviewService.HoveredCard.Cost.HasValue)
|
|
{
|
|
<span class="preview-cost"><i class="bi bi-lightning-fill"></i> @PreviewService.HoveredCard.Cost</span>
|
|
}
|
|
<span class="preview-category">@PreviewService.HoveredCard.Category</span>
|
|
</div>
|
|
@if (!string.IsNullOrEmpty(PreviewService.HoveredCard.Description))
|
|
{
|
|
<div class="preview-description">@PreviewService.HoveredCard.Description</div>
|
|
}
|
|
@if (PreviewService.HoveredCard.Attack.HasValue || PreviewService.HoveredCard.Health.HasValue)
|
|
{
|
|
<div class="preview-stats">
|
|
@if (PreviewService.HoveredCard.Attack.HasValue)
|
|
{
|
|
<span class="stat-item"><i class="bi bi-shield-shaded"></i> @PreviewService.HoveredCard.Attack</span>
|
|
}
|
|
@if (PreviewService.HoveredCard.Health.HasValue)
|
|
{
|
|
<span class="stat-item"><i class="bi bi-heart-fill"></i> @PreviewService.HoveredCard.Health</span>
|
|
}
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@code {
|
|
protected override void OnInitialized()
|
|
{
|
|
PreviewService.OnChange += StateHasChanged;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
PreviewService.OnChange -= StateHasChanged;
|
|
}
|
|
}
|