import { Switch } from '@headlessui/react'; interface ToggleProps { enabled: boolean; setEnabled: (value: boolean) => void; addOverride: (value: string | undefined, pos: number) => void; pos: number; } /** * This is a typical 'iPhone' toggle (e.g., user for overriding secrets with personal values) * @param obj * @param {boolean} obj.enabled - whether the toggle is turned on or off * @param {function} obj.setEnabled - change the state of the toggle * @param {function} obj.addOverride - a function that adds an override to a certain secret * @param {number} obj.pos - position of a certain secret * @returns */ export default function Toggle({ enabled, setEnabled, addOverride, pos, }: ToggleProps): JSX.Element { return ( { if (enabled == false) { addOverride('', pos); } else { addOverride(undefined, pos); } setEnabled(!enabled); }} className={`${ enabled ? 'bg-primary' : 'bg-bunker-400' } relative inline-flex h-5 w-9 items-center rounded-full`} > Enable notifications ); }