// Copyright (C) 2017-2020 Smart code 203358507 const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('stremio-icons/dom'); const { Button, Image } = require('stremio/common'); const styles = require('./styles'); const Addon = ({ className, id, name, version, logo, description, types, installed, onToggle, onShare, dataset }) => { const toggleButtonOnClick = React.useCallback((event) => { if (typeof onToggle === 'function') { onToggle({ type: 'toggle', nativeEvent: event.nativeEvent, reactEvent: event, dataset: dataset }); } }, [onToggle, dataset]); const shareButtonOnClick = React.useCallback((event) => { if (typeof onShare === 'function') { onShare({ type: 'share', nativeEvent: event.nativeEvent, reactEvent: event, dataset: dataset }); } }, [onShare, dataset]); const onKeyDown = React.useCallback((event) => { if (event.key === 'Enter' && typeof onToggle === 'function') { onToggle({ type: 'toggle', nativeEvent: event.nativeEvent, reactEvent: event, dataset: dataset }); } }, [onToggle, dataset]); const renderLogoFallback = React.useMemo(() => () => { return ( ); }, []); return ( ); }; Addon.propTypes = { className: PropTypes.string, id: PropTypes.string, name: PropTypes.string, version: PropTypes.string, logo: PropTypes.string, description: PropTypes.string, types: PropTypes.arrayOf(PropTypes.string), installed: PropTypes.bool, onToggle: PropTypes.func, onShare: PropTypes.func, dataset: PropTypes.object }; module.exports = Addon;