From fffefceab965f93408ef982ebe8b6c8a581111ab Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Tue, 23 May 2023 19:28:58 +0200 Subject: [PATCH] Simplified the code in the IntegrationDialog.jsx --- .../IntegrationDialog/IntegrationDialog.jsx | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/client/src/common/components/IntegrationDialog/IntegrationDialog.jsx b/client/src/common/components/IntegrationDialog/IntegrationDialog.jsx index b9430683..8bd7da1c 100644 --- a/client/src/common/components/IntegrationDialog/IntegrationDialog.jsx +++ b/client/src/common/components/IntegrationDialog/IntegrationDialog.jsx @@ -2,13 +2,14 @@ import {DialogContext, DialogProvider} from "@/common/contexts/Dialog"; import "./styles.sass"; import React, {useContext, useEffect, useState} from "react"; import {t} from "i18next"; -import {faAdd, faClose} from "@fortawesome/free-solid-svg-icons"; +import {faClose} from "@fortawesome/free-solid-svg-icons"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {jsonRequest} from "@/common/utils/RequestUtil"; import IntegrationItem from "@/common/components/IntegrationDialog/components/IntegrationItem"; -import {Trans} from "react-i18next"; import {v4 as uuid} from 'uuid'; import AvailableIntegrations from "./components/AvailableIntegrations"; +import IntegrationAddButton from "@/common/components/IntegrationDialog/components/IntegrationAddButton"; +import NoIntegrationsTab from "@/common/components/IntegrationDialog/components/NoIntegrationsTab"; export const Dialog = ({integrations, activeData}) => { const close = useContext(DialogContext); @@ -16,8 +17,8 @@ export const Dialog = ({integrations, activeData}) => { const [active, setActive] = useState(activeData.map(item => ({...item, uuid: uuid()}))); - const addIntegration = () => - setActive([...active, {uuid: uuid(), name: currentTab, integration: integrations[currentTab], data: {}, open:true}]); + const addIntegration = () => setActive([...active, {uuid: uuid(), name: currentTab, + integration: integrations[currentTab], data: {}, open: true}]); const deleteIntegration = (uuid) => setActive(active.filter((item) => item.uuid !== uuid)); @@ -32,24 +33,16 @@ export const Dialog = ({integrations, activeData}) => { setCurrentTab={setCurrentTab}/>
- {active.map((item) => { - if (item.name === currentTab) - return ( deleteIntegration(item.uuid)} - data={item} key={item.uuid} isOpen={item.open}/>); - })} - {active.filter(item => item.name === currentTab).length === 0 &&
- -

}}> - integrations.none_active

-
} - {active.filter(item => item.name === currentTab).length > 0 &&
-
- -

{t("integrations.create")}

-
-
} + {active.map((item) => (item.name !== currentTab ? undefined : + deleteIntegration(item.uuid)} + data={item} key={item.uuid} isOpen={item.open} />))} + + {active.filter(item => item.name === currentTab).length === 0 + && } + + {active.filter(item => item.name === currentTab).length > 0 + && }