use std::path::PathBuf;

use dirs::home_dir;

use frontend::run;
use uuid::Uuid;
pub mod bank;
pub mod cycle;
pub mod envelope;
pub mod euro;
pub mod frontend;
pub mod target;

type EnvelopeId = Uuid;

fn main() {
    folder_setup();
    run();
}

pub fn bank_path() -> PathBuf {
    let home = home_dir().unwrap();
    home.join(".local/share/krone/bank.toml")
}

pub fn main_folder() -> PathBuf {
    let home = home_dir().unwrap();
    home.join(".local/share/krone")
}

pub fn envelopes_folder() -> PathBuf {
    let home = home_dir().unwrap();
    home.join(".local/share/krone/envelopes")
}

fn folder_setup() {
    let folder_path = main_folder();
    std::fs::create_dir_all(folder_path.as_path()).unwrap();
    let envelopes_folder = envelopes_folder();
    std::fs::create_dir_all(envelopes_folder.as_path()).unwrap()
}

#[cfg(test)]
mod tests {
    #[test]
    fn test() {}
}