import {Label, Toggle} from "@forge/react";
import React, {useState} from "react";

type ToggleProps =  Parameters<typeof Toggle>['0'];

export interface ControlledToggleProps extends ToggleProps {
  name: string;
  text: string;
}

export default function ControlledToggle({ name, text, ...rest }: ControlledToggleProps) {
  const [isChecked, setIsChecked] = useState(false);

  return (
    <>
      <Toggle
        id={`toggle-${name}`}
        onChange={() => setIsChecked((prev) => !prev)}
        isChecked={isChecked}
        {...rest}
      />
      <Label labelFor={`toggle-${name}`}>{text}</Label>
    </>
  );
}