From d39439d549a003880933d730f80c56eaf2cf20fa Mon Sep 17 00:00:00 2001 From: Michael Serajnik Date: Thu, 5 Apr 2018 19:40:53 +0200 Subject: [PATCH] client/posts: fix viewport height calculation on iOS --- client/js/views/post_main_view.js | 10 ++++------ client/package-lock.json | 5 +++++ client/package.json | 1 + 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/client/js/views/post_main_view.js b/client/js/views/post_main_view.js index 3aa6c4f..141de71 100644 --- a/client/js/views/post_main_view.js +++ b/client/js/views/post_main_view.js @@ -1,5 +1,6 @@ 'use strict'; +const iosCorrectedInnerHeight = require('ios-inner-height'); const router = require('../router.js'); const views = require('../util/views.js'); const uri = require('../util/uri.js'); @@ -26,23 +27,20 @@ class PostMainView { views.replaceContent(this._hostNode, sourceNode); views.syncScrollPosition(); - const postViewNode = document.body.querySelector('.content-wrapper'); const topNavigationNode = document.body.querySelector('#top-navigation'); - const margin = ( - postViewNode.getBoundingClientRect().top - - topNavigationNode.getBoundingClientRect().height); - this._postContentControl = new PostContentControl( postContainerNode, ctx.post, () => { + const margin = sidebarNode.getBoundingClientRect().left; + return [ window.innerWidth - postContainerNode.getBoundingClientRect().left - margin, - window.innerHeight - + iosCorrectedInnerHeight() - topNavigationNode.getBoundingClientRect().height - margin * 2, ]; diff --git a/client/package-lock.json b/client/package-lock.json index d54d15b..f15845e 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1482,6 +1482,11 @@ "loose-envify": "1.3.1" } }, + "ios-inner-height": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ios-inner-height/-/ios-inner-height-1.0.3.tgz", + "integrity": "sha512-GayJWoFxYHDx/gkfz4nIxNdsqB3nAJQHKV5pDBvig6he8+NxBSYxN+D7oarbqZfW2p6uera3q9NDr4Jgdafiog==" + }, "is-buffer": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", diff --git a/client/package.json b/client/package.json index c482147..e7fac03 100644 --- a/client/package.json +++ b/client/package.json @@ -16,6 +16,7 @@ "font-awesome": "^4.6.1", "glob": "^7.1.2", "html-minifier": "^1.3.1", + "ios-inner-height": "^1.0.3", "js-cookie": "^2.2.0", "js-yaml": "^3.10.0", "marked": "^0.3.9",