BlockDex

Components

Registries

Free blocks

Method

BlockDex

Components

Registries

Free blocks

Method

Open API

BlockDex

Components

Registries

Free blocks

Method

Open API

Components/lemma/lemma-activity-feed

Lemma Activity Feed

lemma/lemma-activity-feed
FreeBlock

A unified audit feed that merges record changes, workflow events, and comments from multiple tables into a single timeline with date grouping, event-type icons, and relative timestamps.

Install it

npx shadcn@latest add https://raw.githubusercontent.com/lemma-work/lemma-platform/main/lemma-typescript/public/r/lemma-activity-feed.json

Source

registry/default/lemma-activity-feed/components/lemma-activity-feed.tsxraw.githubusercontent.com/lemma-work/lemma-platform/main/lemma-typescript/public/r/lemma-activity-feed.json · first 6 KB
1"use client"
2
3import * as React from "react"
4import {
5 Activity,
6 Calendar,
7 Database,
8 FileText,
9 MessageSquare,
10 RefreshCw,
11 User,
12 Zap,
13} from "lucide-react"
14import { Button } from "@/components/lemma/ui/button"
15import { Skeleton } from "@/components/lemma/ui/skeleton"
16import { useRecords } from "lemma-sdk/react"
17import type { LemmaClient } from "lemma-sdk"
18import { cn } from "@/components/lemma/lib/utils"
19import { enumPillClasses, type EnumColorMap } from "./activity-enum-utils"
20import {
21 activityRadiusClassName,
22 type LemmaActivityAppearance,
23 type LemmaActivityDensity,
24 type LemmaActivityRadius,
25} from "./activity-style-utils"
26
27export type { LemmaActivityAppearance, LemmaActivityDensity, LemmaActivityRadius } from "./activity-style-utils"
28
29export interface ActivitySource {
30 tableName: string
31 label?: string
32 timestampField: string
33 descriptionField?: string
34 typeField?: string
35 userField?: string
36 iconField?: string
37 filters?: Array<{ field: string; op: string; value: unknown }>
38 limit?: number
39}
40
41export type ActivityEventType = "create" | "update" | "delete" | "comment" | "workflow" | "system" | "custom"
42
43export interface LemmaActivityFeedProps {
44 client: LemmaClient
45 podId?: string
46 enabled?: boolean
47
48 sources: ActivitySource[]
49 enumColorMap?: EnumColorMap
50
51 appearance?: LemmaActivityAppearance
52 density?: LemmaActivityDensity
53 radius?: LemmaActivityRadius
54
55 title?: React.ReactNode
56 headerActions?: React.ReactNode
57 className?: string
58 onEventClick?: (event: ActivityEvent, source: ActivitySource) => void
59}
60
61export interface ActivityEvent {
62 id: string
63 timestamp: Date
64 description: string
65 type: ActivityEventType
66 tableName: string
67 source: string
68 user?: string
69 icon?: string
70 record: Record<string, unknown>
71}
72
73export function LemmaActivityFeed({
74 client,
75 podId,
76 enabled = true,
77 sources,
78 enumColorMap,
79 appearance = "default",
80 density = "comfortable",
81 radius = "lg",
82 title,
83 headerActions,
84 className,
85 onEventClick,
86}: LemmaActivityFeedProps) {
87 const sourceResults = sources.map((source) => ({
88 source,
89 state: useRecords({
90 client,
91 podId,
92 tableName: source.tableName,
93 filters: source.filters as Array<{ field: string; op: string; value: unknown }> | undefined,
94 limit: source.limit ?? 50,
95 sortBy: source.timestampField,
96 order: "desc",
97 enabled,
98 }),
99 }))
100
101 const allEvents = React.useMemo(() => {
102 const events: ActivityEvent[] = []
103// … truncated

What it pulls in

npm packages

  • lemma-sdk
  • lucide-react
  • clsx
  • tailwind-merge

Other registry items

  • lemma-ui

Files it writes

  • registry/default/lemma-activity-feed/components/activity-enum-utils.ts
  • registry/default/lemma-activity-feed/components/activity-style-utils.ts
  • registry/default/lemma-activity-feed/components/lemma-activity-feed.tsx

Facts

Registry
lemma
Type
registry:block
Access
Free
Files written
3
Licence
AGPL-3.0
First indexed
2026-08-03
Last confirmed
yesterday

Go to the source

lemma.work lemma-work/lemma-platform on GitHub Raw registry item This item as JSON

More from lemma

All 20 items
Same registry, same kind — the ones you would have found next
ComponentRegistryKindAccessInstallsCommand
Lemma Action Surfacelemma-action-surfacelemmaBlocksFree4 deps
Lemma Agent Conversation Experiencelemma-assistant-experiencelemmaBlocksFree7 deps · 3 files
Lemma Breadcrumbslemma-breadcrumbslemmaBlocksFree3 deps
Lemma Commentslemma-commentslemmaBlocksFree4 deps · 3 files
Lemma Detail Panellemma-detail-panellemmaBlocksFree4 deps · 7 files
Lemma Document Workspacelemma-document-workspacelemmaBlocksFree6 deps
Lemma File Browserlemma-file-browserlemmaBlocksFree4 deps
Lemma Global Searchlemma-global-searchlemmaBlocksFree4 deps
BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex