Appearance
F-029: Days on Market Badge
Status: Done · Priority: P2 · Updated: Mar 7, 2026
Summary
publishedAt is tracked for every listing but never shown to users. "Listed X days ago" is a powerful signal — fresh listings indicate high demand, while stale listings suggest negotiation room or issues. Every competitor shows this.
Requirements
- [x] "Listed X days ago" or "New!" badge on listing cards
- [x] Same badge on listing detail page
- [x] Color-coded: green (<7d "New"), neutral (7-30d), amber (30-60d), red (60d+)
- [x] Bilingual labels (FR/EN)
Design
Pure frontend — publishedAt is already in the API response for both browse and detail endpoints.
Discussion Notes
Mar 7, 2026 — Created. XS effort, pure UI. Data already in API responses.
Implementation Notes
Changes
- Listing card (
listing-card.tsx): Green "New" badge overlay for <7d listings. Days counter in metadata row with Clock icon. Color: neutral (<30d), amber (30-60d), red (60d+). - Listing detail (
listing-detail.tsx): "New!" or "Listed Xd ago" in compact specs row with same color coding. - Translations:
common.new,common.daysAgofor cards.detail.newListing,detail.listedDaysAgofor detail page. Both EN + FR. - No API changes — uses existing
publishedAtfield, computed client-side.