fix: persist settings_visible toggle state to data store

This commit is contained in:
Developer
2026-05-24 07:47:07 +08:00
parent b8bdd97d80
commit e4dfc80979

View File

@@ -281,7 +281,7 @@ pub fn reading_view(
let mut sidebar_tab: usize = ui.data_mut(|d| *d.get_temp_mut_or_default::<usize>(sidebar_tab_id));
let settings_visible_id = ui.make_persistent_id("settings_visible");
let mut settings_visible: bool = ui.data_mut(|d| *d.get_temp_mut_or_default::<bool>(settings_visible_id));
let mut settings_visible = ui.data_mut(|d| *d.get_temp_mut_or_default::<bool>(settings_visible_id));
if *sidebar_open {
egui::SidePanel::left("toc_sidebar")
@@ -330,6 +330,10 @@ pub fn reading_view(
ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
let toggle_label = if settings_visible { "⚙ ▲" } else { "" };
if ui.button(toggle_label).on_hover_text("显示/隐藏设置").clicked() {
ui.ctx().data_mut(|d| {
let val = d.get_temp_mut_or_default::<bool>(settings_visible_id);
*val = !*val;
});
settings_visible = !settings_visible;
}
if settings_visible {