import { useCallback } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { useAppDispatch } from '@/mastodon/store'; import CloseIcon from '@/material-icons/400-24px/close.svg?react'; import UnfoldMoreIcon from '@/material-icons/400-24px/unfold_more.svg?react'; import { requestBrowserPermission } from 'mastodon/actions/notifications'; import { changeSetting } from 'mastodon/actions/settings'; import { Button } from 'mastodon/components/button'; import { messages as columnHeaderMessages } from 'mastodon/components/column_header'; import { Icon } from 'mastodon/components/icon'; import { IconButton } from 'mastodon/components/icon_button'; const messages = defineMessages({ close: { id: 'lightbox.close', defaultMessage: 'Close' }, }); const NotificationsPermissionBanner: React.FC = () => { const intl = useIntl(); const dispatch = useAppDispatch(); const handleClick = useCallback(() => { dispatch(requestBrowserPermission()); }, [dispatch]); const handleClose = useCallback(() => { dispatch(changeSetting(['notifications', 'dismissPermissionBanner'], true)); }, [dispatch]); return (

), }} />

); }; // eslint-disable-next-line import/no-default-export export default NotificationsPermissionBanner;