use crate::args::ArgsConfig; use crate::types::{Playlist, Video, VideoDownloadQuality}; use eframe::egui::{Context, Ui}; use eframe::{CreationContext, Frame, Storage}; use serde::{Deserialize, Serialize}; use std::time::Duration; pub(crate) struct Application { pub(crate) settings: AppSettings, layers: Vec>, pub(crate) data: Data, pub(crate) data_dir: String, } #[derive(Serialize, Deserialize, Default)] pub struct AppSettings { pub(crate) use_firefox_cookies: bool, pub(crate) use_chrome_cookies: bool, pub(crate) save_thumbnails: bool, pub(crate) reencode_videos: bool, pub(crate) video_download_quality: VideoDownloadQuality, } #[derive(Serialize, Deserialize, Default)] pub(crate) struct Data { pub(crate) playlists: Vec, pub(crate) videos: Vec