Files
standardnotes-app-web/packages/web/src/javascripts/setViewportHeightWithFallback.tsx
2023-06-26 19:37:49 +05:30

18 lines
615 B
TypeScript

import { log, LoggingDomain } from './Logging'
/**
* @param forceTriggerResizeEvent On iPad at least, setProperty(ViewportHeightKey) does not trigger a resize event
*/
export const setCustomViewportHeight = (height: number, suffix: 'px' | 'vh', forceTriggerResizeEvent = false) => {
const value = `${height}${suffix}`
log(LoggingDomain.Viewport, `setCustomViewportHeight: ${value}`)
document.documentElement.style.setProperty('--ios-viewport-height', value)
document.body.style.height = 'var(--ios-viewport-height)'
if (forceTriggerResizeEvent) {
window.dispatchEvent(new Event('resize'))
}
}