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

refactor: simplify AiAssistantTree rendering logic by removing unnecessary null checks

Shun Miyazawa 9 месяцев назад
Родитель
Сommit
05b2123800

+ 10 - 14
apps/app/src/features/openai/client/components/AiAssistant/Sidebar/AiAssistantSubstance.tsx

@@ -28,23 +28,19 @@ export const AiAssistantContent = (): JSX.Element => {
 
 
       <div className="d-flex flex-column gap-4">
       <div className="d-flex flex-column gap-4">
         <div>
         <div>
-          {aiAssistants?.myAiAssistants != null && aiAssistants.myAiAssistants.length !== 0 && (
-            <AiAssistantTree
-              onUpdated={mutateAiAssistants}
-              onDeleted={mutateAiAssistants}
-              aiAssistants={aiAssistants.myAiAssistants}
-            />
-          )}
+          <AiAssistantTree
+            onUpdated={mutateAiAssistants}
+            onDeleted={mutateAiAssistants}
+            aiAssistants={aiAssistants?.myAiAssistants ?? []}
+          />
         </div>
         </div>
 
 
         <div>
         <div>
-          {aiAssistants?.teamAiAssistants != null && aiAssistants.teamAiAssistants.length !== 0 && (
-            <AiAssistantTree
-              isTeamAssistant
-              onUpdated={mutateAiAssistants}
-              aiAssistants={aiAssistants.teamAiAssistants}
-            />
-          )}
+          <AiAssistantTree
+            isTeamAssistant
+            onUpdated={mutateAiAssistants}
+            aiAssistants={aiAssistants?.teamAiAssistants ?? []}
+          />
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>

+ 4 - 6
apps/app/src/features/openai/client/components/AiAssistant/Sidebar/AiAssistantTree.tsx

@@ -292,28 +292,26 @@ export const AiAssistantTree: React.FC<AiAssistantTreeProps> = ({
   const { openChat } = useAiAssistantSidebar();
   const { openChat } = useAiAssistantSidebar();
   const { open: openAiAssistantManagementModal } = useAiAssistantManagementModal();
   const { open: openAiAssistantManagementModal } = useAiAssistantManagementModal();
 
 
-  const [expandOtherOptions, setExpandOtherOptions] = useState(false);
+  const [isCollapsed, setIsCollapsed] = useState(false);
 
 
   return (
   return (
     <div className={`grw-ai-assistant-tree ${moduleClass}`}>
     <div className={`grw-ai-assistant-tree ${moduleClass}`}>
-
       <button
       <button
         type="button"
         type="button"
         className="btn btn-link p-0 text-secondary d-flex align-items-center"
         className="btn btn-link p-0 text-secondary d-flex align-items-center"
         aria-expanded="false"
         aria-expanded="false"
-        onClick={() => setExpandOtherOptions(!expandOtherOptions)}
+        onClick={() => setIsCollapsed(!isCollapsed)}
       >
       >
         <h3 className="fw-bold grw-ai-assistant-substance-header2 mb-0 me-1">
         <h3 className="fw-bold grw-ai-assistant-substance-header2 mb-0 me-1">
           {t(isTeamAssistant ? 'ai_assistant_tree.team_assistants' : 'ai_assistant_tree.my_assistants')}
           {t(isTeamAssistant ? 'ai_assistant_tree.team_assistants' : 'ai_assistant_tree.my_assistants')}
         </h3>
         </h3>
         <span
         <span
           className="material-symbols-outlined"
           className="material-symbols-outlined"
-        >{expandOtherOptions ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}
+        >{isCollapsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}
         </span>
         </span>
       </button>
       </button>
 
 
-
-      <Collapse isOpen={expandOtherOptions}>
+      <Collapse isOpen={isCollapsed}>
         <ul className={`list-group ${moduleClass}`}>
         <ul className={`list-group ${moduleClass}`}>
           {aiAssistants.map(assistant => (
           {aiAssistants.map(assistant => (
             <AiAssistantItem
             <AiAssistantItem