diff --git a/packages/cozy-search/src/components/AssistantProvider.d.ts b/packages/cozy-search/src/components/AssistantProvider.d.ts index 67773756c7..9d158bf47c 100644 --- a/packages/cozy-search/src/components/AssistantProvider.d.ts +++ b/packages/cozy-search/src/components/AssistantProvider.d.ts @@ -25,6 +25,8 @@ export interface AssistantContextValue { setSelectedTwakeKnowledge: React.Dispatch< React.SetStateAction > + websearchEnabled: boolean + setWebsearchEnabled: React.Dispatch> } export function useAssistant(): AssistantContextValue diff --git a/packages/cozy-search/src/components/AssistantProvider.jsx b/packages/cozy-search/src/components/AssistantProvider.jsx index b9cb2b6ff1..523e76e9a1 100644 --- a/packages/cozy-search/src/components/AssistantProvider.jsx +++ b/packages/cozy-search/src/components/AssistantProvider.jsx @@ -32,6 +32,7 @@ const AssistantProvider = ({ children }) => { chat: [] }) const [openedKnowledgePanel, setOpenedKnowledgePanel] = useState(null) + const [websearchEnabled, setWebsearchEnabled] = useState(false) const value = useMemo( () => ({ @@ -50,7 +51,9 @@ const AssistantProvider = ({ children }) => { setSelectedAssistantId, setIsOpenSearchConversation, setOpenedKnowledgePanel, - setSelectedTwakeKnowledge + setSelectedTwakeKnowledge, + websearchEnabled, + setWebsearchEnabled }), [ isOpenCreateAssistant, @@ -60,7 +63,8 @@ const AssistantProvider = ({ children }) => { selectedAssistantId, isOpenSearchConversation, openedKnowledgePanel, - selectedTwakeKnowledge + selectedTwakeKnowledge, + websearchEnabled ] ) diff --git a/packages/cozy-search/src/components/Conversations/ConversationBar.jsx b/packages/cozy-search/src/components/Conversations/ConversationBar.jsx index fe73208e51..3c0d8e03bd 100644 --- a/packages/cozy-search/src/components/Conversations/ConversationBar.jsx +++ b/packages/cozy-search/src/components/Conversations/ConversationBar.jsx @@ -12,6 +12,7 @@ import useEventListener from 'cozy-ui/transpiled/react/hooks/useEventListener' import { useBreakpoints } from 'cozy-ui/transpiled/react/providers/Breakpoints' import { useI18n } from 'twake-i18n' +import WebsearchButton from './WebsearchButton' import styles from './styles.styl' const ConversationBar = ({ @@ -21,6 +22,8 @@ const ConversationBar = ({ onKeyDown, onSend, onCancel, + websearchEnabled, + onToggleWebsearch, ...props }) => { const { t } = useI18n() @@ -74,29 +77,39 @@ const ConversationBar = ({ }, autoFocus: !isMobile, inputComponent: ComposerPrimitive.Input, - endAdornment: isRunning ? ( - -