'use client'; import { Rss, ExternalLink } from 'lucide-react'; import { useState, useEffect } from 'react'; import { formatDistanceToNow } from 'date-fns'; export function NewsFeed() { const [news, setNews] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { async function fetchNews() { try { const res = await fetch('/api/rss'); const data = await res.json(); if (Array.isArray(data)) { setNews(data); } } catch (e) { console.error(e); } finally { setLoading(false); } } fetchNews(); }, []); return (
Hacker News
{loading ? ( [1, 2, 3].map(i => (
)) ) : ( news.map((item) => (

{item.title}

{item.pubDate ? formatDistanceToNow(new Date(item.pubDate), { addSuffix: true }) : ''}
)) )}
); }