diff --git a/packages/react-thirdparty/recaptcha/Context.tsx b/packages/react-thirdparty/recaptcha/Context.tsx index 3513994..e7bfecc 100644 --- a/packages/react-thirdparty/recaptcha/Context.tsx +++ b/packages/react-thirdparty/recaptcha/Context.tsx @@ -1,4 +1,4 @@ -import { createContext } from "react"; +import { createContext, useContext } from "react"; import { ReCaptchaExecuteOptions } from "./Provider"; export interface GoogleReCaptchaConsumerProps { @@ -12,3 +12,6 @@ const GoogleReCaptchaContext = createContext({ const { Consumer: GoogleReCaptchaConsumer } = GoogleReCaptchaContext; export { GoogleReCaptchaConsumer, GoogleReCaptchaContext }; + +export const useGoogleReCaptchaContext = () => + useContext(GoogleReCaptchaContext); diff --git a/packages/react-thirdparty/recaptcha/index.ts b/packages/react-thirdparty/recaptcha/index.ts index 9586bef..38290b4 100644 --- a/packages/react-thirdparty/recaptcha/index.ts +++ b/packages/react-thirdparty/recaptcha/index.ts @@ -1,5 +1,4 @@ export * from "./useGoogleReCaptcha"; -export * from "./useGoogleReCaptchaContext"; export * from "./GoogleReCaptcha"; export * from "./Context"; export * from "./Provider"; diff --git a/packages/react-thirdparty/recaptcha/useGoogleReCaptcha.ts b/packages/react-thirdparty/recaptcha/useGoogleReCaptcha.ts index 7bf2b67..83d80ff 100644 --- a/packages/react-thirdparty/recaptcha/useGoogleReCaptcha.ts +++ b/packages/react-thirdparty/recaptcha/useGoogleReCaptcha.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect } from "react"; -import { useGoogleReCaptchaContext } from "./useGoogleReCaptchaContext"; +import { useGoogleReCaptchaContext } from "./Context"; export interface GoogleReCaptchaConfig { onVerify: (token: string) => void | Promise; diff --git a/packages/react-thirdparty/recaptcha/useGoogleReCaptchaContext.ts b/packages/react-thirdparty/recaptcha/useGoogleReCaptchaContext.ts deleted file mode 100644 index 4e21ed0..0000000 --- a/packages/react-thirdparty/recaptcha/useGoogleReCaptchaContext.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { useContext } from "react"; -import { GoogleReCaptchaContext } from "./Context"; - -export const useGoogleReCaptchaContext = () => - useContext(GoogleReCaptchaContext); diff --git a/packages/react-thirdparty/zendesk/Context.tsx b/packages/react-thirdparty/zendesk/Context.tsx index 749e438..9f7e205 100644 --- a/packages/react-thirdparty/zendesk/Context.tsx +++ b/packages/react-thirdparty/zendesk/Context.tsx @@ -1,22 +1,14 @@ import { createContext, useContext } from "react"; export interface ZendeskContextProps { - executeZendesk: ZendeskWidget; + executeZendesk?: ZendeskWidget; } -export const ZendeskContext = createContext( - undefined -); +export const ZendeskContext = createContext({}); /** * Custom hook to use the Zendesk context. * @throws If used outside of a ZendeskProvider. * @returns The Zendesk context value. */ -export const useZendeskContext = (): ZendeskContextProps => { - const context = useContext(ZendeskContext); - if (!context) { - throw new Error("useZendeskContext must be used within a ZendeskProvider"); - } - return context; -}; +export const useZendeskContext = () => useContext(ZendeskContext); diff --git a/packages/react-thirdparty/zendesk/Zendesk.tsx b/packages/react-thirdparty/zendesk/Zendesk.tsx index 48dad0e..df882ff 100644 --- a/packages/react-thirdparty/zendesk/Zendesk.tsx +++ b/packages/react-thirdparty/zendesk/Zendesk.tsx @@ -9,6 +9,11 @@ const Zendesk: React.FC = () => { const { executeZendesk } = useZendesk(); useEffect(() => { + if (!executeZendesk) { + console.warn("Zendesk client is not available"); + return; + } + // Example usage of executeZendesk when the component mounts executeZendesk("webWidget", "open"); diff --git a/packages/react-thirdparty/zendesk/useZendesk.ts b/packages/react-thirdparty/zendesk/useZendesk.ts index 473a3a3..f2b6cc1 100644 --- a/packages/react-thirdparty/zendesk/useZendesk.ts +++ b/packages/react-thirdparty/zendesk/useZendesk.ts @@ -4,7 +4,4 @@ import { useZendeskContext } from "./Context"; * Custom hook to access Zendesk client through context. * @returns The Zendesk context value. */ -export const useZendesk = () => { - const context = useZendeskContext(); - return context; -}; +export const useZendesk = () => useZendeskContext();