ultisuite-client/components/admin/settings/org-settings-sync.tsx
2026-06-07 21:55:42 +02:00

28 lines
747 B
TypeScript

"use client"
import { useEffect, useRef } from "react"
import { useOrgSettings } from "@/lib/api/hooks/use-org-settings"
import {
apiOrgPolicyToStore,
apiOrgSettingsMeta,
} from "@/lib/admin-settings/map-api-org-settings"
import { useOrgSettingsStore } from "@/lib/admin-settings/org-settings-store"
export function OrgSettingsSync() {
const { data } = useOrgSettings()
const hydratingRef = useRef(false)
useEffect(() => {
if (!data) return
hydratingRef.current = true
const mapped = apiOrgPolicyToStore(data.policy)
const meta = apiOrgSettingsMeta(data)
useOrgSettingsStore.getState().hydrateFromApi(mapped, meta)
queueMicrotask(() => {
hydratingRef.current = false
})
}, [data])
return null
}