@@ -7,7 +7,7 @@ import { spawnSync } from "node:child_process";
|
|||||||
import * as fs from "node:fs";
|
import * as fs from "node:fs";
|
||||||
import * as os from "node:os";
|
import * as os from "node:os";
|
||||||
import * as path from "node:path";
|
import * as path from "node:path";
|
||||||
import { Container, Editor, isCtrlG, isEscape, Spacer, Text, type TUI } from "@mariozechner/pi-tui";
|
import { Container, Editor, isCtrlC, isCtrlG, isEscape, Spacer, Text, type TUI } from "@mariozechner/pi-tui";
|
||||||
import { getEditorTheme, theme } from "../theme/theme.js";
|
import { getEditorTheme, theme } from "../theme/theme.js";
|
||||||
import { DynamicBorder } from "./dynamic-border.js";
|
import { DynamicBorder } from "./dynamic-border.js";
|
||||||
|
|
||||||
@@ -67,8 +67,8 @@ export class HookEditorComponent extends Container {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Escape to cancel
|
// Escape or Ctrl+C to cancel
|
||||||
if (isEscape(keyData)) {
|
if (isEscape(keyData) || isCtrlC(keyData)) {
|
||||||
this.onCancelCallback();
|
this.onCancelCallback();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Simple text input component for hooks.
|
* Simple text input component for hooks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Container, Input, isEnter, isEscape, Spacer, Text } from "@mariozechner/pi-tui";
|
import { Container, Input, isCtrlC, isEnter, isEscape, Spacer, Text } from "@mariozechner/pi-tui";
|
||||||
import { theme } from "../theme/theme.js";
|
import { theme } from "../theme/theme.js";
|
||||||
import { DynamicBorder } from "./dynamic-border.js";
|
import { DynamicBorder } from "./dynamic-border.js";
|
||||||
|
|
||||||
@@ -52,8 +52,8 @@ export class HookInputComponent extends Container {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Escape to cancel
|
// Escape or Ctrl+C to cancel
|
||||||
if (isEscape(keyData)) {
|
if (isEscape(keyData) || isCtrlC(keyData)) {
|
||||||
this.onCancelCallback();
|
this.onCancelCallback();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Displays a list of string options with keyboard navigation.
|
* Displays a list of string options with keyboard navigation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Container, isArrowDown, isArrowUp, isEnter, isEscape, Spacer, Text } from "@mariozechner/pi-tui";
|
import { Container, isArrowDown, isArrowUp, isCtrlC, isEnter, isEscape, Spacer, Text } from "@mariozechner/pi-tui";
|
||||||
import { theme } from "../theme/theme.js";
|
import { theme } from "../theme/theme.js";
|
||||||
import { DynamicBorder } from "./dynamic-border.js";
|
import { DynamicBorder } from "./dynamic-border.js";
|
||||||
|
|
||||||
@@ -83,8 +83,8 @@ export class HookSelectorComponent extends Container {
|
|||||||
this.onSelectCallback(selected);
|
this.onSelectCallback(selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Escape
|
// Escape or Ctrl+C
|
||||||
else if (isEscape(keyData)) {
|
else if (isEscape(keyData) || isCtrlC(keyData)) {
|
||||||
this.onCancelCallback();
|
this.onCancelCallback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import {
|
|||||||
Input,
|
Input,
|
||||||
isArrowDown,
|
isArrowDown,
|
||||||
isArrowUp,
|
isArrowUp,
|
||||||
|
isCtrlC,
|
||||||
isEnter,
|
isEnter,
|
||||||
isEscape,
|
isEscape,
|
||||||
Spacer,
|
Spacer,
|
||||||
@@ -234,8 +235,8 @@ export class ModelSelectorComponent extends Container {
|
|||||||
this.handleSelect(selectedModel.model);
|
this.handleSelect(selectedModel.model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Escape
|
// Escape or Ctrl+C
|
||||||
else if (isEscape(keyData)) {
|
else if (isEscape(keyData) || isCtrlC(keyData)) {
|
||||||
this.onCancelCallback();
|
this.onCancelCallback();
|
||||||
}
|
}
|
||||||
// Pass everything else to search input
|
// Pass everything else to search input
|
||||||
|
|||||||
@@ -1,5 +1,14 @@
|
|||||||
import { getOAuthProviders, type OAuthProviderInfo } from "@mariozechner/pi-ai";
|
import { getOAuthProviders, type OAuthProviderInfo } from "@mariozechner/pi-ai";
|
||||||
import { Container, isArrowDown, isArrowUp, isEnter, isEscape, Spacer, TruncatedText } from "@mariozechner/pi-tui";
|
import {
|
||||||
|
Container,
|
||||||
|
isArrowDown,
|
||||||
|
isArrowUp,
|
||||||
|
isCtrlC,
|
||||||
|
isEnter,
|
||||||
|
isEscape,
|
||||||
|
Spacer,
|
||||||
|
TruncatedText,
|
||||||
|
} from "@mariozechner/pi-tui";
|
||||||
import type { AuthStorage } from "../../../core/auth-storage.js";
|
import type { AuthStorage } from "../../../core/auth-storage.js";
|
||||||
import { theme } from "../theme/theme.js";
|
import { theme } from "../theme/theme.js";
|
||||||
import { DynamicBorder } from "./dynamic-border.js";
|
import { DynamicBorder } from "./dynamic-border.js";
|
||||||
@@ -112,8 +121,8 @@ export class OAuthSelectorComponent extends Container {
|
|||||||
this.onSelectCallback(selectedProvider.id);
|
this.onSelectCallback(selectedProvider.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Escape
|
// Escape or Ctrl+C
|
||||||
else if (isEscape(keyData)) {
|
else if (isEscape(keyData) || isCtrlC(keyData)) {
|
||||||
this.onCancelCallback();
|
this.onCancelCallback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user