Просмотр исходного кода

refactor: separate OpenDefaultAiAssistantButton into substance and wrapper components

Yuki Takei 10 месяцев назад
Родитель
Сommit
ee1ed481d9

+ 11 - 6
apps/app/src/features/openai/client/components/AiAssistant/OpenDefaultAiAssistantButton.tsx

@@ -10,9 +10,8 @@ import { useAiAssistantSidebar, useSWRxAiAssistants } from '../../stores/ai-assi
 
 
 import styles from './OpenDefaultAiAssistantButton.module.scss';
 import styles from './OpenDefaultAiAssistantButton.module.scss';
 
 
-const OpenDefaultAiAssistantButton = (): JSX.Element => {
+const OpenDefaultAiAssistantButtonSubstance = (): JSX.Element => {
   const { t } = useTranslation();
   const { t } = useTranslation();
-  const { data: isAiEnabled } = useIsAiEnabled();
   const { data: aiAssistantData } = useSWRxAiAssistants();
   const { data: aiAssistantData } = useSWRxAiAssistants();
   const { openChat } = useAiAssistantSidebar();
   const { openChat } = useAiAssistantSidebar();
 
 
@@ -33,10 +32,6 @@ const OpenDefaultAiAssistantButton = (): JSX.Element => {
     openChat(defaultAiAssistant);
     openChat(defaultAiAssistant);
   }, [defaultAiAssistant, openChat]);
   }, [defaultAiAssistant, openChat]);
 
 
-  if (!isAiEnabled) {
-    return <></>;
-  }
-
   return (
   return (
     <NotAvailableForGuest>
     <NotAvailableForGuest>
       <NotAvailable isDisabled={defaultAiAssistant == null} title={t('default_ai_assistant.not_set')}>
       <NotAvailable isDisabled={defaultAiAssistant == null} title={t('default_ai_assistant.not_set')}>
@@ -52,4 +47,14 @@ const OpenDefaultAiAssistantButton = (): JSX.Element => {
   );
   );
 };
 };
 
 
+const OpenDefaultAiAssistantButton = (): JSX.Element => {
+  const { data: isAiEnabled } = useIsAiEnabled();
+
+  if (!isAiEnabled) {
+    return <></>;
+  }
+
+  return <OpenDefaultAiAssistantButtonSubstance />;
+};
+
 export default OpenDefaultAiAssistantButton;
 export default OpenDefaultAiAssistantButton;