TodoListSettingsControl.tsx 1000 B

1234567891011121314151617181920212223242526272829303132333435
  1. import React, { useCallback } from "react"
  2. import { useAppTranslation } from "@/i18n/TranslationContext"
  3. import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"
  4. interface TodoListSettingsControlProps {
  5. todoListEnabled?: boolean
  6. onChange: (field: "todoListEnabled", value: any) => void
  7. }
  8. export const TodoListSettingsControl: React.FC<TodoListSettingsControlProps> = ({
  9. todoListEnabled = true,
  10. onChange,
  11. }) => {
  12. const { t } = useAppTranslation()
  13. const handleTodoListEnabledChange = useCallback(
  14. (e: any) => {
  15. onChange("todoListEnabled", e.target.checked)
  16. },
  17. [onChange],
  18. )
  19. return (
  20. <div className="flex flex-col gap-1">
  21. <div>
  22. <VSCodeCheckbox checked={todoListEnabled} onChange={handleTodoListEnabledChange}>
  23. <span className="font-medium">{t("settings:advanced.todoList.label")}</span>
  24. </VSCodeCheckbox>
  25. <div className="text-vscode-descriptionForeground text-sm">
  26. {t("settings:advanced.todoList.description")}
  27. </div>
  28. </div>
  29. </div>
  30. )
  31. }