Update chat provider values

Update chat provider values
This commit is contained in:
pablonyx 2024-12-16 11:46:53 -08:00 committed by GitHub
commit 29ef64272a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 56 additions and 56 deletions

View File

@ -20,26 +20,22 @@ import { useRouter } from "next/navigation";
import { pageType } from "../chat/sessionSidebar/types"; import { pageType } from "../chat/sessionSidebar/types";
import FixedLogo from "../chat/shared_chat_search/FixedLogo"; import FixedLogo from "../chat/shared_chat_search/FixedLogo";
import { SettingsContext } from "@/components/settings/SettingsProvider"; import { SettingsContext } from "@/components/settings/SettingsProvider";
import { useChatContext } from "@/components/context/ChatContext";
interface SidebarWrapperProps<T extends object> { interface SidebarWrapperProps<T extends object> {
chatSessions?: ChatSession[];
folders?: Folder[];
initiallyToggled: boolean; initiallyToggled: boolean;
openedFolders?: { [key: number]: boolean };
page: pageType; page: pageType;
size?: "sm" | "lg"; size?: "sm" | "lg";
children: ReactNode; children: ReactNode;
} }
export default function SidebarWrapper<T extends object>({ export default function SidebarWrapper<T extends object>({
chatSessions,
initiallyToggled, initiallyToggled,
folders,
openedFolders,
page, page,
size = "sm", size = "sm",
children, children,
}: SidebarWrapperProps<T>) { }: SidebarWrapperProps<T>) {
const { chatSessions, folders, openedFolders } = useChatContext();
const [toggledSidebar, setToggledSidebar] = useState(initiallyToggled); const [toggledSidebar, setToggledSidebar] = useState(initiallyToggled);
const [showDocSidebar, setShowDocSidebar] = useState(false); // State to track if sidebar is open const [showDocSidebar, setShowDocSidebar] = useState(false); // State to track if sidebar is open
// Used to maintain a "time out" for history sidebar so our existing refs can have time to process change // Used to maintain a "time out" for history sidebar so our existing refs can have time to process change

View File

@ -1,31 +1,15 @@
"use client"; "use client";
import SidebarWrapper from "../SidebarWrapper"; import SidebarWrapper from "../SidebarWrapper";
import { ChatSession } from "@/app/chat/interfaces";
import { Folder } from "@/app/chat/folders/interfaces";
import { Persona } from "@/app/admin/assistants/interfaces";
import { User } from "@/lib/types";
import { AssistantsGallery } from "./AssistantsGallery"; import { AssistantsGallery } from "./AssistantsGallery";
export default function WrappedAssistantsGallery({ export default function WrappedAssistantsGallery({
chatSessions, toggleSidebar,
initiallyToggled,
folders,
openedFolders,
}: { }: {
chatSessions: ChatSession[]; toggleSidebar: boolean;
folders: Folder[];
initiallyToggled: boolean;
openedFolders?: { [key: number]: boolean };
}) { }) {
return ( return (
<SidebarWrapper <SidebarWrapper page="chat" initiallyToggled={toggleSidebar}>
page="chat"
initiallyToggled={initiallyToggled}
chatSessions={chatSessions}
folders={folders}
openedFolders={openedFolders}
>
<AssistantsGallery /> <AssistantsGallery />
</SidebarWrapper> </SidebarWrapper>
); );

View File

@ -5,6 +5,7 @@ import { unstable_noStore as noStore } from "next/cache";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import WrappedAssistantsGallery from "./WrappedAssistantsGallery"; import WrappedAssistantsGallery from "./WrappedAssistantsGallery";
import { cookies } from "next/headers"; import { cookies } from "next/headers";
import { ChatProvider } from "@/components/context/ChatContext";
export default async function GalleryPage(props: { export default async function GalleryPage(props: {
searchParams: Promise<{ [key: string]: string }>; searchParams: Promise<{ [key: string]: string }>;
@ -26,22 +27,38 @@ export default async function GalleryPage(props: {
openedFolders, openedFolders,
toggleSidebar, toggleSidebar,
shouldShowWelcomeModal, shouldShowWelcomeModal,
availableSources,
ccPairs,
documentSets,
tags,
llmProviders,
defaultAssistantId,
} = data; } = data;
return ( return (
<> <ChatProvider
value={{
chatSessions,
availableSources,
ccPairs,
documentSets,
tags,
availableDocumentSets: documentSets,
availableTags: tags,
llmProviders,
folders,
openedFolders,
shouldShowWelcomeModal,
defaultAssistantId,
}}
>
{shouldShowWelcomeModal && ( {shouldShowWelcomeModal && (
<WelcomeModal user={user} requestCookies={requestCookies} /> <WelcomeModal user={user} requestCookies={requestCookies} />
)} )}
<InstantSSRAutoRefresh /> <InstantSSRAutoRefresh />
<WrappedAssistantsGallery <WrappedAssistantsGallery toggleSidebar={toggleSidebar} />
initiallyToggled={toggleSidebar} </ChatProvider>
chatSessions={chatSessions}
folders={folders}
openedFolders={openedFolders}
/>
</>
); );
} }

View File

@ -1,28 +1,14 @@
"use client"; "use client";
import { AssistantsList } from "./AssistantsList"; import { AssistantsList } from "./AssistantsList";
import SidebarWrapper from "../SidebarWrapper"; import SidebarWrapper from "../SidebarWrapper";
import { ChatSession } from "@/app/chat/interfaces";
import { Folder } from "@/app/chat/folders/interfaces";
export default function WrappedAssistantsMine({ export default function WrappedAssistantsMine({
chatSessions,
initiallyToggled, initiallyToggled,
folders,
openedFolders,
}: { }: {
chatSessions: ChatSession[];
folders: Folder[];
initiallyToggled: boolean; initiallyToggled: boolean;
openedFolders?: { [key: number]: boolean };
}) { }) {
return ( return (
<SidebarWrapper <SidebarWrapper page="chat" initiallyToggled={initiallyToggled}>
page="chat"
initiallyToggled={initiallyToggled}
chatSessions={chatSessions}
folders={folders}
openedFolders={openedFolders}
>
<AssistantsList /> <AssistantsList />
</SidebarWrapper> </SidebarWrapper>
); );

View File

@ -6,6 +6,7 @@ import { redirect } from "next/navigation";
import WrappedAssistantsMine from "./WrappedAssistantsMine"; import WrappedAssistantsMine from "./WrappedAssistantsMine";
import { WelcomeModal } from "@/components/initialSetup/welcome/WelcomeModalWrapper"; import { WelcomeModal } from "@/components/initialSetup/welcome/WelcomeModalWrapper";
import { cookies } from "next/headers"; import { cookies } from "next/headers";
import { ChatProvider } from "@/components/context/ChatContext";
export default async function GalleryPage(props: { export default async function GalleryPage(props: {
searchParams: Promise<{ [key: string]: string }>; searchParams: Promise<{ [key: string]: string }>;
@ -27,21 +28,37 @@ export default async function GalleryPage(props: {
openedFolders, openedFolders,
toggleSidebar, toggleSidebar,
shouldShowWelcomeModal, shouldShowWelcomeModal,
availableSources,
ccPairs,
documentSets,
tags,
llmProviders,
defaultAssistantId,
} = data; } = data;
return ( return (
<> <ChatProvider
value={{
chatSessions,
availableSources,
ccPairs,
documentSets,
tags,
availableDocumentSets: documentSets,
availableTags: tags,
llmProviders,
folders,
openedFolders,
shouldShowWelcomeModal,
defaultAssistantId,
}}
>
{shouldShowWelcomeModal && ( {shouldShowWelcomeModal && (
<WelcomeModal user={user} requestCookies={requestCookies} /> <WelcomeModal user={user} requestCookies={requestCookies} />
)} )}
<InstantSSRAutoRefresh /> <InstantSSRAutoRefresh />
<WrappedAssistantsMine <WrappedAssistantsMine initiallyToggled={toggleSidebar} />
initiallyToggled={toggleSidebar} </ChatProvider>
chatSessions={chatSessions}
folders={folders}
openedFolders={openedFolders}
/>
</>
); );
} }