import { ChromeOutlined, SoundOutlined } from '@ant-design/icons';
import { useBreakpoint } from '@ant-design/pro-components';
import { getLocale, Icon } from '@umijs/max';
import {
Alert,
Divider,
Flex,
Image,
Modal,
Popover,
Space,
Tabs,
Typography,
} from 'antd';
import { useCallback, useEffect, useState } from 'react';
import useRichI18n from '@/hooks/useRichI18n';
import { checkAudioPermission } from '@/utils';
import bus from '@/utils/eventBus';
import { $t } from '@/utils/i18n';
const { Paragraph } = Typography;
const VoiceCheck: React.FC = () => {
const { richFormat } = useRichI18n();
const screens = useBreakpoint();
const [visible, setVisible] = useState(false);
const [hasAudioPermission, setHasAudioPermission] = useState(true);
const checkAudio = useCallback((showPopup?: boolean) => {
checkAudioPermission().then((hasPermission) => {
setHasAudioPermission(hasPermission);
});
showPopup && setVisible(true);
}, []);
const openPopup = useCallback(() => setVisible(true), []);
useEffect(() => {
checkAudio();
bus.on('check-voice-permission', checkAudio);
bus.on('open-voice-popup', openPopup);
// document.addEventListener('click', () => checkAudio());
return () => {
bus.off('check-voice-permission', checkAudio);
bus.off('open-voice-popup', openPopup);
// document.removeEventListener('click', () => checkAudio());
};
}, []);
const browserGuides = [
{
key: 'chrome',
label: (