"use client";
import type { WidgetConfig } from "../lib/config";
// The small shared pieces both configuration surfaces use: the checkbox, and
// the settings that belong to the widget as a whole rather than to any one
// section. Keeping the labels in one place matters — they are the accessible
// names the e2e suite selects by.
export function Check({
label,
hint,
checked,
onChange,
}: {
label: string;
hint?: string;
checked: boolean;
onChange: (v: boolean) => void;
}) {
return (
);
}
// Everything that isn't about one section: chrome, time formatting, how the
// columns behave when the window is small, and the two value inputs.
export function GlobalOptions({
config,
onChange,
className = "",
}: {
config: WidgetConfig;
onChange: (patch: Partial) => void;
className?: string;
}) {
return (
onChange({ showTitles: v })}
/>
onChange({ hideIdle: v })}
/>
onChange({ settings: v })}
/>
onChange({ syncTimeAbsolute: v })}
/>
onChange({ stackNarrow: v })}
/>