feat: link dashboard alerts
Quality / test (push) Canceled after 0s

This commit is contained in:
2026-09-09 16:45:58 -04:00
parent 94227c477a
commit 193c2111b8
2 changed files with 6 additions and 5 deletions
+5 -5
View File
@@ -251,9 +251,9 @@ onMounted(load);
<div><dt>Active inventory</dt><dd>{{ dashboard.counts.activeInventory }}</dd></div>
<div><dt>Available listings</dt><dd>{{ dashboard.counts.availableListings }}</dd></div>
<div><dt>Sold inventory</dt><dd>{{ dashboard.counts.soldInventory }}</dd></div>
<div><dt>Missing images</dt><dd>{{ dashboard.counts.missingImages }}</dd></div>
<div><dt>Missing pricing</dt><dd>{{ dashboard.counts.missingPricing }}</dd></div>
<div><dt>Stale pricing</dt><dd>{{ dashboard.counts.stalePricing }}</dd></div>
<div><dt>Missing images</dt><dd><a href="#inventory-title">{{ dashboard.counts.missingImages }}</a></dd></div>
<div><dt>Missing pricing</dt><dd><a href="#pricing-title">{{ dashboard.counts.missingPricing }}</a></dd></div>
<div><dt>Stale pricing</dt><dd><a href="#pricing-title">{{ dashboard.counts.stalePricing }}</a></dd></div>
<div><dt>Acquisition cost</dt><dd>${{ (dashboard.financials.totalAcquisitionCostMinor / 100).toFixed(2) }}</dd></div>
<div><dt>Asking value</dt><dd>${{ (dashboard.financials.totalAskingValueMinor / 100).toFixed(2) }}</dd></div>
<div><dt>Market value</dt><dd>${{ (dashboard.financials.totalMarketValueMinor / 100).toFixed(2) }}</dd></div>
@@ -351,7 +351,7 @@ onMounted(load);
<button class="button button--primary" type="submit" :disabled="isSaving">Record acquisition</button>
</form>
<form class="showcase-panel" @submit.prevent="calculatePricing">
<h2>Calculate market value</h2>
<h2 id="pricing-title">Calculate market value</h2>
<label class="fixture-label" for="pricing-inventory">Inventory copy</label>
<select id="pricing-inventory" v-model="pricingInventoryId" class="fixture-input" required>
<option value="" disabled>Select a copy</option>
@@ -383,7 +383,7 @@ onMounted(load);
<p v-if="!providerMappings.length" class="state state--empty">Select a product to view mappings.</p>
<ul v-else><li v-for="mapping in providerMappings" :key="mapping.id">{{ mapping.providerId }} · {{ mapping.mappingType }} · {{ mapping.externalIdentifier ?? mapping.searchQuery }}</li></ul>
</section>
<section class="admin-list" aria-labelledby="inventory-title">
<section id="inventory-title" class="admin-list" aria-labelledby="inventory-title">
<h2 id="inventory-title">Physical inventory</h2>
<p v-if="!inventory.length && !isLoading" class="state state--empty">No physical copies yet.</p>
<ul v-else><li v-for="item in inventory" :key="item.id" :data-product-id="item.productId"><span>{{ item.id }}</span> · {{ item.status }} <RouterLink :to="{ name: 'admin-image-manager', params: { id: item.id } }">Manage images</RouterLink></li></ul>
@@ -17,6 +17,7 @@ test('signs in and publishes a listing after adding an inventory image', async (
await expect(page.getByRole('status', { name: 'Loading inventory...' })).toHaveCount(0);
await expect(page.getByRole('heading', { name: 'At a glance' })).toBeVisible();
await expect(page.getByText('Active inventory')).toBeVisible();
await expect(page.locator('.dashboard-summary__grid div').filter({ hasText: 'Missing images' }).getByRole('link')).toHaveAttribute('href', '#inventory-title');
const category = page.locator('#product-category option').nth(1);
await expect(category).toBeAttached();