feat(ui): 全站画布氛围层、侧栏 sticky 对齐与长页回顶

用顶栏/主栏高度令牌消除 sticky 首滚空走,面包屑叠到中栏上方,公开页增加回顶浮钮。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-18 00:28:25 +08:00
parent 0b60c4299b
commit 1535577eac
21 changed files with 286 additions and 111 deletions

View File

@@ -283,8 +283,11 @@ function BoardPanelsBody(props: BoardPanelsProps) {
export function BoardPanels(props: BoardPanelsProps) {
return (
<aside className="hidden w-[280px] shrink-0 lg:block xl:w-[300px]" aria-label="板块面板">
<div className="sticky top-24 space-y-4">
<aside
className="hidden w-[280px] shrink-0 lg:block xl:w-[300px]"
aria-label="板块面板"
>
<div className="space-y-4">
<BoardPanelsBody {...props} />
</div>
</aside>
@@ -302,18 +305,19 @@ export function BoardPanelsMobile(props: BoardPanelsProps) {
/** 板块不存在时的简卡 */
export function BoardMissingPanel() {
return (
<aside className="hidden w-[280px] shrink-0 lg:block xl:w-[300px]" aria-label="板块面板">
<div className="sticky top-24">
<section className="j13-module">
<p className="j13-module-title mb-2">
<LayoutGrid size={15} style={{ color: "var(--ink-3)" }} /> 板块
</p>
<p className="meta">板块不存在或已删除</p>
<Link href="/" className="btn btn-line btn-sm mt-3 w-full justify-center">
返回全部讨论
</Link>
</section>
</div>
<aside
className="hidden w-[280px] shrink-0 lg:block xl:w-[300px]"
aria-label="板块面板"
>
<section className="j13-module">
<p className="j13-module-title mb-2">
<LayoutGrid size={15} style={{ color: "var(--ink-3)" }} /> 板块
</p>
<p className="meta">板块不存在或已删除</p>
<Link href="/" className="btn btn-line btn-sm mt-3 w-full justify-center">
返回全部讨论
</Link>
</section>
</aside>
);
}