summaryrefslogtreecommitdiff
path: root/client/js/controls/post_content_control.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/js/controls/post_content_control.js')
-rw-r--r--client/js/controls/post_content_control.js45
1 files changed, 18 insertions, 27 deletions
diff --git a/client/js/controls/post_content_control.js b/client/js/controls/post_content_control.js
index 8cbd5d8..0023854 100644
--- a/client/js/controls/post_content_control.js
+++ b/client/js/controls/post_content_control.js
@@ -29,6 +29,9 @@ class PostContentControl {
this._post.addEventListener("changeContent", (e) =>
this._evtPostContentChange(e)
);
+
+ // Always disable overlay, because I'm not going to use notes
+ this.disableOverlay();
}
disableOverlay() {
@@ -93,46 +96,34 @@ class PostContentControl {
}
_resize(width, height) {
- const resizeListenerNodes = [this._postContentNode].concat(
- ...this._postContentNode.querySelectorAll(".resize-listener")
- );
+ this._resizePostContent(width, height);
+ const resizeListenerNodes = this._postContentNode.querySelectorAll(".resize-listener");
for (let node of resizeListenerNodes) {
node.style.width = width + "px";
node.style.height = height + "px";
}
}
- _refreshSize() {
- if (window.innerWidth <= 800) {
- const buttons = document.querySelector(".sidebar > .buttons");
- if (buttons) {
- const content = document.querySelector(".content");
- content.insertBefore(buttons, content.querySelector(".post-container + *"));
-
- const afterControls = document.querySelector(".content > .after-mobile-controls");
- if (afterControls) {
- afterControls.parentElement.parentElement.appendChild(afterControls);
- }
- }
- } else {
- const buttons = document.querySelector(".content > .buttons");
- if (buttons) {
- const sidebar = document.querySelector(".sidebar");
- sidebar.insertBefore(buttons, sidebar.firstElementChild);
- }
-
- const afterControls = document.querySelector(".content + .after-mobile-controls");
- if (afterControls) {
- document.querySelector(".content").appendChild(afterControls);
- }
+ _resizePostContent(width, height) {
+ // on mobile don't make the content node narrower than the screen, so that small images are centered
+ // use browser width to accommodate Android's on-screen buttons in landscape mode
+ if (window.innerWidth < 1000) {
+ width = Math.max(window.innerWidth, width);
}
+ this._postContentNode.style.width = width + "px";
+ this._postContentNode.style.height = height + "px";
+ }
+ _refreshSize() {
this._currentFitFunction();
}
_install() {
this._reinstall();
- optimizedResize.add(() => this._refreshSize());
+ // Don't auto-resize on mobile, to prevent size jerk when scrolling
+ if (window.innerWidth > 1000) {
+ optimizedResize.add(() => this._refreshSize());
+ }
views.monitorNodeRemoval(this._hostNode, () => {
this._uninstall();
});