Detail: Merge scraper, stale-data reason, and raw scrape log into one Source card #30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
When a shipment is stalled, the detail page shows three consecutive cards for the same concern:
All three relate to scraping status. The fragmentation adds visual noise and scroll depth.
Implementation
File:
frontend/src/pages/ShipmentDetail.tsxMerge all three into a single
<Card>with sections:Delete the original three separate card blocks for stalled warning, scraper, and scrape log.
Acceptance criteria
shipment.stalledis trueBrand identity alignment
The brand brief stresses data transparency: users should see source, sync state, raw event availability, and uncertainty in one coherent place. This issue should reframe the merged card as a Trackbox
SourceorCarrier syncsurface, not just a generic scraper admin card.Brand-compliant implementation notes
Source & syncorCarrier sync;Scrapercan remain as a smaller technical label inside the card.Source,Last sync,Last carrier update,Sync state, andRaw eventswhen data exists.Carrier data unavailable,No new events, orDelivery may be delayed.Additional acceptance criteria
Migrated from GitHub issue #9: https://github.com/bullitt186/trackbox/issues/9
Original author: @bullitt186
Original created: 2026-06-27T13:23:28Z
Original labels: ux
Detail: Merge Stalled card, Scraper card, and Scrape Log into one 'Scraper' cardto Detail: Merge scraper, stale-data reason, and raw scrape log into one Source cardImplemented in commit
bd6b0e7as part of the Source & sync card merge (also resolves #48 and #49). The separate stall card, scraper card, and scrape log card have been replaced with a single 'Source & sync' card. Stall warning appears inline only when stalled (amber, with AlertTriangle icon). Stats grid shows fail count and last sync. Actions (Scrape Now, Enable/Disable, Re-enable) are inline. The scrape log is collapsible with a rotating ChevronDown. This reduces scroll depth and frames the surface as user-owned sync status rather than admin debug output.