use crossterm::event::KeyCode;

// ── Navigation ────────────────────────────────────────────
pub const UP: KeyCode = KeyCode::Up;
pub const UP_ALT: KeyCode = KeyCode::Char('k');
pub const DOWN: KeyCode = KeyCode::Down;
pub const DOWN_ALT: KeyCode = KeyCode::Char('j');
pub const TAB: KeyCode = KeyCode::Tab;
pub const BACK_TAB: KeyCode = KeyCode::BackTab;
pub const FIRST: KeyCode = KeyCode::Char('g');  // gg double-tap
pub const LAST: KeyCode = KeyCode::Char('G');

// ── Action ────────────────────────────────────────────────
pub const CONFIRM: KeyCode = KeyCode::Enter;
pub const CANCEL: KeyCode = KeyCode::Esc;
pub const CANCEL_ALT: KeyCode = KeyCode::Char('q');
pub const TOGGLE_MULTI: KeyCode = KeyCode::Char(' ');
pub const OPEN_DIR: KeyCode = KeyCode::Char('o');

// ── Filter editing ───────────────────────────────────────
pub const FILTER_BACKSPACE: KeyCode = KeyCode::Backspace;
pub const FILTER_LEFT: KeyCode = KeyCode::Left;
pub const FILTER_RIGHT: KeyCode = KeyCode::Right;
pub const FILTER_HOME: KeyCode = KeyCode::Home;
pub const FILTER_END: KeyCode = KeyCode::End;
pub const FILTER_ACTIVATE: KeyCode = KeyCode::Char('/');

// ── Emergency ────────────────────────────────────────────
pub const EMERGENCY: KeyCode = KeyCode::Char('c');  // + Ctrl

// ── Confirm specific ──────────────────────────────────────
pub const CONFIRM_YES: KeyCode = KeyCode::Char('y');
pub const CONFIRM_YES_UPPER: KeyCode = KeyCode::Char('Y');
pub const CONFIRM_NO: KeyCode = KeyCode::Char('n');
pub const CONFIRM_NO_UPPER: KeyCode = KeyCode::Char('N');
