erp-platform/ui/src/utils/hooks/useDirection.ts

23 lines
692 B
TypeScript
Raw Normal View History

2025-05-06 06:45:49 +00:00
import { useEffect } from 'react'
import { useStoreActions, useStoreState } from '@/store'
import type { Direction } from '@/proxy/theme/models'
2025-05-06 06:45:49 +00:00
function useDirection(): [direction: Direction, updateDirection: (dir: Direction) => void] {
const direction = useStoreState((state) => state.theme.direction)
const { setDirection } = useStoreActions((actions) => actions.theme)
const updateDirection = (dir: Direction) => setDirection(dir)
useEffect(() => {
if (window === undefined) {
return
}
const root = window.document.documentElement
root.setAttribute('dir', direction)
}, [direction])
return [direction, updateDirection]
}
export default useDirection