| 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														import useConversation from './hooks/use-conversation' | 
														 | 
														 | 
														import useConversation from './hooks/use-conversation' | 
													
													
												
													
														 | 
														 | 
														import s from './style.module.css' | 
														 | 
														 | 
														import s from './style.module.css' | 
													
													
												
													
														 | 
														 | 
														import { ToastContext } from '@/app/components/base/toast' | 
														 | 
														 | 
														import { ToastContext } from '@/app/components/base/toast' | 
													
													
												
													
														 | 
														 | 
														import Sidebar from '@/app/components/share/chatbot/sidebar' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														import ConfigScene from '@/app/components/share/chatbot/config-scence' | 
														 | 
														 | 
														import ConfigScene from '@/app/components/share/chatbot/config-scence' | 
													
													
												
													
														 | 
														 | 
														import Header from '@/app/components/share/header' | 
														 | 
														 | 
														import Header from '@/app/components/share/header' | 
													
													
												
													
														 | 
														 | 
														import { /* delConversation, */ fetchAppInfo, fetchAppParams, fetchChatList, fetchConversations, fetchSuggestedQuestions, pinConversation, sendChatMessage, stopChatMessageResponding, unpinConversation, updateFeedback } from '@/service/share' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import { fetchAppInfo, fetchAppParams, fetchChatList, fetchConversations, fetchSuggestedQuestions, sendChatMessage, stopChatMessageResponding, updateFeedback } from '@/service/share' | 
													
													
												
													
														 | 
														 | 
														import type { ConversationItem, SiteInfo } from '@/models/share' | 
														 | 
														 | 
														import type { ConversationItem, SiteInfo } from '@/models/share' | 
													
													
												
													
														 | 
														 | 
														import type { PromptConfig, SuggestedQuestionsAfterAnswerConfig } from '@/models/debug' | 
														 | 
														 | 
														import type { PromptConfig, SuggestedQuestionsAfterAnswerConfig } from '@/models/debug' | 
													
													
												
													
														 | 
														 | 
														import type { Feedbacktype, IChatItem } from '@/app/components/app/chat' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import type { Feedbacktype, IChatItem } from '@/app/components/app/chat/type' | 
													
													
												
													
														 | 
														 | 
														import Chat from '@/app/components/app/chat' | 
														 | 
														 | 
														import Chat from '@/app/components/app/chat' | 
													
													
												
													
														 | 
														 | 
														import { changeLanguage } from '@/i18n/i18next-config' | 
														 | 
														 | 
														import { changeLanguage } from '@/i18n/i18next-config' | 
													
													
												
													
														 | 
														 | 
														import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' | 
														 | 
														 | 
														import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														import { replaceStringWithValues } from '@/app/components/app/configuration/prompt-value-panel' | 
														 | 
														 | 
														import { replaceStringWithValues } from '@/app/components/app/configuration/prompt-value-panel' | 
													
													
												
													
														 | 
														 | 
														import { userInputsFormToPromptVariables } from '@/utils/model-config' | 
														 | 
														 | 
														import { userInputsFormToPromptVariables } from '@/utils/model-config' | 
													
													
												
													
														 | 
														 | 
														import type { InstalledApp } from '@/models/explore' | 
														 | 
														 | 
														import type { InstalledApp } from '@/models/explore' | 
													
													
												
													
														 | 
														 | 
														// import Confirm from '@/app/components/base/confirm' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback' | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														export type IMainProps = { | 
														 | 
														 | 
														export type IMainProps = { | 
													
													
												
													
														 | 
														 | 
														  isInstalledApp?: boolean | 
														 | 
														 | 
														  isInstalledApp?: boolean | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [promptConfig, setPromptConfig] = useState<PromptConfig | null>(null) | 
														 | 
														 | 
														  const [promptConfig, setPromptConfig] = useState<PromptConfig | null>(null) | 
													
													
												
													
														 | 
														 | 
														  const [inited, setInited] = useState<boolean>(false) | 
														 | 
														 | 
														  const [inited, setInited] = useState<boolean>(false) | 
													
													
												
													
														 | 
														 | 
														  const [plan, setPlan] = useState<string>('basic') // basic/plus/pro | 
														 | 
														 | 
														  const [plan, setPlan] = useState<string>('basic') // basic/plus/pro | 
													
													
												
													
														 | 
														 | 
														  // in mobile, show sidebar by click button | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [isShowSidebar, { setTrue: showSidebar, setFalse: hideSidebar }] = useBoolean(false) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  // Can Use metadata(https://beta.nextjs.org/docs/api-reference/metadata) to set title. But it only works in server side client. | 
														 | 
														 | 
														  // Can Use metadata(https://beta.nextjs.org/docs/api-reference/metadata) to set title. But it only works in server side client. | 
													
													
												
													
														 | 
														 | 
														  useEffect(() => { | 
														 | 
														 | 
														  useEffect(() => { | 
													
													
												
													
														 | 
														 | 
														    if (siteInfo?.title) { | 
														 | 
														 | 
														    if (siteInfo?.title) { | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														    setControlUpdateConversationList(Date.now()) | 
														 | 
														 | 
														    setControlUpdateConversationList(Date.now()) | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														  } | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const handlePin = async (id: string) => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    await pinConversation(isInstalledApp, installedAppInfo?.id, id) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    notify({ type: 'success', message: t('common.api.success') }) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    noticeUpdateList() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const handleUnpin = async (id: string) => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    await unpinConversation(isInstalledApp, installedAppInfo?.id, id) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    notify({ type: 'success', message: t('common.api.success') }) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    noticeUpdateList() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [isShowConfirm, { setTrue: showConfirm, setFalse: hideConfirm }] = useBoolean(false) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [toDeleteConversationId, setToDeleteConversationId] = useState('') | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const handleDelete = (id: string) => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    setToDeleteConversationId(id) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    hideSidebar() // mobile | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    showConfirm() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  // const didDelete = async () => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //   await delConversation(isInstalledApp, installedAppInfo?.id, toDeleteConversationId) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //   notify({ type: 'success', message: t('common.api.success') }) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //   hideConfirm() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //   if (currConversationId === toDeleteConversationId) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //     handleConversationIdChange('-1') | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  //   noticeUpdateList() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  // } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [suggestedQuestionsAfterAnswerConfig, setSuggestedQuestionsAfterAnswerConfig] = useState<SuggestedQuestionsAfterAnswerConfig | null>(null) | 
														 | 
														 | 
														  const [suggestedQuestionsAfterAnswerConfig, setSuggestedQuestionsAfterAnswerConfig] = useState<SuggestedQuestionsAfterAnswerConfig | null>(null) | 
													
													
												
													
														 | 
														 | 
														  const [speechToTextConfig, setSpeechToTextConfig] = useState<SuggestedQuestionsAfterAnswerConfig | null>(null) | 
														 | 
														 | 
														  const [speechToTextConfig, setSpeechToTextConfig] = useState<SuggestedQuestionsAfterAnswerConfig | null>(null) | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														  } | 
													
													
												
													
														 | 
														 | 
														  useEffect(handleConversationSwitch, [currConversationId, inited]) | 
														 | 
														 | 
														  useEffect(handleConversationSwitch, [currConversationId, inited]) | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const handleConversationIdChange = (id: string) => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    if (id === '-1') { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      createNewChat() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      setConversationIdChangeBecauseOfNew(true) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    else { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      setConversationIdChangeBecauseOfNew(false) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    // trigger handleConversationSwitch | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    setCurrConversationId(id, appId) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    setIsShowSuggestion(false) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    hideSidebar() | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  /* | 
														 | 
														 | 
														  /* | 
													
													
												
													
														 | 
														 | 
														  * chat info. chat is under conversation. | 
														 | 
														 | 
														  * chat info. chat is under conversation. | 
													
													
												
													
														 | 
														 | 
														  */ | 
														 | 
														 | 
														  */ | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														  const [suggestQuestions, setSuggestQuestions] = useState<string[]>([]) | 
														 | 
														 | 
														  const [suggestQuestions, setSuggestQuestions] = useState<string[]>([]) | 
													
													
												
													
														 | 
														 | 
														  const [messageTaskId, setMessageTaskId] = useState('') | 
														 | 
														 | 
														  const [messageTaskId, setMessageTaskId] = useState('') | 
													
													
												
													
														 | 
														 | 
														  const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false) | 
														 | 
														 | 
														  const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														  const [shouldReload, setShouldReload] = useState(false) | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const handleSend = async (message: string) => { | 
														 | 
														 | 
														  const handleSend = async (message: string) => { | 
													
													
												
													
														 | 
														 | 
														    if (isResponsing) { | 
														 | 
														 | 
														    if (isResponsing) { | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														          setIsShowSuggestion(true) | 
														 | 
														 | 
														          setIsShowSuggestion(true) | 
													
													
												
													
														 | 
														 | 
														        } | 
														 | 
														 | 
														        } | 
													
													
												
													
														 | 
														 | 
														      }, | 
														 | 
														 | 
														      }, | 
													
													
												
													
														 | 
														 | 
														      onError() { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														      onError(errorMessage, errorCode) { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        if (['provider_not_initialize', 'completion_request_error'].includes(errorCode as string)) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          setShouldReload(true) | 
													
													
												
													
														 | 
														 | 
														        setResponsingFalse() | 
														 | 
														 | 
														        setResponsingFalse() | 
													
													
												
													
														 | 
														 | 
														        // role back placeholder answer | 
														 | 
														 | 
														        // role back placeholder answer | 
													
													
												
													
														 | 
														 | 
														        setChatList(produce(getChatList(), (draft) => { | 
														 | 
														 | 
														        setChatList(produce(getChatList(), (draft) => { | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    notify({ type: 'success', message: t('common.api.success') }) | 
														 | 
														 | 
														    notify({ type: 'success', message: t('common.api.success') }) | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														  } | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const renderSidebar = () => { | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    if (!appId || !siteInfo || !promptConfig) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      return null | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    return ( | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      <Sidebar | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        list={conversationList} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        isClearConversationList={isClearConversationList} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        pinnedList={pinnedConversationList} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        isClearPinnedConversationList={isClearPinnedConversationList} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onMoreLoaded={onMoreLoaded} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onPinnedMoreLoaded={onPinnedMoreLoaded} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        isNoMore={!hasMore} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        isPinnedNoMore={!hasPinnedMore} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onCurrentIdChange={handleConversationIdChange} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        currentId={currConversationId} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        copyRight={siteInfo.copyright || siteInfo.title} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        isInstalledApp={isInstalledApp} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        installedAppId={installedAppInfo?.id} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        siteInfo={siteInfo} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onPin={handlePin} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onUnpin={handleUnpin} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        controlUpdateList={controlUpdateConversationList} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        onDelete={handleDelete} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      /> | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    ) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														  const handleReload = () => { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    setCurrConversationId('-1', appId, false) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    setChatNotStarted() | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    setShouldReload(false) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    createNewChat() | 
													
													
												
													
														 | 
														 | 
														  } | 
														 | 
														 | 
														  } | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														  const difyIcon = ( | 
														 | 
														 | 
														  const difyIcon = ( | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        icon_background={siteInfo.icon_background} | 
														 | 
														 | 
														        icon_background={siteInfo.icon_background} | 
													
													
												
													
														 | 
														 | 
														        isEmbedScene={true} | 
														 | 
														 | 
														        isEmbedScene={true} | 
													
													
												
													
														 | 
														 | 
														        isMobile={isMobile} | 
														 | 
														 | 
														        isMobile={isMobile} | 
													
													
												
													
														 | 
														 | 
														      // onShowSideBar={showSidebar} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      // onCreateNewChat={() => handleConversationIdChange('-1')} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														      /> | 
														 | 
														 | 
														      /> | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														      <div className={'flex bg-white overflow-hidden'}> | 
														 | 
														 | 
														      <div className={'flex bg-white overflow-hidden'}> | 
													
													
												
													
														 | 
														 | 
														        {/* sidebar */} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        {/* {!isMobile && renderSidebar()} */} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        {/* {isMobile && isShowSidebar && ( | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														          <div className='fixed inset-0 z-50' | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            style={{ backgroundColor: 'rgba(35, 56, 118, 0.2)' }} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            onClick={hideSidebar} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														          > | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            <div className='inline-block' onClick={e => e.stopPropagation()}> | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														              {renderSidebar()} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            </div> | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														          </div> | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        )} */} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        {/* main */} | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														        <div className={cn( | 
														 | 
														 | 
														        <div className={cn( | 
													
													
												
													
														 | 
														 | 
														          isInstalledApp ? s.installedApp : 'h-[calc(100vh_-_3rem)]', | 
														 | 
														 | 
														          isInstalledApp ? s.installedApp : 'h-[calc(100vh_-_3rem)]', | 
													
													
												
													
														 | 
														 | 
														          'flex-grow flex flex-col overflow-y-auto', | 
														 | 
														 | 
														          'flex-grow flex flex-col overflow-y-auto', | 
													
													
												
											
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														            onInputsChange={setCurrInputs} | 
														 | 
														 | 
														            onInputsChange={setCurrInputs} | 
													
													
												
													
														 | 
														 | 
														            plan={plan} | 
														 | 
														 | 
														            plan={plan} | 
													
													
												
													
														 | 
														 | 
														          ></ConfigScene> | 
														 | 
														 | 
														          ></ConfigScene> | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            shouldReload && ( | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              <div className='flex items-center justify-between mb-5 px-4 py-2 bg-[#FEF0C7]'> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                <div className='flex items-center text-xs font-medium text-[#DC6803]'> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                  <AlertTriangle className='mr-2 w-4 h-4' /> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                  {t('share.chat.temporarySystemIssue')} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                </div> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                <div | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                  className='flex items-center px-3 h-7 bg-white shadow-xs rounded-md text-xs font-medium text-gray-700 cursor-pointer' | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                  onClick={handleReload} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                > | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                  {t('share.chat.tryToSolve')} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														                </div> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              </div> | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            ) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          } | 
													
													
												
													
														 | 
														 | 
														          { | 
														 | 
														 | 
														          { | 
													
													
												
													
														 | 
														 | 
														            hasSetInputs && ( | 
														 | 
														 | 
														            hasSetInputs && ( | 
													
													
												
													
														 | 
														 | 
														              <div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponsing ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}> | 
														 | 
														 | 
														              <div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponsing ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}> |