'use client'; import React, { useState } from 'react'; import { ClubActivityItem } from './types'; import { EmptyState } from './empty-state'; interface ClubActivityListProps { activities?: ClubActivityItem[]; } export function ClubActivityList({ activities = [] }: ClubActivityListProps) { const [filter, setFilter] = useState<'all' | 'membership' | 'ride' | 'wall' | 'admin'>('all'); const filtered = activities.filter((item) => { if (filter === 'all') return true; return item.type === filter; }); return (

Club Activity Stream

Recent events, memberships, and administrative actions.

{/* Filter Pills */}
{( [ { key: 'all', label: 'All Activity' }, { key: 'membership', label: 'Memberships' }, { key: 'ride', label: 'Rides' }, { key: 'wall', label: 'Wall' }, { key: 'admin', label: 'Administrative' }, ] as const ).map((tab) => ( ))}
{filtered.length === 0 ? ( ) : (
{filtered.map((item) => { const iconMap = { membership: 'how_to_reg', ride: 'add_road', wall: 'forum', admin: 'tune', }; return (
{iconMap[item.type] || 'circle'}
{item.actorName}{' '} {item.actionText}
{item.timestamp}
); })}
)}
); }