mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-16 20:18:06 +01:00
This commit is contained in:
parent
d47db0ca8e
commit
1caaf5afc9
12 changed files with 63 additions and 29 deletions
|
|
@ -7,7 +7,13 @@ import {fetchPost} from "../util/fetch";
|
|||
import {setAccessAuthCode} from "./util/about";
|
||||
import {exportLayout} from "../layout/util";
|
||||
import {exitSiYuan, processSync} from "../dialog/processSystem";
|
||||
import {isInAndroid, isInHarmony, isInIOS, isIPad, isMac, openByMobile, writeText} from "../protyle/util/compatibility";
|
||||
import {
|
||||
isInMobileApp,
|
||||
isIPad,
|
||||
isMac,
|
||||
openByMobile,
|
||||
writeText
|
||||
} from "../protyle/util/compatibility";
|
||||
import {showMessage} from "../dialog/message";
|
||||
import {Dialog} from "../dialog";
|
||||
import {confirmDialog} from "../dialog/confirmDialog";
|
||||
|
|
@ -106,7 +112,7 @@ export const about = {
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b3-label config__item${(window.siyuan.config.readonly || (isBrowser() && !isInIOS() && !isInAndroid() && !isIPad() && !isInHarmony())) ? " fn__none" : ""}">
|
||||
<div class="b3-label config__item${(window.siyuan.config.readonly || (isBrowser() && !isInMobileApp() && !isIPad())) ? " fn__none" : ""}">
|
||||
<div class="fn__flex">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.about5}
|
||||
|
|
@ -126,7 +132,7 @@ export const about = {
|
|||
<input class="b3-switch fn__flex-center" id="lockScreenMode" type="checkbox"${window.siyuan.config.system.lockScreenMode === 1 ? " checked" : ""}>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b3-label config__item${(isBrowser() && !isInAndroid() && !isInIOS() && !isInHarmony()) ? " fn__none" : " fn__flex"}">
|
||||
<div class="b3-label config__item${(isBrowser() && !isInMobileApp()) ? " fn__none" : " fn__flex"}">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.about2}
|
||||
<div class="b3-label__text">${window.siyuan.languages.about3.replace("${port}", location.port)}</div>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import {
|
|||
} from "./dialog/processSystem";
|
||||
import {initMessage, showMessage} from "./dialog/message";
|
||||
import {getAllTabs} from "./layout/getAll";
|
||||
import {getLocalStorage, isChromeBrowser} from "./protyle/util/compatibility";
|
||||
import {getLocalStorage, isChromeBrowser, isInMobileApp} from "./protyle/util/compatibility";
|
||||
import {getSearch} from "./util/functions";
|
||||
import {checkPublishServiceClosed} from "./util/processMessage";
|
||||
import {hideAllElements} from "./protyle/ui/hideElements";
|
||||
|
|
@ -213,7 +213,7 @@ export class App {
|
|||
setTitle(window.siyuan.languages.siyuanNote);
|
||||
initMessage();
|
||||
/// #if BROWSER && !MOBILE
|
||||
if (!window.siyuan.config.readonly && !window.siyuan.isPublish && !isChromeBrowser()) {
|
||||
if (!isInMobileApp() && !window.siyuan.config.readonly && !window.siyuan.isPublish && !isChromeBrowser()) {
|
||||
showMessage(window.siyuan.languages.useChrome, 0, "error");
|
||||
}
|
||||
/// #endif
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
import {getWorkspaceName} from "../util/noRelyPCFunction";
|
||||
import {isInAndroid, isInHarmony, isInIOS, setStorageVal, updateHotkeyTip} from "../protyle/util/compatibility";
|
||||
import {
|
||||
isInMobileApp,
|
||||
setStorageVal,
|
||||
updateHotkeyTip
|
||||
} from "../protyle/util/compatibility";
|
||||
import {exitSiYuan, processSync} from "../dialog/processSystem";
|
||||
import {goBack, goForward} from "../util/backForward";
|
||||
import {syncGuide} from "../sync/syncGuide";
|
||||
|
|
@ -54,7 +58,7 @@ export const initBar = (app: App) => {
|
|||
<div id="barMode" class="toolbar__item ariaLabel${window.siyuan.config.readonly ? " fn__none" : ""}" aria-label="${window.siyuan.languages.appearanceMode}">
|
||||
<svg><use xlink:href="#icon${window.siyuan.config.appearance.modeOS ? "Mode" : (window.siyuan.config.appearance.mode === 0 ? "Light" : "Dark")}"></use></svg>
|
||||
</div>
|
||||
<div id="barExit" class="ft__error toolbar__item ariaLabel${(isInIOS() || isInAndroid() || isInHarmony()) ? "" : " fn__none"}" aria-label="${window.siyuan.languages.safeQuit}">
|
||||
<div id="barExit" class="ft__error toolbar__item ariaLabel${isInMobileApp() ? "" : " fn__none"}" aria-label="${window.siyuan.languages.safeQuit}">
|
||||
<svg><use xlink:href="#iconQuit"></use></svg>
|
||||
</div>
|
||||
<div id="barMore" class="toolbar__item ariaLabel" aria-label="${window.siyuan.languages.more}">
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import {getSearch, isMobile, isValidCustomAttrName} from "../util/functions";
|
|||
import {isLocalPath, movePathTo, moveToPath, pathPosix} from "../util/pathName";
|
||||
import {MenuItem} from "./Menu";
|
||||
import {onExport, saveExport} from "../protyle/export";
|
||||
import {isInAndroid, isInHarmony, isInIOS, openByMobile, writeText} from "../protyle/util/compatibility";
|
||||
import {isInAndroid, isInHarmony, isInIOS, isInMobileApp, openByMobile, writeText} from "../protyle/util/compatibility";
|
||||
import {fetchPost, fetchSyncPost} from "../util/fetch";
|
||||
import {hideMessage, showMessage} from "../dialog/message";
|
||||
import {Dialog} from "../dialog";
|
||||
|
|
@ -785,7 +785,7 @@ export const exportMd = (id: string) => {
|
|||
id: "exportPDF",
|
||||
label: window.siyuan.languages.print,
|
||||
icon: "iconPDF",
|
||||
ignore: !isInAndroid() && !isInHarmony() && !isInIOS(),
|
||||
ignore: !isInMobileApp(),
|
||||
click: () => {
|
||||
const msgId = showMessage(window.siyuan.languages.exporting);
|
||||
const localData = window.siyuan.storage[Constants.LOCAL_EXPORTPDF];
|
||||
|
|
|
|||
|
|
@ -7,7 +7,14 @@ import {getOpenNotebookCount, originalPath, pathPosix, useShell} from "../util/p
|
|||
import {fetchNewDailyNote, mountHelp, newDailyNote} from "../util/mount";
|
||||
import {fetchPost} from "../util/fetch";
|
||||
import {Constants} from "../constants";
|
||||
import {isInAndroid, isInHarmony, isInIOS, isIPad, setStorageVal, writeText} from "../protyle/util/compatibility";
|
||||
import {
|
||||
isInAndroid,
|
||||
isInHarmony,
|
||||
isInMobileApp,
|
||||
isIPad,
|
||||
setStorageVal,
|
||||
writeText
|
||||
} from "../protyle/util/compatibility";
|
||||
import {openCard} from "../card/openCard";
|
||||
import {openSetting} from "../config";
|
||||
import {getAllDocks} from "../layout/getAll";
|
||||
|
|
@ -318,7 +325,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
});
|
||||
/// #endif
|
||||
if (!isBrowser() || isInIOS() || isInAndroid() || isInHarmony()) {
|
||||
if (!isBrowser() || isInMobileApp()) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "workspaceList",
|
||||
label: window.siyuan.languages.workspaceList,
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ import {activeBlur, hideKeyboardToolbar, showKeyboardToolbar} from "./util/keybo
|
|||
import {
|
||||
getLocalStorage,
|
||||
isChromeBrowser,
|
||||
isInAndroid,
|
||||
isInHarmony,
|
||||
isInIOS,
|
||||
isInMobileApp,
|
||||
writeText
|
||||
} from "../protyle/util/compatibility";
|
||||
import {getCurrentEditor, openMobileFileById} from "./editor";
|
||||
|
|
@ -195,7 +193,7 @@ class App {
|
|||
}
|
||||
}
|
||||
});
|
||||
if (!isInAndroid() && !isInHarmony() && !isInIOS && isChromeBrowser()) {
|
||||
if (!isInMobileApp() && isChromeBrowser()) {
|
||||
document.querySelector('meta[name="viewport"]').setAttribute("content", "width=device-width, height=device-height, interactive-widget=resizes-content, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover");
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import {App} from "../../index";
|
|||
import {
|
||||
isDisabledFeature,
|
||||
isHuawei,
|
||||
isInAndroid,
|
||||
isInHarmony,
|
||||
isInIOS,
|
||||
isInMobileApp,
|
||||
isIPhone
|
||||
} from "../../protyle/util/compatibility";
|
||||
import {newFile} from "../../util/newFile";
|
||||
|
|
@ -98,8 +96,8 @@ export const initRightMenu = (app: App) => {
|
|||
<div class="b3-menu__item${window.siyuan.config.readonly ? " fn__none" : ""}" id="menuHistory">
|
||||
<svg class="b3-menu__icon"><use xlink:href="#iconHistory"></use></svg><span class="b3-menu__label">${window.siyuan.languages.dataHistory}</span>
|
||||
</div>
|
||||
<div class="b3-menu__separator${(isInAndroid() || isInIOS() || isInHarmony()) ? "" : " fn__none"}"></div>
|
||||
<div class="b3-menu__item b3-menu__item--warning${(isInAndroid() || isInIOS() || isInHarmony()) ? "" : " fn__none"}" id="menuSafeQuit">
|
||||
<div class="b3-menu__separator${isInMobileApp() ? "" : " fn__none"}"></div>
|
||||
<div class="b3-menu__item b3-menu__item--warning${isInMobileApp() ? "" : " fn__none"}" id="menuSafeQuit">
|
||||
<svg class="b3-menu__icon"><use xlink:href="#iconQuit"></use></svg><span class="b3-menu__label">${window.siyuan.languages.safeQuit}</span>
|
||||
</div>
|
||||
<div class="b3-menu__separator"></div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@ import {Dialog} from "../../dialog";
|
|||
import {fetchPost} from "../../util/fetch";
|
||||
import {confirmDialog} from "../../dialog/confirmDialog";
|
||||
import {showMessage} from "../../dialog/message";
|
||||
import {isInAndroid, isInHarmony, isInIOS, isIPad, openByMobile, writeText} from "../../protyle/util/compatibility";
|
||||
import {
|
||||
isInMobileApp,
|
||||
isIPad,
|
||||
openByMobile,
|
||||
writeText
|
||||
} from "../../protyle/util/compatibility";
|
||||
import {exitSiYuan, processSync} from "../../dialog/processSystem";
|
||||
import {pathPosix} from "../../util/pathName";
|
||||
import {openModel} from "../menu/model";
|
||||
|
|
@ -81,7 +86,7 @@ export const initAbout = () => {
|
|||
<div class="fn__hr"></div>
|
||||
<div class="b3-label__text">${window.siyuan.languages.about18}</div>
|
||||
</div>
|
||||
<div class="b3-label${(window.siyuan.config.readonly || (isBrowser() && !isInIOS() && !isInAndroid() && !isIPad() && !isInHarmony())) ? " fn__none" : ""}">
|
||||
<div class="b3-label${(window.siyuan.config.readonly || (isBrowser() && !isIPad() && !isInMobileApp())) ? " fn__none" : ""}">
|
||||
${window.siyuan.languages.about5}
|
||||
<div class="fn__hr"></div>
|
||||
<button class="b3-button b3-button--outline fn__block" id="authCode">
|
||||
|
|
@ -163,7 +168,7 @@ export const initAbout = () => {
|
|||
</button>
|
||||
<div class="b3-label__text">${window.siyuan.languages.systemLogTip}</div>
|
||||
</div>
|
||||
<div class="b3-label${(!window.siyuan.config.readonly && (isInAndroid() || isInIOS() || isInHarmony())) ? "" : " fn__none"}">
|
||||
<div class="b3-label${(!window.siyuan.config.readonly && isInMobileApp()) ? "" : " fn__none"}">
|
||||
${window.siyuan.languages.workspaceList}
|
||||
<div class="fn__hr"></div>
|
||||
<button id="openWorkspace" class="b3-button b3-button--outline fn__block">${window.siyuan.languages.openBy}...</button>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import {getThemeMode, setInlineStyle} from "../../util/assets";
|
|||
import {fetchPost, fetchSyncPost} from "../../util/fetch";
|
||||
import {Dialog} from "../../dialog";
|
||||
import {replaceLocalPath} from "../../editor/rename";
|
||||
import {getScreenWidth, isInAndroid, isInHarmony, isInIOS, setStorageVal} from "../util/compatibility";
|
||||
import {getScreenWidth, isInMobileApp, setStorageVal} from "../util/compatibility";
|
||||
import {getFrontend} from "../../util/functions";
|
||||
|
||||
const getPluginStyle = async () => {
|
||||
|
|
@ -762,7 +762,7 @@ export const onExport = async (data: IWebSocketData, filePath: string, servePath
|
|||
themeStyle = `<link rel="stylesheet" type="text/css" id="themeStyle" href="${servePath}appearance/themes/${themeName}/theme.css?${Constants.SIYUAN_VERSION}"/>`;
|
||||
}
|
||||
const screenWidth = getScreenWidth();
|
||||
const isInMobile = isInAndroid() || isInHarmony() || isInIOS();
|
||||
const isInMobile = isInMobileApp();
|
||||
const mobileHtml = isInMobile ? {
|
||||
js: `document.body.style.minWidth = "${screenWidth}px";`,
|
||||
css: `@page { size: A4; margin: 10mm 0 10mm 0; background-color: var(--b3-theme-background); }
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import {renderAVAttribute} from "./blockAttr";
|
|||
import {addClearButton} from "../../../util/addClearButton";
|
||||
import {escapeAriaLabel, escapeAttr, escapeHtml} from "../../../util/escape";
|
||||
import {electronUndo} from "../../undo";
|
||||
import {isInAndroid, isInHarmony, isInIOS} from "../../util/compatibility";
|
||||
import {isInMobileApp} from "../../util/compatibility";
|
||||
import {isMobile} from "../../../util/functions";
|
||||
import {renderGallery} from "./gallery/render";
|
||||
import {getFieldsByData, getViewIcon} from "./view";
|
||||
|
|
@ -466,7 +466,7 @@ export const avRender = async (element: Element, protyle: IProtyle, cb?: (data:
|
|||
if (e.getAttribute("data-render") === "true" || hasClosestByClassName(e, "av__gallery-content")) {
|
||||
continue;
|
||||
}
|
||||
if (isMobile() || isInIOS() || isInAndroid() || isInHarmony()) {
|
||||
if (isMobile() || isInMobileApp()) {
|
||||
e.classList.add("av--touch");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -350,6 +350,13 @@ export const isInIOS = () => {
|
|||
return window.siyuan.config.system.container === "ios" && window.webkit?.messageHandlers;
|
||||
};
|
||||
|
||||
export const isInMobileApp = () => {
|
||||
if (isInAndroid() || isInHarmony() || isInIOS()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
export const isInHarmony = () => {
|
||||
return window.siyuan.config.system.container === "harmony" && window.JSHarmony;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,7 +6,16 @@ import {getAllModels} from "../layout/getAll";
|
|||
import {exportLayout} from "../layout/util";
|
||||
/// #endif
|
||||
import {fetchPost} from "./fetch";
|
||||
import {isInAndroid, isInHarmony, isInIOS, isIPad, isIPhone, isMac, isWin11} from "../protyle/util/compatibility";
|
||||
import {
|
||||
isInAndroid,
|
||||
isInHarmony,
|
||||
isInIOS,
|
||||
isInMobileApp,
|
||||
isIPad,
|
||||
isIPhone,
|
||||
isMac,
|
||||
isWin11
|
||||
} from "../protyle/util/compatibility";
|
||||
import {setCodeTheme} from "../protyle/render/util";
|
||||
import {getBackend, getFrontend} from "./functions";
|
||||
|
||||
|
|
@ -363,7 +372,7 @@ const rgba2hex = (rgba: string) => {
|
|||
};
|
||||
|
||||
const updateMobileTheme = (OSTheme: string) => {
|
||||
if (isInIOS() || isInAndroid() || isInHarmony()) {
|
||||
if (isInMobileApp()) {
|
||||
setTimeout(() => {
|
||||
const backgroundColor = rgba2hex(getComputedStyle(document.body).getPropertyValue("--b3-theme-background").trim());
|
||||
let mode = window.siyuan.config.appearance.mode;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue