diff --git a/app/src/assets/scss/component/_menu.scss b/app/src/assets/scss/component/_menu.scss index 1b1383e24..097c50a23 100644 --- a/app/src/assets/scss/component/_menu.scss +++ b/app/src/assets/scss/component/_menu.scss @@ -246,14 +246,6 @@ margin-right: 8px; color: var(--b3-theme-on-surface); - // 分屏下拉的页签列表 - & > svg, - & > img { - float: left; - height: 14px; - width: 14px; - } - &--arrow { margin: 0 0 0 8px; height: 10px; diff --git a/app/src/layout/Wnd.ts b/app/src/layout/Wnd.ts index 0c3fc019a..cc004ff06 100644 --- a/app/src/layout/Wnd.ts +++ b/app/src/layout/Wnd.ts @@ -35,6 +35,7 @@ import {hideAllElements} from "../protyle/ui/hideElements"; import {focusByOffset, getSelectionOffset} from "../protyle/util/selection"; import {Custom} from "./dock/Custom"; import {App} from "../index"; +import {unicode2Emoji} from "../emoji"; export class Wnd { private app: App; @@ -579,10 +580,23 @@ export class Wnd { Array.from(this.headersElement.children).forEach((item: HTMLElement) => { const iconElement = item.querySelector(".item__icon"); const graphicElement = item.querySelector(".item__graphic"); + let iconHTML = undefined + if (iconElement) { + if (iconElement.firstElementChild?.tagName === "IMG") { + // 图标为图片的文档 + iconHTML = `` + } else { + // 有图标的文档 + iconHTML = `${iconElement.innerHTML}` + } + } else if (!graphicElement) { + // 没有图标的文档 + iconHTML = unicode2Emoji(Constants.SIYUAN_IMAGE_FILE, "b3-menu__icon", true) + } window.siyuan.menus.menu.append(new MenuItem({ label: escapeHtml(item.querySelector(".item__text").textContent), action: "iconCloseRound", - iconHTML: iconElement ? `${iconElement.innerHTML}` : "", + iconHTML, icon: graphicElement ? graphicElement.firstElementChild.getAttribute("xlink:href").substring(1) : "", bind: (element) => { element.addEventListener("click", (itemEvent) => { diff --git a/app/src/layout/topBar.ts b/app/src/layout/topBar.ts index 92efbc3c8..c9916c094 100644 --- a/app/src/layout/topBar.ts +++ b/app/src/layout/topBar.ts @@ -15,7 +15,7 @@ import {webFrame} from "electron"; /// #endif import {Constants} from "../constants"; import {isBrowser, isWindow} from "../util/functions"; -import {Menu} from "../plugin/Meun"; +import {Menu} from "../plugin/Menu"; import {fetchPost} from "../util/fetch"; import {escapeAttr} from "../util/escape"; import {needSubscribe} from "../util/needSubscribe"; diff --git a/app/src/plugin/API.ts b/app/src/plugin/API.ts index 18e3f8503..5141dd022 100644 --- a/app/src/plugin/API.ts +++ b/app/src/plugin/API.ts @@ -13,7 +13,7 @@ import {App} from "../index"; import {Constants} from "../constants"; import {Model} from "../layout/Model"; import {Setting} from "./Setting"; -import {Menu} from "./Meun"; +import {Menu} from "./Menu"; let openTab; /// #if MOBILE diff --git a/app/src/plugin/Meun.ts b/app/src/plugin/Menu.ts similarity index 100% rename from app/src/plugin/Meun.ts rename to app/src/plugin/Menu.ts diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index 2ba51714e..4660d971d 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -1,4 +1,4 @@ -import {Menu} from "../../../plugin/Meun"; +import {Menu} from "../../../plugin/Menu"; import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName} from "../../util/hasClosest"; import {transaction} from "../../wysiwyg/transaction"; import {openEditorTab} from "../../../menus/util"; diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 4ad30bd6f..f23e6ddf3 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -1,6 +1,6 @@ import {transaction} from "../../wysiwyg/transaction"; import {hasClosestBlock} from "../../util/hasClosest"; -import {Menu} from "../../../plugin/Meun"; +import {Menu} from "../../../plugin/Menu"; import {getColIconByType} from "./col"; export const popTextCell = (protyle: IProtyle, cellElement: HTMLElement) => {