← Commit history

adom-stock: 'no data yet' for a vendor CO has not fetched; say why a fetch failed

Colby Knox ·d8eb4d2d9c ·28d ago ·parent 088e723
1 file changed +2−2
widgets/stock-widget.js+2−2
@@ -37,7 +37,7 @@ a.pill:hover{border-color:var(--accent)}.pill .v{color:var(--muted);font-size:11       let cap = ''; try { cap = new URL(src, 'https://wiki.adom.inc').searchParams.get('cap') || ''; } catch (e) {}       const headers = fresh ? { 'X-Adom-Widget': 'stock', ...(cap ? { 'X-Adom-Cap': cap } : {}) } : {};       try { const r = await fetch(src, { credentials: 'include', headers }); const data = await r.json(); return { data, err: r.ok ? null : (data && data.error ? data.error : `stock route answered ${r.status}`) }; }-      catch (e) { return { data: null, err: 'could not load stock' }; }+      catch (e) { return { data: null, err: 'could not reach the stock route (' + (e && e.message ? String(e.message).slice(0, 60) : 'blocked') + ')' }; }     }     render(d, err) {       const root = this.shadowRoot, wrap = root.querySelector('.wrap');@@ -50,7 +50,7 @@ a.pill:hover{border-color:var(--accent)}.pill .v{color:var(--muted);font-size:11       const pills = VENDORS.filter(v => d.vendors && d.vendors[v] !== undefined).map(v => {         const r = d.vendors[v]; const label = (r && r.label) || v;         if (!r) return `<span class="pill dim"><span class="v">${esc(label)}</span><span class="q">not asked</span></span>`;-        if (r.error) return `<span class="pill dim" title="${esc(r.error)}"><span class="v">${esc(label)}</span><span class="q">${/budget/.test(r.error) ? 'daily lookups used' : /PARTS_API_KEY/.test(r.error) ? 'not configured' : 'lookup failed'}</span></span>`;+        if (r.error) return `<span class="pill dim" title="${esc(r.error)}"><span class="v">${esc(label)}</span><span class="q">${/no data/.test(r.error) ? 'no data yet' : /budget/.test(r.error) ? 'daily lookups used' : /PARTS_API_KEY/.test(r.error) ? 'not configured' : 'lookup failed'}</span></span>`;         if (!r.found) return `<span class="pill dim"><span class="v">${esc(label)}</span><span class="q">not listed</span></span>`;         const inner = `<span class="v">${esc(label)}</span><span class="q ${r.stock > 0 ? '' : 'out'}">${r.stock > 0 ? num(r.stock) : 'out of stock'}</span>${r.unit_price ? `<span class="p">${esc(r.unit_price)}</span>` : ''}`;         const title = `${label}: ${r.part || r.mpn || ''}${r.checked_at ? `, ${ago(r.checked_at)}` : ''}`;