// Copyright (C) 2017-2022 Smart code 203358507 const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const { useTranslation } = require('react-i18next'); const Icon = require('@stremio/stremio-icons/dom'); const { Button, Image } = require('stremio/common'); const styles = require('./styles'); const Addon = ({ className, id, name, version, logo, description, types, behaviorHints, installed, onToggle, onConfigure, onShare, dataset }) => { const { t } = useTranslation(); const toggleButtonOnClick = React.useCallback((event) => { if (typeof onToggle === 'function') { onToggle({ type: 'toggle', nativeEvent: event.nativeEvent, reactEvent: event, dataset: dataset }); } }, [onToggle, dataset]); const configureButtonOnClick = React.useCallback((event) => { if (typeof onConfigure === 'function') { onConfigure({ type: 'configure', nativeEvent: event.nativeEvent, reactEvent: event, dataset: dataset }); } }, [onConfigure, 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.useCallback(() => ( ), []); return ( : null } ); }; 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), behaviorHints: PropTypes.shape({ adult: PropTypes.bool, configurable: PropTypes.bool, configurationRequired: PropTypes.bool, p2p: PropTypes.bool, }), installed: PropTypes.bool, onToggle: PropTypes.func, onConfigure: PropTypes.func, onShare: PropTypes.func, dataset: PropTypes.object }; module.exports = Addon;