From a265aea4243cc25bfc15663fc146f54466891645 Mon Sep 17 00:00:00 2001 From: Thad Miller Date: Thu, 16 Jul 2026 15:41:44 -0400 Subject: [PATCH] [feat] minor tweaks to the inventory modal --- src/pages/dashboard.astro | 15 ++-- src/pages/partials/inventory-modal.astro | 107 ++++------------------- 2 files changed, 24 insertions(+), 98 deletions(-) diff --git a/src/pages/dashboard.astro b/src/pages/dashboard.astro index b4691be..19db54f 100644 --- a/src/pages/dashboard.astro +++ b/src/pages/dashboard.astro @@ -252,9 +252,9 @@ const catalogs = catalogRows purchaseDate: canvas.dataset.purchaseDate || null, condition: canvas.dataset.condition || 'Near Mint', }; - range = 'all'; + range = '6m'; root.querySelectorAll('.inv-price-range-btn').forEach(b => - b.classList.toggle('active', b.dataset.range === 'all')); + b.classList.toggle('active', b.dataset.range === '6m')); const emptyEl = root.querySelector('#inventoryPriceEmpty'); const wrap = canvas.closest('.chart-canvas-wrap'); @@ -390,7 +390,7 @@ const catalogs = catalogRows const delBtn = e.target.closest('[data-inventory-delete]'); if (!delBtn) return; - const form = delBtn.closest('[data-inventory-edit-form]'); + const form = modal.querySelector('[data-inventory-edit-form]'); const inventoryId = form?.querySelector('[name=inventoryId]')?.value; const cardId = form?.querySelector('[name=cardId]')?.value; if (!inventoryId) return; @@ -426,17 +426,16 @@ const catalogs = catalogRows if (!form) return; e.preventDefault(); - const btn = form.querySelector('button[type="submit"]'); + const btn = modal.querySelector('button[type="submit"][form="inventoryEditForm"]'); const original = btn ? btn.textContent : ''; if (btn) { btn.disabled = true; btn.textContent = 'Saving…'; } try { const res = await fetch('/api/inventory', { method: 'POST', body: new FormData(form) }); if (res.ok) { - if (btn) { btn.textContent = 'Saved ✓'; btn.classList.remove('btn-success'); btn.classList.add('btn-outline-success'); } - setTimeout(() => { - if (btn) { btn.textContent = original; btn.disabled = false; btn.classList.add('btn-success'); btn.classList.remove('btn-outline-success'); } - }, 1500); + const instance = window.bootstrap?.Modal.getInstance(modal); + if (instance) instance.hide(); + else modal.querySelector('[data-bs-dismiss=modal]')?.click(); } else if (btn) { btn.textContent = original; btn.disabled = false; } diff --git a/src/pages/partials/inventory-modal.astro b/src/pages/partials/inventory-modal.astro index 39020c1..9eb7b39 100644 --- a/src/pages/partials/inventory-modal.astro +++ b/src/pages/partials/inventory-modal.astro @@ -111,15 +111,8 @@ const altSearchUrl = (card: any) => {
-
- + {card?.productName} {
- + - + - + - + - +

Purchased: {inv.createdAt ? new Date(inv.createdAt).toLocaleDateString() : '—'}

@@ -222,11 +175,7 @@ const altSearchUrl = (card: any) => {
= 0 ? 'alert-success' : 'alert-danger'}`}>

Gain / Loss (%)

- { - gainPercent == null - ? '—' - : `${gainPercent >= 0 ? '+' : '−'}${Math.abs(gainPercent).toFixed(2)}%` - } + { gainPercent == null ? '—' : `${gainPercent >= 0 ? '+' : '−'}${Math.abs(gainPercent).toFixed(2)}%` }
@@ -234,7 +183,7 @@ const altSearchUrl = (card: any) => {
-
+ @@ -242,30 +191,15 @@ const altSearchUrl = (card: any) => { - + {catalogs.map(name => )} - +
@@ -281,21 +215,14 @@ const altSearchUrl = (card: any) => { No price history for this condition
- - +
- + - +
@@ -310,7 +237,7 @@ const altSearchUrl = (card: any) => {
- +