/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ import {PureComponent, Fragment} from 'react'; import {Logger} from '../fb-interfaces/Logger'; import {connect} from 'react-redux'; import {State as Store} from '../reducers/index'; import {ConnectedNotificationsTable} from '../NotificationsHub'; import {Button, colors, styled, FlexColumn} from '../ui'; import {clearAllNotifications} from '../reducers/notifications'; import {selectPlugin} from '../reducers/connections'; import React from 'react'; type StateFromProps = { deepLinkPayload: unknown; blacklistedPlugins: Array; blacklistedCategories: Array; }; type DispatchFromProps = { clearAllNotifications: () => void; selectPlugin: (payload: { selectedPlugin: string | null; selectedApp: string | null | undefined; deepLinkPayload: unknown; }) => any; }; type OwnProps = { logger: Logger; }; type Props = StateFromProps & DispatchFromProps & OwnProps; type State = {}; const Container = styled(FlexColumn)({ width: 0, flexGrow: 1, flexShrink: 1, backgroundColor: colors.white, }); class Notifications extends PureComponent { render() { const { blacklistedPlugins, blacklistedCategories, deepLinkPayload, logger, clearAllNotifications, selectPlugin, } = this.props; return ( ({ value, type: 'exclude', key: 'plugin', })), ...blacklistedCategories.map((value) => ({ value, type: 'exclude', key: 'category', })), ]} actions={ } /> ); } } export default connect( ({ connections: {deepLinkPayload}, notifications: {blacklistedPlugins, blacklistedCategories}, }) => ({ deepLinkPayload, blacklistedPlugins, blacklistedCategories, }), {clearAllNotifications, selectPlugin}, )(Notifications);