2021-06-25 00:47:16 +08:00
|
|
|
import React, { useContext } from 'react';
|
2019-04-24 22:20:53 +08:00
|
|
|
import FullscreenButtonComponent from './component';
|
2019-07-27 00:48:51 +08:00
|
|
|
import FullscreenService from './service';
|
2021-08-05 19:03:24 +08:00
|
|
|
import LayoutContext from '../layout/context';
|
2019-04-24 22:20:53 +08:00
|
|
|
|
2021-07-06 22:17:00 +08:00
|
|
|
const FullscreenButtonContainer = (props) => <FullscreenButtonComponent {...props} />;
|
2019-04-24 22:20:53 +08:00
|
|
|
|
|
|
|
export default (props) => {
|
2021-07-06 22:17:00 +08:00
|
|
|
const isIphone = !!(navigator.userAgent.match(/iPhone/i));
|
2021-06-25 00:47:16 +08:00
|
|
|
|
2021-08-05 19:03:24 +08:00
|
|
|
const layoutContext = useContext(LayoutContext);
|
|
|
|
const { layoutContextState, layoutContextDispatch } = layoutContext;
|
|
|
|
const { fullscreen } = layoutContextState;
|
2021-07-13 03:47:06 +08:00
|
|
|
const { element: currentElement, group: currentGroup } = fullscreen;
|
2021-08-05 12:22:07 +08:00
|
|
|
const isFullscreen = !!currentElement;
|
2021-06-25 00:47:16 +08:00
|
|
|
|
2019-04-24 22:20:53 +08:00
|
|
|
return (
|
2021-07-06 22:17:00 +08:00
|
|
|
<FullscreenButtonContainer
|
|
|
|
{...props}
|
|
|
|
{...{
|
|
|
|
isIphone,
|
|
|
|
isFullscreen,
|
|
|
|
currentElement,
|
2021-07-13 03:47:06 +08:00
|
|
|
currentGroup,
|
2021-08-05 19:03:24 +08:00
|
|
|
layoutContextDispatch,
|
2021-07-06 22:17:00 +08:00
|
|
|
}}
|
|
|
|
/>
|
2019-04-24 22:20:53 +08:00
|
|
|
);
|
|
|
|
};
|