import React from 'react'; import { Box, Text, IconButton, Icon, Icons, Scroll, Switch, Button, color } from 'folds'; import { Page, PageContent, PageHeader } from '../../../components/page'; import { SequenceCard } from '../../../components/sequence-card'; import { SequenceCardStyle } from '../styles.css'; import { SettingTile } from '../../../components/setting-tile'; import { useSetting } from '../../../state/hooks/settings'; import { settingsAtom } from '../../../state/settings'; import { usePermissionState } from '../../../hooks/usePermission'; import { AllMessagesNotifications } from './AllMessages'; import { SpecialMessagesNotifications } from './SpecialMessages'; import { KeywordMessagesNotifications } from './KeywordMessages'; import { IgnoredUserList } from './IgnoredUserList'; function SystemNotification() { const notifPermission = usePermissionState( 'notifications', window.Notification.permission === 'default' ? 'prompt' : window.Notification.permission ); const [showNotifications, setShowNotifications] = useSetting(settingsAtom, 'showNotifications'); const [isNotificationSounds, setIsNotificationSounds] = useSetting( settingsAtom, 'isNotificationSounds' ); const requestNotificationPermission = () => { window.Notification.requestPermission(); }; return ( System Notification permission is blocked. Please allow notification permission from browser address bar. ) : ( Show desktop notifications when message arrive. ) } after={ notifPermission === 'prompt' ? ( ) : ( ) } /> } /> ); } type NotificationsProps = { requestClose: () => void; }; export function Notifications({ requestClose }: NotificationsProps) { return ( Notifications ); }