Roo-Code/webview-ui/src/hooks/useAutoApprovalToggles.ts

41 lines
924 B
TypeScript

import { useMemo } from "react"
import { useExtensionState } from "@src/context/ExtensionStateContext"
/**
* Custom hook that creates and returns the auto-approval toggles object
* This encapsulates the logic for creating the toggles object from extension state
*/
export function useAutoApprovalToggles() {
const {
alwaysAllowReadOnly,
alwaysAllowWrite,
alwaysAllowExecute,
alwaysAllowMcp,
alwaysAllowModeSwitch,
alwaysAllowSubtasks,
alwaysAllowFollowupQuestions,
} = useExtensionState()
const toggles = useMemo(
() => ({
alwaysAllowReadOnly,
alwaysAllowWrite,
alwaysAllowExecute,
alwaysAllowMcp,
alwaysAllowModeSwitch,
alwaysAllowSubtasks,
alwaysAllowFollowupQuestions,
}),
[
alwaysAllowReadOnly,
alwaysAllowWrite,
alwaysAllowExecute,
alwaysAllowMcp,
alwaysAllowModeSwitch,
alwaysAllowSubtasks,
alwaysAllowFollowupQuestions,
],
)
return toggles
}