fix(user-home): span the tab pagination skeleton across the post grid

The posts/favorites tabs turn the article list into a 2-column grid at
>=992px. The AJAX pagination skeleton .post_ajax_loader is a direct
child of that grid, so with no grid-column it was laid out as a single
half-width card and the whole placeholder stack collapsed into one
column while paging or switching tabs.

Span the loader across every column and, while loading, give it the
same 2-column template the real cards use so placeholders line up with
them. The skeleton shape now follows the resolved render mode instead
of a hardcoded 'list', so card mode no longer renders list blocks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-10-04 13:17:02 +08:00
1 parent 20fde1d652
commit 45dc909e4c
5 files changed
+46 -7

No files matched your search

+22 -1
View File
@@ -391,11 +391,32 @@
margin: 0 !important; /* 抵消 vendored .posts-row > * 的 8px !important 边距 */
}
/* 骨架是网格容器自己的直接子节点:不显式跨列,它就会被当成一张卡片,
只分到一半宽度,整摞骨架全挤在单列里(翻页 / 切 tab 的占位因此变形)。
跨满全部列,并在加载态把 loader 自身变成与真实卡片同款的双列网格,
骨架行才会与卡片同宽、同轴、同列数。display 只随 is-loading 打开,
未加载时容器仍是 display:none,不会被提前撑开。 */
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] > .post_ajax_loader {
grid-column: 1 / -1;
}
.aksrt-user-home .dashboard-panel.is-loading .aksrt-user-home__post-list[data-view="list"] > .post_ajax_loader {
display: grid;
gap: 16px;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: start;
}
/* 骨架跟随网格走:容器 margin 已归零、卡片边距已清零,
不能再叠加 .posts-row > .post_ajax_loader 内层的 8px 补偿。 */
不能再叠加 .posts-row > .post_ajax_loader 内层的 8px 补偿;
宽高沿用真实卡片的网格单元,所以 vendored site-layout-1 的
calc(50% - 16px) 与剩余边距也要一并清零。 */
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] > .post_ajax_loader .posts-item {
margin-right: 0;
margin-left: 0;
margin-top: 0;
margin-bottom: 0;
width: auto;
}
}