From 435d86067cf2e36b1fcbed0e83d57190d714fdbf Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Thu, 19 Dec 2024 15:35:11 -0300 Subject: [PATCH] refactor: improve conditional rendering on panel buttons (#5365) add render condition on modal buttons --- src/frontend/src/modals/IOModal/newModal.tsx | 456 ++++++++++--------- src/frontend/src/modals/apiModal/index.tsx | 22 +- src/frontend/src/modals/shareModal/index.tsx | 65 +-- 3 files changed, 279 insertions(+), 264 deletions(-) diff --git a/src/frontend/src/modals/IOModal/newModal.tsx b/src/frontend/src/modals/IOModal/newModal.tsx index 10802df65..e5ceabe39 100644 --- a/src/frontend/src/modals/IOModal/newModal.tsx +++ b/src/frontend/src/modals/IOModal/newModal.tsx @@ -259,249 +259,253 @@ export default function IOModal({ {children} {/* TODO ADAPT TO ALL TYPES OF INPUTS AND OUTPUTS */} -
-
-
-
- - - - {sidebarOpen &&
Playground
} -
- {sidebarOpen && ( -
-
-
-
- -
Chat
-
- -
- -
-
-
-
-
- {sessions.map((session, index) => ( - { - handleDeleteSession(session); - if (selectedViewField?.id === session) { - setSelectedViewField(undefined); - } - }} - updateVisibleSession={(session) => { - setvisibleSession(session); - }} - toggleVisibility={() => { - setvisibleSession(session); - }} - isVisible={visibleSession === session} - inspectSession={(session) => { - setSelectedViewField({ - id: session, - type: "Session", - }); - }} - /> - ))} -
-
- )} -
-
-
- {selectedViewField && ( -
-
- {haveChat && ( - - )} - { - nodes.find((node) => node.id === selectedViewField.id)?.data - .node.display_name - } -
-
- {inputs.some( - (input) => input.id === selectedViewField.id, - ) && ( - - )} - {outputs.some( - (output) => output.id === selectedViewField.id, - ) && ( - - )} - {sessions.some( - (session) => session === selectedViewField.id, - ) && ( - - )} -
-
- )} + {open && ( +
-
- {visibleSession && sessions.length > 0 && sidebarOpen && ( -
- {visibleSession === currentFlowId - ? "Default Session" - : `${visibleSession}`} -
- )} -
-
+
+
+ + + {sidebarOpen && (
Playground
+ )} +
+ {sidebarOpen && ( +
+
+
+
+ +
Chat
+
+ +
+ +
+
+
+
+
+ {sessions.map((session, index) => ( + { + handleDeleteSession(session); + if (selectedViewField?.id === session) { + setSelectedViewField(undefined); + } + }} + updateVisibleSession={(session) => { + setvisibleSession(session); + }} + toggleVisibility={() => { + setvisibleSession(session); + }} + isVisible={visibleSession === session} + inspectSession={(session) => { + setSelectedViewField({ + id: session, + type: "Session", + }); + }} + /> + ))} +
+
+ )} +
+
+
+ {selectedViewField && ( +
+
+ {haveChat && ( + + )} + { + nodes.find((node) => node.id === selectedViewField.id) + ?.data.node.display_name + } +
+
+ {inputs.some( + (input) => input.id === selectedViewField.id, + ) && ( + + )} + {outputs.some( + (output) => output.id === selectedViewField.id, + ) && ( + + )} + {sessions.some( + (session) => session === selectedViewField.id, + ) && ( + + )}
-
- - - - {!isPlayground && } -
-
- {haveChat ? ( -
- {messagesFetched && ( - { - setOpen(false); - } - } - /> - )} -
- ) : ( - - Select an IO component to view - )} +
+
+ {visibleSession && sessions.length > 0 && sidebarOpen && ( +
+ {visibleSession === currentFlowId + ? "Default Session" + : `${visibleSession}`} +
+ )} +
+
+ +
Playground
+
+
+
+ + + + {!isPlayground && } +
+
+ {haveChat ? ( +
+ {messagesFetched && ( + { + setOpen(false); + } + } + /> + )} +
+ ) : ( + + Select an IO component to view + + )} +
-
+ )} ); diff --git a/src/frontend/src/modals/apiModal/index.tsx b/src/frontend/src/modals/apiModal/index.tsx index c6feedd00..842e5a7d5 100644 --- a/src/frontend/src/modals/apiModal/index.tsx +++ b/src/frontend/src/modals/apiModal/index.tsx @@ -54,15 +54,19 @@ export default function ApiModal({ /> - - + {open && ( + <> + + + + )} ); diff --git a/src/frontend/src/modals/shareModal/index.tsx b/src/frontend/src/modals/shareModal/index.tsx index a7eb6e1d5..49b5f4764 100644 --- a/src/frontend/src/modals/shareModal/index.tsx +++ b/src/frontend/src/modals/shareModal/index.tsx @@ -221,35 +221,42 @@ export default function ShareModal({ /> -
- -
-
- -
-
- { - setSharePublic(event); - }} - data-testid="public-checkbox" - /> - -
- - Attention: API keys in specified fields are automatically - removed upon sharing. - + {open && ( + <> +
+ +
+
+ +
+
+ { + setSharePublic(event); + }} + data-testid="public-checkbox" + /> + +
+ + Attention: API keys in specified fields are automatically + removed upon sharing. + + + )}