use crate::app::{AppArgs, AppConfig, AppPreferences};
use structopt::StructOpt;

#[derive(Clone)]
pub struct AppState {
    pub config: AppConfig,
    pub preferences: AppPreferences,
    // authentication
    // ...
}

impl AppState {
    pub fn new() -> Self {
        AppState {
            config: AppConfig::new(AppArgs::from_args()),
            preferences: AppPreferences {},
        }
    }
}