...cleanup

This commit is contained in:
2026-06-17 23:51:28 -04:00
parent c6b5f8b205
commit ee204dde46
27 changed files with 65978 additions and 45921 deletions
+44 -15
View File
@@ -1,5 +1,4 @@
@page "/cards"
@using Chrono.Model
<PageTitle>Card Gallery</PageTitle>
@@ -27,7 +26,8 @@
<div class="filter-bar">
<div class="search-wrapper">
<i class="bi bi-search search-icon"></i>
<input @bind="search" @bind:event="oninput" class="form-control search-input" placeholder="Search cards by name or description..." />
<input @bind="search" @bind:event="oninput" class="form-control search-input"
placeholder="Search cards by name or description..."/>
@if (search.Length > 0)
{
<button class="search-clear" @onclick="ClearSearch"><i class="bi bi-x-lg"></i></button>
@@ -42,7 +42,7 @@
</select>
<select @bind="costFilter" class="form-select filter-select">
<option value="">All Costs</option>
@for (int i = 0; i <= 12; i++)
@for (var i = 0; i <= 12; i++)
{
<option value="@i">@i</option>
}
@@ -89,7 +89,7 @@
@if (filteredCards.Any())
{
<div class="card-grid">
@{ int idx = 0; }
@{ var idx = 0; }
@foreach (var card in filteredCards)
{
<div class="card-cell @(selectedCard == card ? "selected" : "")"
@@ -98,14 +98,15 @@
<div class="card-image-wrapper">
<div class="card-shimmer"></div>
<img src="@card.ImagePath" alt="@card.Name" loading="lazy"
onerror="this.src='data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22280%22><rect fill=%22%23222244%22 width=%22200%22 height=%22280%22/><text fill=%22%23686888%22 font-size=%2214%22 x=%22100%22 y=%22140%22 text-anchor=%22middle%22 dominant-baseline=%22middle%22>No Image</text></svg>'" />
onerror="this.src='data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22280%22><rect fill=%22%23222244%22 width=%22200%22 height=%22280%22/><text fill=%22%23686888%22 font-size=%2214%22 x=%22100%22 y=%22140%22 text-anchor=%22middle%22 dominant-baseline=%22middle%22>No Image</text></svg>'"/>
@if (card.Cost.HasValue)
{
<div class="card-cost-badge">@card.Cost</div>
}
@if (card.HasImmortalize)
{
<div class="card-immortalize-badge" title="Immortalizes"><i class="bi bi-star-fill"></i></div>
<div class="card-immortalize-badge" title="Immortalizes"><i class="bi bi-star-fill"></i>
</div>
}
</div>
<div class="card-label">
@@ -134,13 +135,14 @@
<button class="detail-close" @onclick="CloseDetail"><i class="bi bi-x-lg"></i></button>
<div class="detail-layout">
<div class="detail-image">
<img src="@selectedCard.ImagePath" alt="@selectedCard.Name" />
<img src="@selectedCard.ImagePath" alt="@selectedCard.Name"/>
</div>
<div class="detail-info">
<div class="detail-header">
<h2>@selectedCard.Name</h2>
<div class="detail-meta">
<span class="meta-badge category @selectedCard.Category?.ToLowerInvariant()">@selectedCard.Category</span>
<span
class="meta-badge category @selectedCard.Category?.ToLowerInvariant()">@selectedCard.Category</span>
@if (selectedCard.Cost.HasValue)
{
<span class="meta-badge cost"><i class="bi bi-lightning-fill"></i> @selectedCard.Cost</span>
@@ -249,14 +251,40 @@
);
}
private void SetCategory(string cat) => categoryFilter = categoryFilter == cat ? "" : cat;
private void ClearCategoryFilter() => categoryFilter = "";
private void ClearFactionFilter() => factionFilter = "";
private void ClearCostFilter() => costFilter = "";
private void ClearSearch() => search = "";
private void SetCategory(string cat)
{
categoryFilter = categoryFilter == cat ? "" : cat;
}
private void SelectCard(CardData card) => selectedCard = card;
private void CloseDetail() => selectedCard = null;
private void ClearCategoryFilter()
{
categoryFilter = "";
}
private void ClearFactionFilter()
{
factionFilter = "";
}
private void ClearCostFilter()
{
costFilter = "";
}
private void ClearSearch()
{
search = "";
}
private void SelectCard(CardData card)
{
selectedCard = card;
}
private void CloseDetail()
{
selectedCard = null;
}
private void ClearFilters()
{
@@ -265,4 +293,5 @@
factionFilter = "";
costFilter = "";
}
}