feat(01-03): implement App struct and event loop with exit behavior

- App struct with is_login_shell, double-press Ctrl+C state machine, show_quit_prompt
- run_event_loop() polls SignalFlags first, then draws, then polls key events
- handle_key() suppresses 'q' in login shell mode; double Ctrl+C within 2s quits
- draw() renders Phase 1 placeholder TUI with title, welcome text, quit prompt
- show_goodbye() prints BBS-style goodbye with 500ms delay after terminal restore
- DOUBLE_PRESS_WINDOW const = 2 seconds
- mod app added to main.rs
This commit is contained in:
2026-02-28 21:17:10 +01:00
parent d6209ba4c5
commit bad8fba5aa
2 changed files with 282 additions and 0 deletions
+1
View File
@@ -1,3 +1,4 @@
mod app;
mod config;
mod signals;
mod terminal;