"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.
)}
);
}