Skip to content

Commit

Permalink
migrate VisualViewport to ts
Browse files Browse the repository at this point in the history
  • Loading branch information
pasyukevich committed Sep 1, 2023
1 parent 12a6f87 commit ebcd7ea
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import AddViewportResizeListener from './types';

/**
* Visual Viewport is not available on native, so return an empty function.
*
* @returns {Function}
*/
function addViewportResizeListener() {
return () => {};
}
const addViewportResizeListener: AddViewportResizeListener = () => () => {};

export default addViewportResizeListener;
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import AddViewportResizeListener from './types';

/**
* Add a visual viewport resize listener if available. Return a function to remove the listener.
*
* @param {Function} onViewportResize
* @returns {Function}
*/
function addViewportResizeListener(onViewportResize) {
const addViewportResizeListener: AddViewportResizeListener = (onViewportResize) => {
if (!window.visualViewport) {
return () => {};
}

window.visualViewport.addEventListener('resize', onViewportResize);
return () => window.visualViewport.removeEventListener('resize', onViewportResize);
}
return () => window.visualViewport?.removeEventListener('resize', onViewportResize);
};

export default addViewportResizeListener;
3 changes: 3 additions & 0 deletions src/libs/VisualViewport/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
type AddViewportResizeListener = (onViewportResize: (e: Event) => void) => () => void;

export default AddViewportResizeListener;

0 comments on commit ebcd7ea

Please sign in to comment.