mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-05 08:10:14 +00:00
29 lines
833 B
TypeScript
29 lines
833 B
TypeScript
import { useMemo } from "react"
|
|
|
|
interface AutoApprovalToggles {
|
|
alwaysAllowReadOnly?: boolean
|
|
alwaysAllowWrite?: boolean
|
|
alwaysAllowExecute?: boolean
|
|
alwaysAllowBrowser?: boolean
|
|
alwaysAllowMcp?: boolean
|
|
alwaysAllowModeSwitch?: boolean
|
|
alwaysAllowSubtasks?: boolean
|
|
alwaysApproveResubmit?: boolean
|
|
alwaysAllowFollowupQuestions?: boolean
|
|
alwaysAllowUpdateTodoList?: boolean
|
|
}
|
|
|
|
export function useAutoApprovalState(toggles: AutoApprovalToggles, autoApprovalEnabled?: boolean) {
|
|
const hasEnabledOptions = useMemo(() => {
|
|
return Object.values(toggles).some((value) => !!value)
|
|
}, [toggles])
|
|
|
|
const effectiveAutoApprovalEnabled = useMemo(() => {
|
|
return hasEnabledOptions && (autoApprovalEnabled ?? false)
|
|
}, [hasEnabledOptions, autoApprovalEnabled])
|
|
|
|
return {
|
|
hasEnabledOptions,
|
|
effectiveAutoApprovalEnabled,
|
|
}
|
|
}
|