summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-26 15:23:20 -0600
committerAdam <[email protected]>2026-02-26 15:23:26 -0600
commit7e6a007c351fa86a3a38973489b47d79ea32c877 (patch)
tree545b34f6fb77eaf7928339c89525b310fc769783 /packages/app/src/components
parent5745ee87ba9847e32c07fd364c52a6fad23bb55e (diff)
downloadopencode-7e6a007c351fa86a3a38973489b47d79ea32c877.tar.gz
opencode-7e6a007c351fa86a3a38973489b47d79ea32c877.zip
feat(app): auto-accept all permissions mode
Diffstat (limited to 'packages/app/src/components')
-rw-r--r--packages/app/src/components/prompt-input.tsx19
1 files changed, 13 insertions, 6 deletions
diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx
index adfd592f8..9174133ac 100644
--- a/packages/app/src/components/prompt-input.tsx
+++ b/packages/app/src/components/prompt-input.tsx
@@ -1048,6 +1048,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
}
const variants = createMemo(() => ["default", ...local.model.variant.list()])
+ const accepting = createMemo(() => {
+ const id = params.id
+ if (!id) return false
+ return permission.isAutoAccepting(id, sdk.directory)
+ })
return (
<div class="relative size-full _max-h-[320px] flex flex-col gap-0">
@@ -1233,7 +1238,9 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
<TooltipKeybind
placement="top"
gutter={8}
- title={language.t("command.permissions.autoaccept.enable")}
+ title={language.t(
+ accepting() ? "command.permissions.autoaccept.disable" : "command.permissions.autoaccept.enable",
+ )}
keybind={command.keybind("permissions.autoaccept")}
>
<Button
@@ -1242,20 +1249,20 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
onClick={() => permission.toggleAutoAccept(params.id!, sdk.directory)}
classList={{
"_hidden group-hover/prompt-input:flex size-6 items-center justify-center": true,
- "text-text-base": !permission.isAutoAccepting(params.id!, sdk.directory),
- "hover:bg-surface-success-base": permission.isAutoAccepting(params.id!, sdk.directory),
+ "text-text-base": !accepting(),
+ "hover:bg-surface-success-base": accepting(),
}}
aria-label={
- permission.isAutoAccepting(params.id!, sdk.directory)
+ accepting()
? language.t("command.permissions.autoaccept.disable")
: language.t("command.permissions.autoaccept.enable")
}
- aria-pressed={permission.isAutoAccepting(params.id!, sdk.directory)}
+ aria-pressed={accepting()}
>
<Icon
name="chevron-double-right"
size="small"
- classList={{ "text-icon-success-base": permission.isAutoAccepting(params.id!, sdk.directory) }}
+ classList={{ "text-icon-success-base": accepting() }}
/>
</Button>
</TooltipKeybind>