Some checks are pending
E2E / Playwright e2e (push) Waiting to run
- 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.
25 lines
947 B
TypeScript
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 }
|
|
}
|