|
|
@@ -270,7 +270,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|
|
const buttonsSpring = useSpring(() => (store.mode === "normal" ? 1 : 0), { visualDuration: 0.2, bounce: 0 })
|
|
|
const motion = (value: number) => ({
|
|
|
opacity: value,
|
|
|
- transform: `scale(${0.95 + value * 0.05})`,
|
|
|
+ transform: `scale(${0.98 + value * 0.02})`,
|
|
|
filter: `blur(${(1 - value) * 2}px)`,
|
|
|
"pointer-events": value > 0.5 ? ("auto" as const) : ("none" as const),
|
|
|
})
|
|
|
@@ -345,7 +345,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|
|
promptPlaceholder({
|
|
|
mode: store.mode,
|
|
|
commentCount: commentCount(),
|
|
|
- example: suggest() ? language.t(EXAMPLES[store.placeholder]) : "",
|
|
|
+ example: suggest() ? (store.mode === "shell" ? "git status" : language.t(EXAMPLES[store.placeholder])) : "",
|
|
|
suggest: suggest(),
|
|
|
t: (key, params) => language.t(key as Parameters<typeof language.t>[0], params as never),
|
|
|
}),
|
|
|
@@ -1403,12 +1403,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|
|
<IconButton
|
|
|
data-action="prompt-submit"
|
|
|
type="submit"
|
|
|
- disabled={store.mode !== "normal" || (!working() && blank())}
|
|
|
+ disabled={!working() && blank()}
|
|
|
tabIndex={store.mode === "normal" ? undefined : -1}
|
|
|
- icon={stopping() ? "stop" : "arrow-up"}
|
|
|
+ icon={stopping() ? "stop" : store.mode === "shell" ? "arrow-undo-down" : "arrow-up"}
|
|
|
variant="primary"
|
|
|
class="size-8"
|
|
|
- style={buttons()}
|
|
|
aria-label={stopping() ? language.t("prompt.action.stop") : language.t("prompt.action.send")}
|
|
|
/>
|
|
|
</Tooltip>
|
|
|
@@ -1451,14 +1450,24 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|
|
<div class="px-1.75 pt-5.5 pb-2 flex items-center gap-2 min-w-0">
|
|
|
<div class="flex items-center gap-1.5 min-w-0 flex-1 relative">
|
|
|
<div
|
|
|
- class="h-7 flex items-center gap-1.5 max-w-[160px] min-w-0 absolute inset-y-0 left-0"
|
|
|
+ class="h-7 flex items-center gap-1.5 min-w-0 absolute inset-0"
|
|
|
style={{
|
|
|
- padding: "0 4px 0 8px",
|
|
|
+ padding: "0 0px 0 8px",
|
|
|
...shell(),
|
|
|
}}
|
|
|
>
|
|
|
- <span class="truncate text-13-medium text-text-strong">{language.t("prompt.mode.shell")}</span>
|
|
|
- <div class="size-4 shrink-0" />
|
|
|
+ <Icon name="console" />
|
|
|
+ <span class="truncate text-13-medium text-text-base">{language.t("prompt.mode.shell")}</span>
|
|
|
+ <div class="flex-1" />
|
|
|
+ <Button
|
|
|
+ variant="ghost"
|
|
|
+ class="text-text-base"
|
|
|
+ onClick={() => {
|
|
|
+ setStore("mode", "normal")
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {language.t("common.cancel")}
|
|
|
+ </Button>
|
|
|
</div>
|
|
|
<div class="flex items-center gap-1.5 min-w-0 flex-1 h-7">
|
|
|
<Show when={!agentsLoading()}>
|