fix for viewport in mobile browser

This commit is contained in:
Roland Osborne 2022-08-07 17:36:42 -07:00
parent 1bea7baf0c
commit 5f2391ce7f
3 changed files with 26 additions and 8 deletions

View File

@ -3,5 +3,5 @@ import styled from 'styled-components';
export const AppWrapper = styled.div`
position: absolute;
width: 100vw;
height: 100vh;
height: calc(100vh - calc(100vh - 100%));
`;

View File

@ -13,23 +13,27 @@ export function useViewportContext() {
const handleResize = () => {
if (window.innerWidth < SMALL_MEDIUM) {
updateState({ display: 'small' });
updateState({ display: 'small', width: window.innerWidth, height: window.innerHeight });
}
else if (window.innerWidth < MEDIUM_LARGE) {
updateState({ display: 'medium' });
updateState({ display: 'medium', width: window.innerWidth, height: window.innerHeight });
}
else if (window.innerWidth < LARGE_XLARGE) {
updateState({ display: 'large' });
updateState({ display: 'large', width: window.innerWidth, height: window.innerHeight });
}
else {
updateState({ display: 'xlarge' });
updateState({ display: 'xlarge', width: window.innerWidth, height: window.innerHeight });
}
};
useEffect(() => {
handleResize();
window.addEventListener('resize', handleResize)
return () => window.removeEventListener('resize', handleResize)
window.addEventListener('resize', handleResize);
window.addEventListener('orientationchange', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
window.removeEventListener('orientationchange', handleResize);
}
}, []);
return { state, actions: {} }

View File

@ -1,4 +1,18 @@
import { useContext } from 'react';
import { Button } from 'antd';
import { AppContext } from 'context/AppContext';
import { ViewportContext } from 'context/ViewportContext';
export function Profile() {
return <></>
const app = useContext(AppContext);
const viewport = useContext(ViewportContext);
return (
<div>
<Button type="primary" onClick={() => app.actions.logout()}>LOGOUT</Button>
<div>{ JSON.stringify(viewport.state) }</div>
</div>
);
}