| 1 |
import { useEffect, useState } from "react"; |
| 2 |
|
| 3 |
/** |
| 4 |
* Component to filter its children based on pro version status of current plugin. |
| 5 |
* |
| 6 |
* @param {Object} props component properties |
| 7 |
* @param {boolean} props.proStatus pro version status, will be supplied via HOC |
| 8 |
* @param {Array | Function | string} props.children component children |
| 9 |
* @param {boolean} [props.invert=true] invert filter, if true, children will be rendered only if proStatus is false |
| 10 |
* @class |
| 11 |
*/ |
| 12 |
function ProFilter({ proStatus = false, children, invert = true }) { |
| 13 |
const [finalStatus, setFinalStatus] = useState(false); |
| 14 |
|
| 15 |
/** |
| 16 |
* useEffect hook. |
| 17 |
*/ |
| 18 |
useEffect(() => { |
| 19 |
setFinalStatus(invert ? !proStatus : proStatus); |
| 20 |
}, []); |
| 21 |
|
| 22 |
return finalStatus && children; |
| 23 |
} |
| 24 |
|
| 25 |
/** |
| 26 |
* @module ProFilter |
| 27 |
*/ |
| 28 |
export default ProFilter; |
| 29 |
|