fix: make sidebar and notebook pin states persist after refresh (#2730)

This commit is contained in:
Huang Xin
2025-12-16 23:16:21 +08:00
committed by GitHub
parent 2533560d11
commit 17c7fa8f41
2 changed files with 11 additions and 3 deletions
@@ -1,8 +1,11 @@
import { useEffect } from 'react';
import { useEnv } from '@/context/EnvContext';
import { useSettingsStore } from '@/store/settingsStore';
import { useSidebarStore } from '@/store/sidebarStore';
import { useEffect } from 'react';
import { saveSysSettings } from '@/helpers/settings';
const useSidebar = (initialWidth: string, isPinned: boolean) => {
const { envConfig } = useEnv();
const { settings } = useSettingsStore();
const {
sideBarWidth,
@@ -30,8 +33,10 @@ const useSidebar = (initialWidth: string, isPinned: boolean) => {
const handleSideBarTogglePin = () => {
toggleSideBarPin();
settings.globalReadSettings.isSideBarPinned = !isSideBarPinned;
if (isSideBarPinned && isSideBarVisible) setSideBarVisible(false);
const globalReadSettings = settings.globalReadSettings;
const newGlobalReadSettings = { ...globalReadSettings, isSideBarPinned: !isSideBarPinned };
saveSysSettings(envConfig, 'globalReadSettings', newGlobalReadSettings);
};
return {