2026-02-24 20:44:16 +00:00
|
|
|
import ModeSwitcher from './ModeSwitcher'
|
|
|
|
|
import LayoutSwitcher from './LayoutSwitcher'
|
|
|
|
|
import ThemeSwitcher from './ThemeSwitcher'
|
|
|
|
|
import DirectionSwitcher from './DirectionSwitcher'
|
|
|
|
|
import NavModeSwitcher from './NavModeSwitcher'
|
|
|
|
|
import CopyButton from './CopyButton'
|
|
|
|
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
2026-03-27 13:49:15 +00:00
|
|
|
import { useStoreState } from '@/store'
|
|
|
|
|
import StyleSwitcher from './StyleSwitcher'
|
2026-02-24 20:44:16 +00:00
|
|
|
|
|
|
|
|
export type ThemeConfiguratorProps = {
|
2026-03-27 13:49:15 +00:00
|
|
|
callBackClose?: () => void
|
2026-02-24 20:44:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const ThemeConfigurator = ({ callBackClose }: ThemeConfiguratorProps) => {
|
2026-03-27 13:49:15 +00:00
|
|
|
const { translate } = useLocalization()
|
2026-02-24 20:44:16 +00:00
|
|
|
|
2026-03-27 13:49:15 +00:00
|
|
|
const navMode = useStoreState((state) => state.theme.navMode)
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div className="flex flex-col h-full justify-between">
|
|
|
|
|
<div className="flex flex-col gap-y-5 mb-6">
|
|
|
|
|
<div className="flex items-center justify-between">
|
|
|
|
|
<div>
|
|
|
|
|
<h6>{translate('::SidePanel.Mode')}</h6>
|
|
|
|
|
<span>{translate('::SidePanel.Mode.Description')}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<ModeSwitcher />
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flex items-center justify-between">
|
|
|
|
|
<div>
|
|
|
|
|
<h6>{translate('::SidePanel.Direction')}</h6>
|
|
|
|
|
<span>{translate('::SidePanel.Direction.Description')}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<DirectionSwitcher callBackClose={callBackClose} />
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h6 className="mb-3">{translate('::App.SiteManagement.Theme.Style')}</h6>
|
|
|
|
|
<StyleSwitcher />
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h6 className="mb-3">{translate('::SidePanel.Layout')}</h6>
|
|
|
|
|
<LayoutSwitcher />
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h6 className="mb-3">{translate('::SidePanel.NavMode')}</h6>
|
|
|
|
|
<NavModeSwitcher />
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<h6 className="mb-3">{translate('::SidePanel.Themed')}</h6>
|
|
|
|
|
<ThemeSwitcher />
|
2026-02-24 20:44:16 +00:00
|
|
|
</div>
|
2026-03-27 13:49:15 +00:00
|
|
|
</div>
|
|
|
|
|
<CopyButton />
|
|
|
|
|
</div>
|
|
|
|
|
)
|
2026-02-24 20:44:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default ThemeConfigurator
|