11import classNames from "classnames" ;
2+ import { isEmpty } from "lodash" ;
3+ import { useMemo } from "react" ;
24import { ReactComponent as CheckIcon } from "../../images/icons/check.svg" ;
35import { ReactComponent as CrossIcon } from "../../images/icons/cross.svg" ;
46import {
@@ -16,6 +18,11 @@ function ConnectorDetailsHeader({
1618 availableFeatures,
1719 unavailableFeatures,
1820} : Readonly < ConnectorDetailsHeaderProps > ) {
21+ const showSubHeading = useMemo (
22+ ( ) => ! isEmpty ( availableFeatures ) || ! isEmpty ( unavailableFeatures ) ,
23+ [ availableFeatures , unavailableFeatures ]
24+ ) ;
25+
1926 return (
2027 < div className = { styles . Container } >
2128 < div className = { styles . Heading } >
@@ -31,32 +38,37 @@ function ConnectorDetailsHeader({
3138 </ div >
3239 </ div >
3340 </ div >
34- < div className = { styles . SubHeading } >
35- < div className = { styles . FeaturesHeading } > Feature List</ div >
36- < div className = { styles . FeaturesList } >
37- { availableFeatures . map ( ( feature ) => (
38- < div
39- className = { classNames ( styles . FeatureTag , styles . AvailableFeature ) }
40- key = { feature }
41- >
42- { feature }
43- < CheckIcon height = { 12 } />
44- </ div >
45- ) ) }
46- { unavailableFeatures . map ( ( feature ) => (
47- < div
48- className = { classNames (
49- styles . FeatureTag ,
50- styles . UnavailableFeature
51- ) }
52- key = { feature }
53- >
54- { feature }
55- < CrossIcon height = { 14 } />
56- </ div >
57- ) ) }
41+ { showSubHeading && (
42+ < div className = { styles . SubHeading } >
43+ < div className = { styles . FeaturesHeading } > Feature List</ div >
44+ < div className = { styles . FeaturesList } >
45+ { availableFeatures . map ( ( feature ) => (
46+ < div
47+ className = { classNames (
48+ styles . FeatureTag ,
49+ styles . AvailableFeature
50+ ) }
51+ key = { feature }
52+ >
53+ { feature }
54+ < CheckIcon height = { 12 } />
55+ </ div >
56+ ) ) }
57+ { unavailableFeatures . map ( ( feature ) => (
58+ < div
59+ className = { classNames (
60+ styles . FeatureTag ,
61+ styles . UnavailableFeature
62+ ) }
63+ key = { feature }
64+ >
65+ { feature }
66+ < CrossIcon height = { 14 } />
67+ </ div >
68+ ) ) }
69+ </ div >
5870 </ div >
59- </ div >
71+ ) }
6072 </ div >
6173 ) ;
6274}
0 commit comments