From 6a02f80819c785b871087f2ba1fc4bdff294ae1e Mon Sep 17 00:00:00 2001 From: Binoy Patel Date: Fri, 5 Apr 2024 16:21:24 -0400 Subject: [PATCH] refactor(core): move PresenceContext to singletons --- .../sanity/src/_singletons/form/studio/PresenceContext.ts | 4 ++++ packages/sanity/src/_singletons/index.ts | 1 + packages/sanity/src/core/form/studio/contexts/Presence.tsx | 5 ++--- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 packages/sanity/src/_singletons/form/studio/PresenceContext.ts diff --git a/packages/sanity/src/_singletons/form/studio/PresenceContext.ts b/packages/sanity/src/_singletons/form/studio/PresenceContext.ts new file mode 100644 index 00000000000..7aec6e9b8f5 --- /dev/null +++ b/packages/sanity/src/_singletons/form/studio/PresenceContext.ts @@ -0,0 +1,4 @@ +import {createContext} from 'react' +import type {FormNodePresence} from 'sanity' + +export const PresenceContext = createContext([]) diff --git a/packages/sanity/src/_singletons/index.ts b/packages/sanity/src/_singletons/index.ts index 0c9afa6c824..6783d20c834 100644 --- a/packages/sanity/src/_singletons/index.ts +++ b/packages/sanity/src/_singletons/index.ts @@ -18,3 +18,4 @@ export * from './form/inputs/PortableText/PortableTextMemberItemsContext' export * from './form/inputs/ReferenceInput/ReferenceItemRefContext' export * from './form/studio/DocumentFieldActionsContext' export * from './form/studio/FormCallbacksContext' +export * from './form/studio/PresenceContext' diff --git a/packages/sanity/src/core/form/studio/contexts/Presence.tsx b/packages/sanity/src/core/form/studio/contexts/Presence.tsx index 85b1e74834c..85dcaad5186 100644 --- a/packages/sanity/src/core/form/studio/contexts/Presence.tsx +++ b/packages/sanity/src/core/form/studio/contexts/Presence.tsx @@ -2,13 +2,12 @@ import {type Path} from '@sanity/types' import {isEqual, startsWith} from '@sanity/util/paths' -import {createContext, type ReactNode, useContext, useRef} from 'react' +import {type ReactNode, useContext, useRef} from 'react' +import {PresenceContext} from 'sanity/_singletons' import {type FormNodePresence} from '../../../presence' import {immutableReconcile} from '../../store/utils/immutableReconcile' -const PresenceContext = createContext([]) - export function PresenceProvider(props: {presence: FormNodePresence[]; children: ReactNode}) { return ( {props.children}