import PropTypes from "prop-types"; import { PureComponent } from "react"; import { defineMessages, injectIntl, FormattedMessage } from "react-intl"; import { connect } from "react-redux"; import { requestBrowserPermission } from "mastodon/actions/notifications"; import { changeSetting } from "mastodon/actions/settings"; import Button from "mastodon/components/button"; import { Icon } from "mastodon/components/icon"; import { IconButton } from "mastodon/components/icon_button"; const messages = defineMessages({ close: { id: "lightbox.close", defaultMessage: "Close" }, }); class NotificationsPermissionBanner extends PureComponent { static propTypes = { dispatch: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, }; handleClick = () => { this.props.dispatch(requestBrowserPermission()); }; handleClose = () => { this.props.dispatch(changeSetting(["notifications", "dismissPermissionBanner"], true)); }; render () { const { intl } = this.props; return (