| 1 | #![allow(unused_imports)] |
| 2 | use clap::Parser; |
| 3 | use rmptui::app; |
| 4 | use rmptui::app::App; |
| 5 | use rmptui::app::AppResult; |
| 6 | use rmptui::cli::Args; |
| 7 | use rmptui::cli::Command; |
| 8 | use rmptui::connection::Connection; |
| 9 | use rmptui::event::Event; |
| 10 | use rmptui::event::EventHandler; |
| 11 | use rmptui::handler; |
| 12 | use rmptui::tui; |
| 13 | use std::io; |
| 14 | |
| 15 | use crossterm::event::{self, KeyCode, KeyEvent, KeyEventKind}; |
| 16 | use ratatui::{ |
| 17 | prelude::*, |
| 18 | symbols::border, |
| 19 | widgets::{block::*, *}, |
| 20 | }; |
| 21 | |
| 22 | pub type Result<T> = core::result::Result<T, Error>; |
| 23 | pub type Error = Box<dyn std::error::Error>; |
| 24 | |
| 25 | fn main() -> AppResult<()> { |
| 26 | // let args = Args::parse(); |
| 27 | |
| 28 | // if args.no_tui { |
| 29 | // handle_tui()?; |
| 30 | // } else { |
| 31 | // match args.command { |
| 32 | // Command::Volume { vol } => { |
| 33 | // conn.set_volume(vol); |
| 34 | // } |
| 35 | // Command::Dmenu => conn.play_dmenu().unwrap(), |
| 36 | // Command::Fzf => conn.play_fzf().unwrap(), |
| 37 | // Command::Status => conn.status(), |
| 38 | // Command::Pause => conn.pause(), |
| 39 | // Command::Toggle => conn.toggle_pause(), |
| 40 | // }; |
| 41 | // } |
| 42 | |
| 43 | let backend = CrosstermBackend::new(io::stderr()); |
| 44 | let terminal = Terminal::new(backend)?; |
| 45 | let mut app = App::builder("127.0.0.1:6600")?; |
| 46 | let events = EventHandler::new(250); |
| 47 | |
| 48 | let mut tui = tui::Tui::new(terminal, events); |
| 49 | tui.init()?; |
| 50 | |
| 51 | while app.running { |
| 52 | tui.draw(&mut app)?; |
| 53 | match tui.events.next()? { |
| 54 | Event::Tick => app.tick(), |
| 55 | Event::Key(key_event) => handler::handle_key_events(key_event, &mut app)?, |
| 56 | Event::Mouse(_) => {} |
| 57 | Event::Resize(_, _) => {} |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | |
| 62 | Ok(()) |
| 63 | } |