Handle ctrlc like escape in selectors (#400)

Cheers @nicokosi
This commit is contained in:
Armin Ronacher 2026-01-02 22:43:39 +01:00 committed by GitHub
parent 1e7d991a25
commit 345fa975f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 24 additions and 14 deletions

View file

@ -1,5 +1,14 @@
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 { theme } from "../theme/theme.js";
import { DynamicBorder } from "./dynamic-border.js";
@ -112,8 +121,8 @@ export class OAuthSelectorComponent extends Container {
this.onSelectCallback(selectedProvider.id);
}
}
// Escape
else if (isEscape(keyData)) {
// Escape or Ctrl+C
else if (isEscape(keyData) || isCtrlC(keyData)) {
this.onCancelCallback();
}
}