From b2c03f2d1e21c4148efd5ca2efe7735527d09fbc Mon Sep 17 00:00:00 2001 From: Vanessa Date: Mon, 3 Apr 2023 19:50:25 +0800 Subject: [PATCH] :sparkles: fix https://github.com/siyuan-note/siyuan/issues/7855 --- app/appearance/themes/daylight/theme.css | 1 + app/appearance/themes/midnight/theme.css | 1 + app/src/assets/scss/base.scss | 4 ++-- app/src/assets/scss/business/_card.scss | 16 ++++++++++++++++ app/src/assets/scss/util/_reset.scss | 3 ++- app/src/card/openCard.ts | 19 ++++++++++++++++--- app/src/util/globalShortcut.ts | 2 +- app/src/window/setHeader.ts | 14 +++++++------- 8 files changed, 46 insertions(+), 14 deletions(-) diff --git a/app/appearance/themes/daylight/theme.css b/app/appearance/themes/daylight/theme.css index f74554599..b8beafa68 100644 --- a/app/appearance/themes/daylight/theme.css +++ b/app/appearance/themes/daylight/theme.css @@ -32,6 +32,7 @@ --b3-toolbar-blur-background: #373a41; --b3-toolbar-color: #9aa0a6; --b3-toolbar-hover: #383a42; + --b3-toolbar-left-mac: 69px; /* 线条 */ --b3-border-color: rgba(0, 0, 0, .1); diff --git a/app/appearance/themes/midnight/theme.css b/app/appearance/themes/midnight/theme.css index 2e89493da..dc8056508 100644 --- a/app/appearance/themes/midnight/theme.css +++ b/app/appearance/themes/midnight/theme.css @@ -32,6 +32,7 @@ --b3-toolbar-blur-background: #373a41; --b3-toolbar-color: #ced0d6; --b3-toolbar-hover: #383a42; + --b3-toolbar-left-mac: 69px; /* 线条 */ --b3-border-color: #0e0f10; diff --git a/app/src/assets/scss/base.scss b/app/src/assets/scss/base.scss index 367cd5fea..e3a6fa1c3 100644 --- a/app/src/assets/scss/base.scss +++ b/app/src/assets/scss/base.scss @@ -117,7 +117,7 @@ html { & > .protyle-breadcrumb, & > .block__icons { // 关系图 - padding-left: 69px; + padding-left: var(--b3-toolbar-left-mac); height: 32px; } @@ -156,7 +156,7 @@ html { box-sizing: border-box; height: 32px; line-height: 32px; - padding: 0 5px 0 69px; + padding: 0 5px 0 var(--b3-toolbar-left-mac); border-bottom: .5px solid var(--b3-border-color); &--browser { diff --git a/app/src/assets/scss/business/_card.scss b/app/src/assets/scss/business/_card.scss index 9c00eaa8e..ef502733d 100644 --- a/app/src/assets/scss/business/_card.scss +++ b/app/src/assets/scss/business/_card.scss @@ -1,4 +1,20 @@ .card { + &__main { + @extend .fn__flex-column; + box-sizing: border-box; + max-height: 100%; + background-color: var(--b3-theme-surface); + + &.fullscreen > .b3-form__space--small { + padding-left: var(--b3-toolbar-left-mac); + } + } + + &__header { + display: flex; + padding: 8px 8px 8px 12px; + } + &__empty { display: flex; justify-content: center; diff --git a/app/src/assets/scss/util/_reset.scss b/app/src/assets/scss/util/_reset.scss index 91f61bd41..9d7532299 100644 --- a/app/src/assets/scss/util/_reset.scss +++ b/app/src/assets/scss/util/_reset.scss @@ -72,13 +72,14 @@ body { & > .protyle-breadcrumb, & > .block__icons { height: 42px; + padding-right: 42px; } } &.body--win32 .fullscreen { & > .protyle-breadcrumb, & > .block__icons { - padding-right: 126px; + padding-right: 168px; } } diff --git a/app/src/card/openCard.ts b/app/src/card/openCard.ts index acd2ad3f3..1f7f2cdda 100644 --- a/app/src/card/openCard.ts +++ b/app/src/card/openCard.ts @@ -4,9 +4,10 @@ import {isMobile} from "../util/functions"; import {Protyle} from "../protyle"; import {Constants} from "../constants"; import {disabledProtyle, onGet} from "../protyle/util/onGet"; -import {hasClosestByClassName} from "../protyle/util/hasClosest"; +import {hasClosestByAttribute, hasClosestByClassName} from "../protyle/util/hasClosest"; import {hideElements} from "../protyle/ui/hideElements"; import {needSubscribe} from "../util/needSubscribe"; +import {fullscreen} from "../protyle/breadcrumb/action"; export const openCard = () => { const exit = window.siyuan.dialogs.find(item => { @@ -39,10 +40,14 @@ export const openCardByData = (cardsData: ICard[], html = "") => { `; } const dialog = new Dialog({ - content: `
-
+ content: `
+
${window.siyuan.languages.riffCard} ${html} +
+
+ +
@@ -130,6 +135,14 @@ export const openCardByData = (cardsData: ICard[], html = "") => { const selectElement = dialog.element.querySelector("select"); const titleElement = countElement.previousElementSibling; dialog.element.addEventListener("click", (event) => { + const fullscreenElement = hasClosestByAttribute(event.target as HTMLElement, "data-type", "fullscreen"); + if (fullscreenElement) { + fullscreen(dialog.element.querySelector(".card__main"), + dialog.element.querySelector('[data-type="fullscreen"]')); + event.stopPropagation(); + event.preventDefault(); + return; + } let type = ""; if (typeof event.detail === "string") { if (event.detail === "1" || event.detail === "j") { diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index 9c0dcb98f..e889b8c0b 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -620,7 +620,7 @@ export const globalShortcut = () => { if (matchDock) { return; } - if (matchHotKey(window.siyuan.config.keymap.general.riffCard.custom, event)) { + if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.riffCard.custom, event)) { openCard(); if (document.activeElement) { (document.activeElement as HTMLElement).blur(); diff --git a/app/src/window/setHeader.ts b/app/src/window/setHeader.ts index 6e616d572..fa9dc668e 100644 --- a/app/src/window/setHeader.ts +++ b/app/src/window/setHeader.ts @@ -13,6 +13,7 @@ const getAllWnds = (layout: Layout, wnds: Wnd[]) => { } } }; + export const setTabPosition = () => { if (!isWindow()) { return; @@ -34,19 +35,18 @@ export const setTabPosition = () => { const headersLastElement = headerElement.lastElementChild as HTMLElement; if ("darwin" === window.siyuan.config.system.os) { if (rect.top <= 0 && rect.left <= 0 && !getCurrentWindow().isFullScreen()) { - item.headersElement.style.paddingLeft = "69px"; + item.headersElement.style.paddingLeft = "var(--b3-toolbar-left-mac)"; headersLastElement.style.paddingRight = "42px"; } else { item.headersElement.style.paddingLeft = ""; headersLastElement.style.paddingRight = ""; } + } + // 显示器缩放后像素存在小数点偏差 https://github.com/siyuan-note/siyuan/issues/7355 + if (rect.top <= 0 && rect.right + 8 >= window.innerWidth) { + headersLastElement.style.paddingRight = (42 * ("darwin" === window.siyuan.config.system.os ? 1 : 4)) + "px"; } else { - // 显示器缩放后像素存在小数点偏差 https://github.com/siyuan-note/siyuan/issues/7355 - if (rect.top <= 0 && rect.right + 8 >= window.innerWidth) { - headersLastElement.style.paddingRight = (42 * 4) + "px"; - } else { - headersLastElement.style.paddingRight = ""; - } + headersLastElement.style.paddingRight = ""; } }); };