import { useActivity } from '../hooks/useApi';
export function ActivityFeed() {
const { data: activity, isLoading } = useActivity();
if (isLoading) return
Loading...
;
if (!activity?.length) return No recent activity
;
return (
{activity.slice(0, 20).map((item, i) => (
{item.name}
{timeAgo(item.modified)}
))}
);
}
function kindColor(kind: string): string {
switch (kind) {
case 'human_task': return 'bg-accent';
case 'agent_task': return 'bg-warning';
case 'knowledge': return 'bg-success';
default: return 'bg-text-muted';
}
}
function timeAgo(iso: string): string {
const ms = Date.now() - new Date(iso).getTime();
const mins = Math.floor(ms / 60000);
if (mins < 1) return 'now';
if (mins < 60) return `${mins}m`;
const hrs = Math.floor(mins / 60);
if (hrs < 24) return `${hrs}h`;
return `${Math.floor(hrs / 24)}d`;
}