feat: add review shortcut confirmation setting
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import { SUBMIT_CHOICES } from "../constants/text.ts";
|
||||
|
||||
const REVIEW_SHORTCUT_DIGIT_MIN = 1;
|
||||
const REVIEW_SHORTCUT_DIGIT_MAX = 3;
|
||||
|
||||
export interface ReviewShortcutResolution {
|
||||
actionIndex?: number;
|
||||
confirmed: boolean;
|
||||
pendingActionIndex?: number;
|
||||
}
|
||||
|
||||
export function resolveReviewShortcutDoublePress(
|
||||
digit: number,
|
||||
pendingActionIndex?: number
|
||||
): ReviewShortcutResolution {
|
||||
if (digit < REVIEW_SHORTCUT_DIGIT_MIN || digit > REVIEW_SHORTCUT_DIGIT_MAX) {
|
||||
return { confirmed: false };
|
||||
}
|
||||
|
||||
const actionIndex = digit - 1;
|
||||
if (pendingActionIndex === actionIndex) {
|
||||
return { actionIndex, confirmed: true };
|
||||
}
|
||||
|
||||
return {
|
||||
actionIndex,
|
||||
confirmed: false,
|
||||
pendingActionIndex: actionIndex,
|
||||
};
|
||||
}
|
||||
|
||||
export function getReviewShortcutHint(pendingActionIndex?: number): string {
|
||||
if (pendingActionIndex === undefined) {
|
||||
return "Press 1, 2, or 3 twice to confirm a review action.";
|
||||
}
|
||||
|
||||
const actionLabel = SUBMIT_CHOICES[pendingActionIndex];
|
||||
if (!actionLabel) {
|
||||
return "Press 1, 2, or 3 twice to confirm a review action.";
|
||||
}
|
||||
|
||||
return `Press ${pendingActionIndex + 1} again to ${actionLabel}.`;
|
||||
}
|
||||
Reference in New Issue
Block a user