Socket state
This commit is contained in:
+13
-1
@@ -11,7 +11,19 @@ impl PulseTradeApp {
|
|||||||
ctx.close().await;
|
ctx.close().await;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ => {}
|
_ => {
|
||||||
|
if let Err(e) = self
|
||||||
|
.sock
|
||||||
|
.as_mut()
|
||||||
|
.unwrap()
|
||||||
|
.send(pulse_wire::terminal::TerminalClientMessage::ExecuteCommand(
|
||||||
|
command.to_string(),
|
||||||
|
))
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
eprintln!("{e}");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ use pulse_wire::terminal::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub struct PulseTradeApp {
|
pub struct PulseTradeApp {
|
||||||
|
sock: Option<terminal::TerminalClient>,
|
||||||
|
|
||||||
command: State<InputState>,
|
command: State<InputState>,
|
||||||
scroll: State<ScrollState<7>>,
|
scroll: State<ScrollState<7>>,
|
||||||
watch_list: State<Vec<WatchListItem>>,
|
watch_list: State<Vec<WatchListItem>>,
|
||||||
@@ -169,16 +171,11 @@ impl App for PulseTradeApp {
|
|||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> tokio::io::Result<()> {
|
async fn main() -> tokio::io::Result<()> {
|
||||||
let mut client = terminal::TerminalClient::new().await?;
|
let client = terminal::TerminalClient::new().await?;
|
||||||
|
|
||||||
client
|
|
||||||
.send(pulse_wire::terminal::TerminalClientMessage::ExecuteCommand(
|
|
||||||
"Hello".to_string(),
|
|
||||||
))
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
pulse_ui::run(|ctx| {
|
pulse_ui::run(|ctx| {
|
||||||
client.use_app(PulseTradeApp {
|
client.use_app(PulseTradeApp {
|
||||||
|
sock: None,
|
||||||
command: ctx.use_state(InputState::new()),
|
command: ctx.use_state(InputState::new()),
|
||||||
scroll: ctx.use_state(ScrollState(1, [0; 7])),
|
scroll: ctx.use_state(ScrollState(1, [0; 7])),
|
||||||
watch_list: ctx.use_state(Vec::new()),
|
watch_list: ctx.use_state(Vec::new()),
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ impl TerminalClient {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn use_app(&mut self, app: PulseTradeApp) -> PulseTradeApp {
|
pub fn use_app(mut self, mut app: PulseTradeApp) -> PulseTradeApp {
|
||||||
let mut reader = None;
|
let mut reader = None;
|
||||||
|
|
||||||
std::mem::swap(&mut self.reader, &mut reader);
|
std::mem::swap(&mut self.reader, &mut reader);
|
||||||
@@ -104,6 +104,8 @@ impl TerminalClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.sock = Some(self);
|
||||||
|
|
||||||
app
|
app
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user