jan/docs/src/hooks/useBodyClass.ts
hiento09 f93deb6749
chore: move Jan Docs back into Jan Repo (#3790)
Co-authored-by: Hien To <tominhhien97@gmail.com>
2024-10-14 10:07:16 +07:00

23 lines
589 B
TypeScript

import { useEffect } from 'react'
const addBodyClass = (className: string) =>
document.body.classList.add(className)
const removeBodyClass = (className: string) =>
document.body.classList.remove(className)
export function useBodyClass(className: unknown) {
useEffect(() => {
// Set up
className instanceof Array
? className.map(addBodyClass)
: addBodyClass(className as string)
// Clean up
return () => {
className instanceof Array
? className.map(removeBodyClass)
: removeBodyClass(className as string)
}
}, [className])
}