Skip to content

bash
npm install @hua-labs/hua
tsx
import { ActivityFeed } from "@hua-labs/ui/advanced/dashboard";

orderId: #12345amount: ₩125,000status:

sku: SKU-001quantity: 50

📭

Props

items*ActivityItem[]-Array of activity items to display
titlestring-Feed title
emptyMessagestring"활동 내역이 없습니다."Message when no items
showHeaderbooleantrueWhether to show header
maxItemsnumber-Maximum items to display
onViewAll() => void-View all callback
viewAllLabelstring"View All"View all button label
emptyStateReact.ReactNode-Custom empty state component

ActivityItem

id*string-Unique item identifier
title*string-Activity title
descriptionstring-Activity description
timestamp*Date | string-Activity timestamp
iconIconName | React.ReactNode-Activity icon
badgestring | React.ReactNode-Optional badge
onClick() => void-Click handler
metadataRecord<string, unknown>-Additional metadata

BasicActivityFeed.tsxtsx
import { ActivityFeed } from "@hua-labs/ui/advanced/dashboard";

export function BasicActivityFeed() {
  const activities = [
    {
      id: "1",
      title: "New order created",
      description: "Order #1234 has been created",
      timestamp: new Date(),
      icon: "shoppingCart",
      badge: "Complete"
    },
    {
      id: "2",
      title: "Payment processed",
      description: "$50.00 payment completed",
      timestamp: new Date(Date.now() - 3600000),
      icon: "creditCard"
    }
  ];

  return (
    <ActivityFeed
      title="Recent Activity"
      items={activities}
    />
  );
}

LimitedActivityFeed.tsxtsx
import { ActivityFeed } from "@hua-labs/ui/advanced/dashboard";

export function LimitedActivityFeed() {
  return (
    <ActivityFeed
      title="Activity History"
      items={activities}
      maxItems={5}
      onViewAll={() => navigate("/activities")}
      viewAllLabel="View All"
    />
  );
}