ultisuite-client/lib/demo/use-theme-mode-controls.ts
R3D347HR4Y ad1370ea7e
Some checks are pending
E2E / Playwright e2e (push) Waiting to run
feat: enhance configuration and add new demo layouts
- Introduced turbopack alias for canvas in next.config.mjs.
- Updated package.json scripts for development and branding tasks.
- Added new dependencies for Tiptap extensions.
- Implemented new demo layouts for agenda, contacts, drive, and mail applications.
- Enhanced globals.css for improved theming and splash screen animations.
- Added OAuth callback handling for drive mounts.
- Updated layout components to integrate new demo shells and improve structure.
2026-06-12 19:10:24 +02:00

25 lines
947 B
TypeScript

"use client"
import type { MailThemeMode } from "@/lib/mail-settings/types"
import { useDemoThemeStore } from "@/lib/demo/demo-theme-store"
import { useIsDemoApp } from "@/lib/demo/use-is-demo-app"
import { useMailSettingsStore } from "@/lib/stores/mail-settings-store"
/** Thème clair/sombre/système : store démo isolé sur /demo/*, sinon réglages mail. */
export function useThemeModeControls(): {
themeMode: MailThemeMode
setThemeMode: (mode: MailThemeMode) => void
} {
const isDemo = useIsDemoApp()
const mailThemeMode = useMailSettingsStore((s) => s.themeMode)
const setMailThemeMode = useMailSettingsStore((s) => s.setThemeMode)
const demoThemeMode = useDemoThemeStore((s) => s.themeMode)
const setDemoThemeMode = useDemoThemeStore((s) => s.setThemeMode)
if (isDemo) {
return { themeMode: demoThemeMode, setThemeMode: setDemoThemeMode }
}
return { themeMode: mailThemeMode, setThemeMode: setMailThemeMode }
}