aboutsummaryrefslogtreecommitdiff
path: root/src/app.rs
blob: 87caf62e3fa954f23a6bb3d0957fc4c6eaf6eabd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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