Add UI settings API and improve context initialization
- Add /settings/ui GET and PUT endpoints for UI settings - Improve ThemeContext with better initialization and auto accent handling - Update SidebarContext with expanded state persistence - Fix context initialization in ModulesContext and ViewModeContext - Update components to use improved theme/sidebar contexts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,7 @@ import '../styles/Sidebar.css';
|
||||
export default function Sidebar() {
|
||||
const { t, language, setLanguage } = useTranslation();
|
||||
const { config } = useSiteConfig();
|
||||
const { sidebarStyle, theme, toggleTheme, darkModeLocation, languageLocation, showDarkModeToggle, showLanguageToggle } = useTheme();
|
||||
const { sidebarStyle, theme, toggleTheme, darkModeLocation, languageLocation, showDarkModeToggle, showLanguageToggle, hasInitializedSettings: themeInitialized } = useTheme();
|
||||
const {
|
||||
isCollapsed,
|
||||
isMobileOpen,
|
||||
@@ -235,7 +235,7 @@ export default function Sidebar() {
|
||||
</button>
|
||||
)}
|
||||
|
||||
{showDarkModeToggle && darkModeLocation === 'sidebar' && (
|
||||
{themeInitialized && showDarkModeToggle && darkModeLocation === 'sidebar' && (
|
||||
<button
|
||||
className="view-mode-toggle"
|
||||
onClick={() => { toggleTheme(); updateTooltipText(theme === 'dark' ? t.theme.lightMode : t.theme.darkMode); }}
|
||||
@@ -254,7 +254,7 @@ export default function Sidebar() {
|
||||
</button>
|
||||
)}
|
||||
|
||||
{showLanguageToggle && languageLocation === 'sidebar' && (
|
||||
{themeInitialized && showLanguageToggle && languageLocation === 'sidebar' && (
|
||||
<button
|
||||
className="view-mode-toggle"
|
||||
onClick={() => { setLanguage(language === 'it' ? 'en' : 'it'); updateTooltipText(language === 'it' ? t.settings.english : t.settings.italian); }}
|
||||
|
||||
Reference in New Issue
Block a user