use crate::state::StateStore;
pub fn load_hide_stale() -> bool {
StateStore::new()
.ok()
.and_then(|store| store.load_settings().ok())
.map(|s| s.hide_stale)
.unwrap_or(false)
}
pub fn save_hide_stale(hide_stale: bool) {
if let Ok(store) = StateStore::new()
&& let Ok(mut settings) = store.load_settings()
{
settings.hide_stale = hide_stale;
let _ = store.save_settings(&settings);
}
}
pub fn load_preview_size() -> Option<u8> {
StateStore::new()
.ok()
.and_then(|store| store.load_settings().ok())
.and_then(|s| s.preview_size)
}
pub fn save_preview_size(size: u8) {
if let Ok(store) = StateStore::new()
&& let Ok(mut settings) = store.load_settings()
{
settings.preview_size = Some(size);
let _ = store.save_settings(&settings);
}
}
pub fn load_last_pane_id() -> Option<String> {
StateStore::new()
.ok()
.and_then(|store| store.load_settings().ok())
.and_then(|s| s.last_pane_id)
}
pub fn save_last_pane_id(pane_id: &str) {
if let Ok(store) = StateStore::new()
&& let Ok(mut settings) = store.load_settings()
&& settings.last_pane_id.as_deref() != Some(pane_id)
{
settings.last_pane_id = Some(pane_id.to_string());
let _ = store.save_settings(&settings);
}
}