erp-platform/ui/src/utils/hooks/useDirection.ts
2025-11-09 13:30:15 +03:00

22 lines
692 B
TypeScript

import { useEffect } from 'react'
import { useStoreActions, useStoreState } from '@/store'
import type { Direction } from '@/proxy/theme/models'
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