import React, { Fragment, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { ExpandableSection, PageSection } from "@patternfly/react-core"; import { TableComposable, Tbody, Td, Th, Thead, Tr, } from "@patternfly/react-table"; import { useServerInfo } from "../context/server-info/ServerInfoProvider"; import { TableToolbar } from "../components/table-toolbar/TableToolbar"; export const ProviderInfo = () => { const { t } = useTranslation("dashboard"); const serverInfo = useServerInfo(); const [filter, setFilter] = useState(""); const [open, setOpen] = useState([]); const providerInfo = useMemo( () => Object.entries(serverInfo.providers || []).filter(([key]) => key.includes(filter) ), [filter] ); const toggleOpen = (option: string) => { if (open.includes(option)) { setOpen(open.filter((item: string) => item !== option)); } else { setOpen([...open, option]); } }; return ( {t("spi")} {t("providers")} {providerInfo.map(([name, { providers }]) => ( {name}
    {Object.entries(providers).map( ([key, { operationalInfo }]) => (
  • {key}
  • {operationalInfo && ( toggleOpen(key)} toggleText={ open.includes(key) ? t("showLess") : t("showMore") } > {Object.entries(operationalInfo).map( ([key, value]) => ( {key} {value} ) )} )}
    ) )}
))}
); };