import React, { useState, useContext } from 'react'; import { message, Tooltip, ConfigProvider } from 'antd'; import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons'; import { translation } from '../../../utils'; const FullScreenIcon: React.FC<{ fullScreen: () => Promise; }> = props => { const configCtx = useContext(ConfigProvider.ConfigContext); const t = translation(configCtx); const [isFullScreen, setFullScreen] = useState(false); const { fullScreen } = props; return isFullScreen ? ( { document.exitFullscreen(); setFullScreen(false); }} /> ) : ( { if (!document.fullscreenEnabled) { message.warning(t('cannot_full_screen')); return; } if (!document.fullscreenElement) { setFullScreen(true); fullScreen().catch((err: any) => message.error(err.message)); } }} /> ); }; export default FullScreenIcon;