Skip to content

Commit fdada4d

Browse files
committed
useTaiiloredContent: don’t pass default options to provider, only to hook
1 parent 6e3aac0 commit fdada4d

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

docs/lib/hooks/useTailoredContent.tsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createContext, useContext, useState, ReactNode } from "react";
1+
import { createContext, useContext, useEffect, ReactNode } from "react";
22
import { useLocalStorage } from "usehooks-ts";
33

44
type TailoredContentOption = string;
@@ -11,15 +11,11 @@ type TailoredContentContextType<T extends TailoredContentOption> = {
1111
const TailoredContentContext = createContext<TailoredContentContextType<TailoredContentOption> | undefined>(undefined);
1212

1313
export const TailoredContentProvider = <T extends TailoredContentOption>({
14-
children,
15-
options,
16-
defaultOption
14+
children
1715
}: {
1816
children: ReactNode;
19-
options: T[];
20-
defaultOption: T;
2117
}) => {
22-
const [mode, setMode] = useLocalStorage<T>("copilotkit-tailored-content", defaultOption);
18+
const [mode, setMode] = useLocalStorage<T>("copilotkit-tailored-content", "empty" as T);
2319

2420
return (
2521
<TailoredContentContext.Provider
@@ -38,5 +34,12 @@ export const useTailoredContent = <T extends TailoredContentOption>(
3834
if (context === undefined) {
3935
throw new Error("useTailoredContent must be used within a TailoredContentProvider");
4036
}
37+
38+
useEffect(() => {
39+
if (!options.includes(context.mode)) {
40+
context.setMode(defaultOption);
41+
}
42+
}, [context.mode]);
43+
4144
return context as TailoredContentContextType<T>;
4245
};

0 commit comments

Comments
 (0)