ultisuite-client/components/admin/settings/org-settings-sync.tsx
R3D347HR4Y ad1370ea7e
Some checks are pending
E2E / Playwright e2e (push) Waiting to run
feat: enhance configuration and add new demo layouts
- Introduced turbopack alias for canvas in next.config.mjs.
- Updated package.json scripts for development and branding tasks.
- Added new dependencies for Tiptap extensions.
- Implemented new demo layouts for agenda, contacts, drive, and mail applications.
- Enhanced globals.css for improved theming and splash screen animations.
- Added OAuth callback handling for drive mounts.
- Updated layout components to integrate new demo shells and improve structure.
2026-06-12 19:10:24 +02:00

33 lines
869 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
try {
hydratingRef.current = true
const mapped = apiOrgPolicyToStore(data.policy)
const meta = apiOrgSettingsMeta(data)
useOrgSettingsStore.getState().hydrateFromApi(mapped, meta)
} catch (err) {
console.error("org settings hydrate failed", err)
} finally {
queueMicrotask(() => {
hydratingRef.current = false
})
}
}, [data])
return null
}