Uptoolkit
GitHub

Activity Feed Item

Single ActivityPub activity row for timeline and full feeds.

Bergen, Norway

Spent the week redrawing a 1:25000 coastline by hand. The shoreline has moved 40 metres inland since the 1984 survey.

Every map is a snapshot of a place that has already changed. #cartography #openstreetmap

Hand-drawn coastline contour map with annotated survey markers
Comparison overlay of the 1984 and current shoreline
#cartography#openstreetmap
Tobi Ferrand reacted to a post “Spent the week redrawing a 1:25000 coastline by hand. The s…”
  • Hand-drawn coastline contour map with annotated survey markers
  • Comparison overlay of the 1984 and current shoreline

Installation

npx shadcn@latest add https://ui.uptoolkit.com/r/activity-feed-item.json

Usage

Renders one classified FeedEntry. Create and Announce activities become full post-card rows; reactions, follows, albums, profile changes, group joins, and deletes collapse to a single attributed line with an icon badge.

import { ActivityFeedItem } from "@/components/ui/activity-feed-item";
import { toFeedEntries } from "@/lib/activity-entries";

const [entry] = toFeedEntries(collection.orderedItems ?? []);

<ActivityFeedItem
  entry={entry}
  viewer={viewer}
  subject={owner}
  onActivity={(activity) => postToOutbox(viewer, activity)}
  onSelect={(entry) => navigate(getObjectId(entry.object))}
/>;

Pass children to render a comment thread or other content below post cards. subject enables the "wrote to their feed" ribbon when entry.addressedToSubject is true.