2026-02-24 20:44:16 +00:00
|
|
|
import Radio from '@/components/ui/Radio'
|
|
|
|
|
import { useStoreState, useStoreActions } from '@/store'
|
2026-03-27 13:49:15 +00:00
|
|
|
import {
|
|
|
|
|
NAV_MODE_DARK,
|
|
|
|
|
NAV_MODE_LIGHT,
|
|
|
|
|
NAV_MODE_THEMED,
|
|
|
|
|
NAV_MODE_TRANSPARENT,
|
|
|
|
|
} from '@/constants/theme.constant'
|
|
|
|
|
import { NavMode } from '@/proxy/theme/models'
|
|
|
|
|
import { availableNavColorLayouts } from '@/proxy/theme/theme.config'
|
2026-02-24 20:44:16 +00:00
|
|
|
|
|
|
|
|
const NavModeSwitcher = () => {
|
2026-03-27 13:49:15 +00:00
|
|
|
const { navMode, layout } = useStoreState((state) => state.theme)
|
2026-02-24 20:44:16 +00:00
|
|
|
const { setNavMode } = useStoreActions((actions) => actions.theme)
|
|
|
|
|
|
2026-03-27 13:49:15 +00:00
|
|
|
const onSetNavMode = (val: NavMode) => {
|
2026-02-24 20:44:16 +00:00
|
|
|
setNavMode(val)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return (
|
2026-03-27 13:49:15 +00:00
|
|
|
<Radio.Group value={navMode} onChange={onSetNavMode}>
|
|
|
|
|
<Radio value={NAV_MODE_TRANSPARENT}>Transparent</Radio>
|
|
|
|
|
{!availableNavColorLayouts.includes(layout.type) && (
|
|
|
|
|
<>
|
|
|
|
|
<Radio value={NAV_MODE_LIGHT}>Light</Radio>
|
|
|
|
|
<Radio value={NAV_MODE_DARK}>Dark</Radio>
|
|
|
|
|
</>
|
|
|
|
|
)}
|
2026-02-24 20:44:16 +00:00
|
|
|
<Radio value={NAV_MODE_THEMED}>Themed</Radio>
|
|
|
|
|
</Radio.Group>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default NavModeSwitcher
|