diff --git a/frontend/src/app/auctions/page.tsx b/frontend/src/app/auctions/page.tsx index d6e224f..b049269 100644 --- a/frontend/src/app/auctions/page.tsx +++ b/frontend/src/app/auctions/page.tsx @@ -164,16 +164,39 @@ export default function AuctionsPage() { const loadAuctions = async () => { setLoading(true) try { - const [all, ending, hot, pounce] = await Promise.all([ - api.getAuctions(undefined, undefined, undefined, undefined, undefined, false, 'ending', 100, 0), - api.getEndingSoonAuctions(24, 50), // 24 hours, limit 50 - api.getHotAuctions(50), - api.getMarketFeed({ source: 'pounce', limit: 10 }).catch(() => ({ items: [] })), + // Use unified feed API for all data - same as Terminal Market Page + const [allFeed, endingFeed, hotFeed, pounceFeed] = await Promise.all([ + api.getMarketFeed({ source: 'all', limit: 100, sortBy: 'time' }), + api.getMarketFeed({ source: 'external', endingWithin: 24, limit: 50, sortBy: 'time' }), + api.getMarketFeed({ source: 'external', limit: 50, sortBy: 'score' }), // Hot = highest score + api.getMarketFeed({ source: 'pounce', limit: 10 }), ]) - setAllAuctions(all.auctions || []) - setEndingSoon(ending || []) - setHotAuctions(hot || []) - setPounceItems(pounce.items || []) + + // Convert MarketItem to Auction format for compatibility + const convertToAuction = (item: MarketItem): Auction => ({ + domain: item.domain, + platform: item.source, + platform_url: item.url, + current_bid: item.price, + currency: item.currency, + num_bids: item.num_bids || 0, + end_time: item.end_time || '', + time_remaining: item.time_remaining || '', + buy_now_price: item.price_type === 'fixed' ? item.price : null, + reserve_met: null, + traffic: null, + age_years: null, + tld: item.tld, + affiliate_url: item.url, + }) + + // Filter out Pounce Direct from auction lists (they go in separate section) + const externalOnly = (items: MarketItem[]) => items.filter(i => !i.is_pounce).map(convertToAuction) + + setAllAuctions(externalOnly(allFeed.items || [])) + setEndingSoon(externalOnly(endingFeed.items || [])) + setHotAuctions(externalOnly(hotFeed.items || [])) + setPounceItems(pounceFeed.items || []) } catch (error) { console.error('Failed to load auctions:', error) } finally {