Review an infinite activity feed

src/activity-row.tsxTypeScript
@@ -0,0 +1,25 @@
1+import type { Activity } from "./use-activity-feed";
2+
3+interface ActivityRowProps {
4+ activity: Activity;
5+}
6+
7+export function ActivityRow({ activity }: ActivityRowProps) {
8+ return (
9+ <article className="activity-row" data-activity-id={activity.id}>
10+ <div className="activity-copy">
11+ <strong>{activity.actorName}</strong>
12+ <span>{activity.message}</span>
13+ </div>
14+ {activity.thumbnailUrl ? (
15+ <img
16+ src={activity.thumbnailUrl}
17+ alt=""
18+ width={48}
19+ height={48}
20+ loading="eager"
21+ />
22+ ) : null}
23+ </article>
24+ );
25+}