Browse Source

:iphone: fix https://github.com/siyuan-note/siyuan/issues/6646

Vanessa 2 years ago
parent
commit
1f391d7f50

+ 6 - 6
app/src/asset/index.ts

@@ -316,7 +316,7 @@ export class Asset extends Model {
         </div>
       </div>
       <div id="dialogContainer">
-        <dialog id="passwordDialog">
+        <div class="dialog" id="passwordDialog">
             <div class="row">
               <p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p>
             </div>
@@ -327,8 +327,8 @@ export class Asset extends Model {
               <button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button>
               <button id="passwordSubmit" class="overlayButton"><span data-l10n-id="password_ok">OK</span></button>
             </div>
-        </dialog>
-        <dialog id="documentPropertiesDialog">
+        </div>
+        <div class="dialog" id="documentPropertiesDialog">
             <div class="row">
               <span>${window.siyuan.languages.fileName}</span> <p id="fileNameField">-</p>
             </div>
@@ -377,8 +377,8 @@ export class Asset extends Model {
             <div class="buttonRow">
               <button id="documentPropertiesClose" class="b3-button"><span>${window.siyuan.languages.close}</span></button>
             </div>
-        </dialog>
-        <dialog id="printServiceOverlay">
+        </div>
+        <div class="dialog" id="printServiceOverlay">
             <div class="row">
               <span data-l10n-id="print_progress_message">Preparing document for printing…</span>
             </div>
@@ -389,7 +389,7 @@ export class Asset extends Model {
             <div class="buttonRow">
               <button id="printCancel" class="overlayButton"><span data-l10n-id="print_progress_close">Cancel</span></button>
             </div>
-        </dialog>
+        </div>
       </div>
       <div class="pdf__util b3-menu fn__none pdf__util--hide">
         <div class="fn__flex" style="padding: 0 4px">

+ 4 - 2
app/src/asset/pdf/overlay_manager.js

@@ -93,7 +93,8 @@ class OverlayManager {
       }
     }
     this.#active = dialog;
-    dialog.showModal();
+    // NOTE
+    dialog.classList.add("dialog--open")
   }
 
   /**
@@ -109,7 +110,8 @@ class OverlayManager {
     } else if (this.#active !== dialog) {
       throw new Error("Another overlay is currently active.");
     }
-    dialog.close();
+    // NOTE
+    dialog.classList.remove("dialog--open")
     this.#active = null;
   }
 }

+ 23 - 2
app/src/assets/scss/pdf/_pdf.scss

@@ -599,24 +599,46 @@ a:focus > .thumbnail > .thumbnailSelectionRing,
   border: 0 none !important;
 }
 
-#dialogContainer > dialog {
+#dialogContainer > .dialog {
   padding: 8px;
   box-shadow: var(--b3-dialog-shadow);
   background-color: var(--b3-menu-background);
   border-radius: 4px;
   width: 520px;
   border: 0;
+  position: absolute;
+  inset-inline-start: 0px;
+  inset-inline-end: 0px;
+  height: fit-content;
+  margin: auto;
+  display: none;
+
+
+  &--open {
+    position: fixed;
+    inset-block-start: 0px;
+    inset-block-end: 0px;
+    max-width: calc((100% - 6px) - 2em);
+    max-height: calc((100% - 6px) - 2em);
+    user-select: text;
+    display: block;
+    z-index: 100;
+    overflow: auto;
+  }
 
   & > .row {
     display: table-row;
 
     & > span {
       white-space: nowrap;
+      color: var(--b3-theme-on-surface);
+      padding-right: 8px;
     }
   }
 
   & > .row > * {
     display: table-cell;
+    color: var(--b3-theme-on-background);
   }
 
   .toolbarField {
@@ -641,7 +663,6 @@ a:focus > .thumbnail > .thumbnailSelectionRing,
   }
 }
 
-
 #passwordOverlay > dialog {
   text-align: center;
 }

+ 2 - 1
app/src/layout/status.ts

@@ -9,6 +9,7 @@ import {mountHelp} from "../util/mount";
 import {getCurrentWindow} from "@electron/remote";
 /// #endif
 /// #endif
+import {isBrowser} from "../util/functions";
 
 export const initStatus = () => {
     /// #if !MOBILE
@@ -33,7 +34,7 @@ export const initStatus = () => {
     <div class="b3-menu fn__none" style="bottom: 32px;right: 5px">
         <button id="barFeedback" class="b3-menu__item"><svg class="b3-menu__icon""><use xlink:href="#iconHeart"></use></svg><span class="b3-menu__label">${window.siyuan.languages.feedback}</span></button>
         <button id="barLock" class="b3-menu__item"><svg class="b3-menu__icon""><use xlink:href="#iconLock"></use></svg><span class="b3-menu__label">${window.siyuan.languages.lockScreen}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.general.lockScreen.custom)}</span></button>
-        <button id="barDebug" class="b3-menu__item"><svg class="b3-menu__icon""><use xlink:href="#iconBug"></use></svg><span class="b3-menu__label">${window.siyuan.languages.debug}</span></button>
+        <button id="barDebug" class="b3-menu__item${isBrowser() ? " fn__none" : ""}"><svg class="b3-menu__icon""><use xlink:href="#iconBug"></use></svg><span class="b3-menu__label">${window.siyuan.languages.debug}</span></button>
     </div>
 </div>`;
     const dockElement = document.getElementById("barDock");

+ 1 - 1
app/src/util/assets.ts

@@ -265,7 +265,7 @@ const watchTheme = (data: { init: boolean, OSTheme: string }) => {
             } else if (window.siyuan.config.system.container === "android" && window.JSAndroid) {
                 window.JSAndroid.changeStatusBarColor(backgroundColor, mode);
             }
-        }, Constants.TIMEOUT_BLOCKLOAD); // 移动端需要加载完才可以获取到颜色
+        }, 500); // 移动端需要加载完才可以获取到颜色
     }
     if (data.init) {
         if (window.siyuan.config.appearance.modeOS && (