Vanessa 2025-10-23 12:41:06 +08:00
parent f6dcda59bb
commit 9366b0f073
3 changed files with 53 additions and 49 deletions

View file

@ -148,10 +148,9 @@
width: 100%; width: 100%;
background-color: var(--b3-theme-background); background-color: var(--b3-theme-background);
align-items: center; align-items: center;
min-width: 204px; overflow: auto;
.b3-list-item { .b3-list-item {
width: 204px;
white-space: nowrap; white-space: nowrap;
font-size: 17px; font-size: 17px;
color: var(--b3-theme-on-surface); color: var(--b3-theme-on-surface);

View file

@ -159,7 +159,7 @@ export const getDockByType = (type: TDock | string) => {
export const newCenterEmptyTab = (app: App) => { export const newCenterEmptyTab = (app: App) => {
return new Tab({ return new Tab({
panel: `<div class="layout__empty b3-list"> panel: `<div class="layout__empty">
<div class="${!window.siyuan.config.readonly ? " fn__none" : ""}"> <div class="${!window.siyuan.config.readonly ? " fn__none" : ""}">
<div class="config-about__logo"> <div class="config-about__logo">
<img src="/stage/icon.png"> <img src="/stage/icon.png">
@ -168,6 +168,7 @@ export const newCenterEmptyTab = (app: App) => {
<div class="b3-label__text">${window.siyuan.languages.slogan}</div> <div class="b3-label__text">${window.siyuan.languages.slogan}</div>
</div> </div>
<div class="fn__hr"></div> <div class="fn__hr"></div>
<div class="b3-list" style="margin: 0 auto">
<div class="b3-list-item" id="editorEmptySearch"> <div class="b3-list-item" id="editorEmptySearch">
<svg class="b3-list-item__graphic"><use xlink:href="#iconSearch"></use></svg> <svg class="b3-list-item__graphic"><use xlink:href="#iconSearch"></use></svg>
<span>${window.siyuan.languages.search}</span> <span>${window.siyuan.languages.search}</span>
@ -196,6 +197,7 @@ export const newCenterEmptyTab = (app: App) => {
<svg class="b3-list-item__graphic"><use xlink:href="#iconHelp"></use></svg> <svg class="b3-list-item__graphic"><use xlink:href="#iconHelp"></use></svg>
<span>${window.siyuan.languages.userGuide}</span> <span>${window.siyuan.languages.userGuide}</span>
</div> </div>
</div>
</div>`, </div>`,
callback(tab: Tab) { callback(tab: Tab) {
tab.panelElement.addEventListener("click", (event) => { tab.panelElement.addEventListener("click", (event) => {

View file

@ -987,19 +987,22 @@ export const adjustLayout = (layout: Layout = window.siyuan.layout.centerLayout.
} }
}); });
let lastItem: HTMLElement; let lastItem: HTMLElement;
let index = Math.floor(window.innerWidth / 24); let index = Math.ceil(screen.width / 8);
// +2 由于某些分辨率下 scrollWidth 会大于 clientWidth if (layout.direction === "lr") {
while (layout.element.scrollWidth > layout.element.clientWidth + 2 && index > 0) { while (index > 0) {
let width = 0;
layout.children.find((item: Layout | Wnd) => { layout.children.find((item: Layout | Wnd) => {
if (item.element.style.width && item.element.style.width !== "0px") { if (item.element.style.width && item.element.style.width !== "0px") {
item.element.style.maxWidth = Math.max(Math.min(item.element.clientWidth, window.innerWidth) - 8, 64) + "px"; item.element.style.maxWidth = Math.max(Math.min(item.element.clientWidth, window.innerWidth) - 8, 64) + "px";
lastItem = item.element; lastItem = item.element;
} }
if (layout.element.scrollWidth <= layout.element.clientWidth + 2) { width += item.element.clientWidth;
return true;
}
}); });
index--; index--;
if (width <= layout.element.clientWidth) {
break;
}
}
} }
if (lastItem) { if (lastItem) {
lastItem.style.maxWidth = Math.max(Math.min(lastItem.clientWidth, window.innerWidth) - 8, 64) + "px"; lastItem.style.maxWidth = Math.max(Math.min(lastItem.clientWidth, window.innerWidth) - 8, 64) + "px";