From 2039152947acd68a6a16bb663bd01b4abc6e43e6 Mon Sep 17 00:00:00 2001 From: Dawid Jankowiak Date: Tue, 26 Nov 2024 18:41:40 +0100 Subject: [PATCH] feat(boxai-sidebar): Inital integration --- src/elements/content-sidebar/BoxAISidebar.tsx | 18 ++++++++++++++++-- .../__tests__/BoxAISidebar.test.tsx | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/elements/content-sidebar/BoxAISidebar.tsx b/src/elements/content-sidebar/BoxAISidebar.tsx index 31be45a2c6..aecd1b07c6 100644 --- a/src/elements/content-sidebar/BoxAISidebar.tsx +++ b/src/elements/content-sidebar/BoxAISidebar.tsx @@ -8,6 +8,7 @@ import { useIntl } from 'react-intl'; import { ArrowsExpand } from '@box/blueprint-web-assets/icons/Fill'; import { IconButton } from '@box/blueprint-web'; +import { BoxAiContentAnswers, type BoxAiContentAnswersProps } from '@box/box-ai-content-answers'; import SidebarContent from './SidebarContent'; import { withAPIContext } from '../common/api-context'; import { withErrorBoundary } from '../common/error-boundary'; @@ -23,13 +24,24 @@ const MARK_NAME_JS_READY: string = `${ORIGIN_BOXAI_SIDEBAR}_${EVENT_JS_READY}`; mark(MARK_NAME_JS_READY); +interface ContentAnswersProps extends BoxAiContentAnswersProps { + startSession: () => void; +} + export interface BoxAISidebarProps { onExpandClick: () => void; + contentAnswersProps: ContentAnswersProps; } -function BoxAISidebar({ onExpandClick }: BoxAISidebarProps) { +function BoxAISidebar(props: BoxAISidebarProps) { + const { onExpandClick, contentAnswersProps } = props; + const { formatMessage } = useIntl(); + const { startSession } = contentAnswersProps ?? {}; + + startSession(); + return ( -
+
+ {contentAnswersProps && } +
); } diff --git a/src/elements/content-sidebar/__tests__/BoxAISidebar.test.tsx b/src/elements/content-sidebar/__tests__/BoxAISidebar.test.tsx index f630a72bf9..584e333087 100644 --- a/src/elements/content-sidebar/__tests__/BoxAISidebar.test.tsx +++ b/src/elements/content-sidebar/__tests__/BoxAISidebar.test.tsx @@ -9,7 +9,7 @@ describe('elements/content-sidebar/BoxAISidebar', () => { const renderComponent = (props = {}) => { const defaultProps = { onExpandClick: mockOnExpandClick, - } satisfies BoxAISidebarProps; + } as unknown as BoxAISidebarProps; render(); };