Rename Event to AppEvent and update imports

Rename the generic `Event` enum to `AppEvent` and propagate the change
through `app.rs`, `mod.rs`, and `main.rs`. Adjust function signatures,
imports, and channel usage to use the new name and the `read` helper
from crossterm. Ensure all senders/receivers now work with `AppEvent`.
This commit is contained in:
2026-04-06 10:34:33 +02:00
parent 921596376f
commit dd64ef78f7
3 changed files with 17 additions and 17 deletions
+12 -12
View File
@@ -4,16 +4,16 @@ use crate::{
};
use ratatui::{
DefaultTerminal, Frame,
crossterm::event::{self, KeyEvent},
crossterm::event::{Event, KeyEvent, read},
layout::Rect,
};
use std::{
io::Result,
sync::mpsc::{self, Receiver, RecvTimeoutError},
sync::mpsc::{Receiver, RecvTimeoutError, Sender},
time::Duration,
};
pub enum Event {
pub enum AppEvent {
Input(KeyEvent),
Resize(u16, u16),
}
@@ -45,7 +45,7 @@ impl App {
self.states.as_mut()
}
pub fn run(&mut self, terminal: &mut DefaultTerminal, rx: Receiver<Event>) -> Result<()> {
pub fn run(&mut self, terminal: &mut DefaultTerminal, rx: Receiver<AppEvent>) -> Result<()> {
while !self.exit {
terminal.draw(|frame: &mut Frame<'_>| self.draw(frame))?;
@@ -57,8 +57,8 @@ impl App {
Err(_) => break,
};
match event {
Event::Input(key_event) => self.handle_key_event(key_event)?,
Event::Resize(_, _) => {}
AppEvent::Input(key_event) => self.handle_key_event(key_event)?,
AppEvent::Resize(_, _) => {}
}
}
@@ -86,17 +86,17 @@ impl App {
}
}
pub fn handle_input_events(tx: mpsc::Sender<Event>) {
pub fn handle_input_events(tx: Sender<AppEvent>) {
loop {
match event::read() {
match read() {
Ok(ev) => match ev {
event::Event::Key(key) => {
if tx.send(Event::Input(key)).is_err() {
Event::Key(key) => {
if tx.send(AppEvent::Input(key)).is_err() {
break;
}
}
event::Event::Resize(c, r) => {
if tx.send(Event::Resize(c, r)).is_err() {
Event::Resize(c, r) => {
if tx.send(AppEvent::Resize(c, r)).is_err() {
break;
}
}
+1 -1
View File
@@ -8,7 +8,7 @@ pub mod view;
pub mod views;
pub mod widgets;
pub use app::{App, Event, handle_input_events};
pub use app::{App, AppEvent, handle_input_events};
pub use keybind::handle_keybindings;
pub use state::GameStates;
pub use view::View;
+4 -4
View File
@@ -1,11 +1,11 @@
use ratatui::{Terminal, prelude::CrosstermBackend};
use std::{
io::{Result, Stdout},
sync::mpsc::{self, Sender},
sync::mpsc::{Sender, channel},
thread,
};
use war_in_tunnels::{
app::{App, Event, handle_input_events},
app::{App, AppEvent, handle_input_events},
cli::{Cli, get_args},
logs::init_logger,
};
@@ -24,9 +24,9 @@ fn main() -> Result<()> {
let mut terminal: Terminal<CrosstermBackend<Stdout>> = ratatui::init();
let mut app: App = App::new(args);
let (event_tx, event_rx) = mpsc::channel::<Event>();
let (event_tx, event_rx) = channel::<AppEvent>();
let tx_to_input_events: Sender<Event> = event_tx.clone();
let tx_to_input_events: Sender<AppEvent> = event_tx.clone();
thread::spawn(move || {
handle_input_events(tx_to_input_events);
});