use std::time::SystemTime;
use uuid::Uuid;
use super::uuid_string;
pub(crate) struct ViewState {
view_id: Uuid,
view_name: String,
#[allow(dead_code)]
started_at: SystemTime,
#[allow(dead_code)]
loading_type: LoadingType,
}
pub(crate) enum LoadingType {
InitialLoad,
#[allow(dead_code)]
RouteChange,
}
impl ViewState {
pub fn initial() -> Self {
Self {
view_id: Uuid::new_v4(),
view_name: "main-view".to_string(),
started_at: SystemTime::now(),
loading_type: LoadingType::InitialLoad,
}
}
pub fn id_string(&self) -> String {
uuid_string(self.view_id)
}
pub fn name(&self) -> &str {
&self.view_name
}
}