import { PlusIcon } from "@heroicons/react/outline"; import Record from "../../Record"; import { Button } from "@mui/joy"; import { styled } from "@mui/joy"; import { useCallback } from "react"; import lodash from "lodash"; const Root = styled("div")` display: flex; flex-direction: column; `; const Records = styled("div")` display: flex; flex-direction: column; row-gap: ${({ theme }) => theme.spacing(1)}; `; const AddButton = styled(Button)` width: 120px; margin-top: ${({ theme }) => theme.spacing(2)}; `; const Labels = (props: any) => { const { formik } = props; const { labels } = formik.values.serviceConfig; const handleNewLabel = useCallback(() => { formik.setFieldValue(`serviceConfig.labels[${labels.length}]`, { key: "", value: "" }); }, [formik]); const handleRemoveLabel = useCallback( (index: number) => { const newLabels = labels.filter( (_: unknown, currentIndex: number) => currentIndex != index ); formik.setFieldValue(`serviceConfig.labels`, newLabels); }, [formik] ); const emptyLabels = labels.length === 0; return ( {!emptyLabels && ( {labels.map((label: unknown, index: number) => ( ))} )} {emptyLabels && (

The service does not have any labels.
Click "+ New Label" to add a new label.

)} New Label
); }; export default Labels;