use std::{path::PathBuf, sync::Arc};
use arama_ui_layout::{aside, footer, header};
use arama_ui_main::views::{cache_page, gallery, setup};
use arama_ui_widgets::{
context_menu,
dialog::{media_focus_dialog, settings_dialog, similar_pairs_dialog},
};
use iced::Point;
use super::NavPage;
#[derive(Debug, Clone)]
pub enum Message {
NavTo(NavPage),
CacheRequire(Option<swdir::DirNode>),
CachePageMessage(cache_page::message::Message),
CacheClearFinished(Result<usize, String>),
ThumbnailCacheFinished(Vec<(PathBuf, Arc<arama_cache::Result<()>>)>),
EmbeddingCacheFinished(Option<String>),
SetupMessage(setup::message::Message),
GalleryMessage(gallery::message::Message),
HeaderMessage(header::message::Message),
AsideMessage(aside::message::Message),
FooterMessage(footer::message::Message),
MediaFocusDialogMessage(media_focus_dialog::message::Message),
SimilarPairsDialogMessage(similar_pairs_dialog::message::Message),
SettingsDialogMessage(settings_dialog::message::Message),
ContextMenuMessage(context_menu::message::Message),
ToggleAside,
DialogClose,
CloseMenus,
ToastDismiss(u64),
ToastSweep,
CursorMove(Point),
}