aboutsummaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
authorMroik <mroik@delayed.space>2025-01-27 07:50:20 +0100
committerMroik <mroik@delayed.space>2025-02-01 19:32:57 +0100
commit318a19429a34ff48dbcc1894373fc6430435e36f (patch)
tree1ddff90083405e057d174b14ea3a39444c8adbb9 /src/app.rs
First commit
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/app.rs b/src/app.rs
new file mode 100644
index 0000000..87caf62
--- /dev/null
+++ b/src/app.rs
@@ -0,0 +1,31 @@
+use std::io::{stdout, Stdout};
+
+use rand::Rng;
+use tokio::sync::mpsc::{channel, Receiver, Sender};
+
+use crate::event::Event;
+
+pub struct App {
+ stdout: Stdout,
+ quote: Vec<String>,
+ event_tx: Sender<Event>,
+ event_rx: Receiver<Event>,
+}
+
+impl App {
+ pub fn new(quotes: &[Vec<String>]) -> App {
+ let mut rng = rand::thread_rng();
+ let chosen = rng.gen_range(0..quotes.len());
+ let (event_tx, event_rx): (Sender<Event>, Receiver<Event>) = channel(10);
+ App {
+ stdout: stdout(),
+ quote: quotes[chosen].clone(),
+ event_rx,
+ event_tx,
+ }
+ }
+
+ pub fn run() {
+ todo!()
+ }
+}
XMR address: 854DmXNrxULU3ZFJVs4Wc8PFhbq29RhqHhY8W6cdWrtFN3qmooKyyeYPcDzZTNRxphhJ5UzASQfAdEMwSteVqymk28aLhqj