"use client"; import type { Schedule } from "@/lib/shared/types"; type SchedulesListProps = { activeGroupId: number | null; loading: boolean; schedules: Schedule[]; visibleSchedules: Schedule[]; activeFilterCount: number; onOpenDetails: (schedule: Schedule, index: number) => void; onClearFilters: () => void; }; export default function SchedulesList({ activeGroupId, loading, schedules, visibleSchedules, activeFilterCount, onOpenDetails, onClearFilters }: SchedulesListProps) { return (
{!activeGroupId ? (
Select a group to view schedules.
) : loading ? (
{[0, 1, 2].map(row => (
))}
) : schedules.length ? ( visibleSchedules.length ? ( visibleSchedules.map((schedule, index) => (
onOpenDetails(schedule, index)} >
${schedule.amountDollars.toFixed(2)}
{schedule.isActive ? "Active" : "Paused"}
Next: {schedule.nextRunOn}
{(schedule.tags || []).length ? ( schedule.tags.map(tag => ( #{tag} )) ) : ( No tags )}
)) ) : (
No matching schedules.
{activeFilterCount ? ( ) : null}
) ) : (
No schedules yet.
)}
); }