import React from 'react'; import { useLiveActivity } from '@/hooks/features/useLiveActivity.ts'; import { useTranslation } from '@/hooks/useI18n.tsx'; import { Organization } from '@/types.ts'; import SectionHeader from '@/components/layout/SectionHeader.tsx'; import { Container, Stack } from '@/components/ui/layout'; import ActivityItem from '@/components/landing/ActivityItem.tsx'; import ActivityItemSkeleton from '@/components/landing/ActivityItemSkeleton.tsx'; interface LiveActivityProps { onViewOrganization: (org: Organization) => void; organizations: Organization[]; } const LiveActivity = ({ onViewOrganization, organizations }: LiveActivityProps) => { const { t } = useTranslation(); const { activitiesWithOrgs, isLoading } = useLiveActivity(organizations); // Hide section completely if no activities and not loading if (!isLoading && activitiesWithOrgs.length === 0) { return null; } return (
{isLoading ? ( {Array.from({ length: 3 }).map((_, index) => ( ))} ) : ( {activitiesWithOrgs.map((activity, index) => ( ))} )}
); }; export default React.memo(LiveActivity);