import type { TimeRange, GroupBy } from '../../hooks/useTrends'; interface DateRangeSelectorProps { range: TimeRange; groupBy: GroupBy; fillEmpty: boolean; onRangeChange: (r: TimeRange) => void; onGroupByChange: (g: GroupBy) => void; onFillEmptyChange: (fillEmpty: boolean) => void; } function SegmentedControl({ label, options, value, onChange, formatLabel, }: { label: string; options: T[]; value: T; onChange: (v: T) => void; formatLabel?: (v: T) => string; }) { return (
{label}
{options.map((opt) => ( ))}
); } export function DateRangeSelector({ range, groupBy, fillEmpty, onRangeChange, onGroupByChange, onFillEmptyChange, }: DateRangeSelectorProps) { return (
(r === 'all' ? 'All' : r)} /> g.charAt(0).toUpperCase() + g.slice(1)} /> onFillEmptyChange(v === 'show')} formatLabel={(v) => (v === 'show' ? 'Show' : 'Hide')} />
); }