refactor: rename the theme brand and every identifier from AKSRT to Jio

Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.

Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
  cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
  window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)

Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
  so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
  (dropped 3 stale entries, added the 17 missing ones)

Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
  get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
  when it is empty

Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.

Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-01 20:05:04 +08:00
1 parent 5b16bc6e15
commit 35bb96e82f
997 files changed
+28216 -28188

No files matched your search

+111 -111
View File
@@ -1,5 +1,5 @@
/**
* AKSRT User Home / Author Page — 公开用户主页 & 作者归档页样式
* Jio User Home / Author Page — 公开用户主页 & 作者归档页样式
*
* 原主题风格作者页布局
* 在 /user/{nicename}/ 和 /author/{nicename}/ 加载
@@ -8,7 +8,7 @@
/* ============================================================
* Author Hero — 统一的作者头区(与 legacy author-header 对齐)
* ============================================================ */
.aksrt-author-hero {
.jio-author-hero {
position: relative;
overflow: hidden;
border-radius: var(--radius-2xl, 16px);
@@ -18,13 +18,13 @@
margin-bottom: 20px;
}
.aksrt-author-hero__cover {
.jio-author-hero__cover {
position: relative;
padding-bottom: calc(20% + 80px);
overflow: hidden;
}
.aksrt-author-hero__cover-img {
.jio-author-hero__cover-img {
position: absolute;
inset: 0;
width: 100%;
@@ -32,7 +32,7 @@
object-fit: cover;
}
.aksrt-author-hero__cover-mask {
.jio-author-hero__cover-mask {
position: absolute;
bottom: 0;
left: 0;
@@ -44,7 +44,7 @@
/* Cover meta pills — legacy .single-metabox.cover-meta parity:
* 单个胶囊容器贴封面右上角,内含 人气值 / 点赞 计数值。 */
.aksrt-author-hero__cover-metas {
.jio-author-hero__cover-metas {
position: absolute;
right: 1em;
top: 1.6em;
@@ -59,19 +59,19 @@
font-size: 14px;
}
.aksrt-author-hero__cover-meta {
.jio-author-hero__cover-meta {
display: inline-flex;
align-items: center;
margin: 0 6px;
font-size: 13px;
}
.aksrt-author-hero__cover-meta .fa,
.aksrt-author-hero__cover-meta .icon {
.jio-author-hero__cover-meta .fa,
.jio-author-hero__cover-meta .icon {
margin-right: 3px;
}
.aksrt-author-hero__body {
.jio-author-hero__body {
display: flex;
align-items: flex-start;
gap: 20px;
@@ -81,11 +81,11 @@
z-index: 1;
}
.aksrt-author-hero__avatar {
.jio-author-hero__avatar {
flex-shrink: 0;
}
.aksrt-author-hero__avatar img {
.jio-author-hero__avatar img {
width: 120px;
height: 120px;
/* 公开主页 hero 头像保持 legacy 圆角方形:显式声明圆角,避免被 public 捆绑里
@@ -97,17 +97,17 @@
transition: transform 0.2s ease;
}
.aksrt-author-hero__avatar img:hover {
.jio-author-hero__avatar img:hover {
transform: scale(1.03);
}
.aksrt-author-hero__info {
.jio-author-hero__info {
flex: 1;
min-width: 0;
padding-top: 65px;
}
.aksrt-author-hero__name {
.jio-author-hero__name {
margin: 0 0 6px;
font-size: 1.35rem;
font-weight: 700;
@@ -115,7 +115,7 @@
line-height: 1.3;
}
.aksrt-author-hero__desc {
.jio-author-hero__desc {
margin: 0 0 10px;
font-size: 13px;
color: var(--color-ink-3);
@@ -124,7 +124,7 @@
}
/* Counts live in the tab bar, not a hero body stats row (legacy parity). */
.aksrt-author-hero__actions {
.jio-author-hero__actions {
flex-shrink: 0;
display: flex;
flex-wrap: wrap;
@@ -133,22 +133,22 @@
padding-top: 68px;
}
.aksrt-author-hero__follow-btn {
.jio-author-hero__follow-btn {
display: inline-flex;
align-items: center;
gap: 8px;
}
.aksrt-author-hero__follow-btn[aria-disabled="true"] {
.jio-author-hero__follow-btn[aria-disabled="true"] {
opacity: 0.72;
cursor: not-allowed;
}
.aksrt-author-hero__message-btn {
.jio-author-hero__message-btn {
position: relative;
}
.aksrt-author-hero__action-badge {
.jio-author-hero__action-badge {
position: absolute;
top: -5px;
right: -5px;
@@ -168,121 +168,121 @@
}
/* No-cover variant */
.aksrt-author-hero--no-cover {
.jio-author-hero--no-cover {
border: 1px solid var(--color-line-soft);
}
.aksrt-author-hero--no-cover .aksrt-author-hero__body {
.jio-author-hero--no-cover .jio-author-hero__body {
margin-top: 0;
padding-top: 24px;
}
.aksrt-author-hero--no-cover .aksrt-author-hero__info {
.jio-author-hero--no-cover .jio-author-hero__info {
padding-top: 0;
}
.aksrt-author-hero--no-cover .aksrt-author-hero__actions {
.jio-author-hero--no-cover .jio-author-hero__actions {
padding-top: 0;
}
/* Author hero responsive */
@media (max-width: 767px) {
.aksrt-author-hero__body {
.jio-author-hero__body {
flex-direction: column;
align-items: center;
text-align: center;
padding: 12px 16px 20px;
}
.aksrt-author-hero__info {
.jio-author-hero__info {
padding-top: 0;
}
.aksrt-author-hero__desc {
.jio-author-hero__desc {
max-width: 100%;
}
.aksrt-author-hero__actions {
.jio-author-hero__actions {
padding-top: 0;
justify-content: center;
}
}
@media (max-width: 480px) {
.aksrt-author-hero__cover {
.jio-author-hero__cover {
padding-bottom: calc(20% + 60px);
}
.aksrt-author-hero__cover-metas {
.jio-author-hero__cover-metas {
font-size: 13px;
}
.aksrt-author-hero__cover-meta {
.jio-author-hero__cover-meta {
margin: 0 4px;
}
.aksrt-author-hero__body {
.jio-author-hero__body {
margin-top: -40px;
gap: 14px;
}
.aksrt-author-hero__avatar img {
.jio-author-hero__avatar img {
width: 90px;
height: 90px;
}
.aksrt-author-hero__name {
.jio-author-hero__name {
font-size: 1.15rem;
}
}
.aksrt-user-home .aksrt-user-home__layout {
.jio-user-home .jio-user-home__layout {
align-items: start;
}
.aksrt-user-home .aksrt-user-home__aside {
.jio-user-home .jio-user-home__aside {
display: flex;
flex-direction: column;
gap: 18px;
}
.aksrt-user-home .aksrt-user-home__contacts .profile-social-links {
.jio-user-home .jio-user-home__contacts .profile-social-links {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.aksrt-user-home .user-home-balance-card {
.jio-user-home .user-home-balance-card {
padding: 28px;
border-radius: var(--radius-lg, 12px);
background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(15, 23, 42, 0.04));
border: 1px solid var(--color-line-soft, rgba(0, 0, 0, 0.06));
}
.aksrt-user-home .user-home-balance-card__label {
.jio-user-home .user-home-balance-card__label {
margin: 0 0 10px;
color: var(--color-ink-4);
font-size: 13px;
font-weight: 600;
}
.aksrt-user-home .user-home-balance-card__value {
.jio-user-home .user-home-balance-card__value {
font-size: clamp(28px, 4vw, 40px);
font-weight: 800;
line-height: 1;
color: var(--color-ink);
}
.aksrt-user-home .user-home-balance-card__hint {
.jio-user-home .user-home-balance-card__hint {
margin: 14px 0 18px;
color: var(--color-ink-3);
}
/* 内容区卡片 — Zibll .author-tab.zib-widget parity(padding 15px / radius 8px) */
.aksrt-user-home .dashboard--public {
.jio-user-home .dashboard--public {
max-width: none;
background: var(--main-bg-color, #fff);
border-radius: var(--main-radius, 8px);
@@ -293,7 +293,7 @@
/* Tab 栏 — Zibll .author-tab .tab-nav-theme parity:纯文字导航、
* 激活项加粗 + 主题色 + 20px 短横线,计数为小号内联文字。 */
.aksrt-user-home .dashboard--public .dashboard-tabs {
.jio-user-home .dashboard--public .dashboard-tabs {
display: flex;
gap: 0;
margin: 0 -10px 12px;
@@ -302,7 +302,7 @@
background: var(--main-bg-color, #fff);
}
.aksrt-user-home .dashboard--public .dashboard-tabs button {
.jio-user-home .dashboard--public .dashboard-tabs button {
position: relative;
padding: 0 10px 8px;
border: none;
@@ -318,19 +318,19 @@
transition: color 0.2s ease;
}
.aksrt-user-home .dashboard--public .dashboard-tabs button:hover {
.jio-user-home .dashboard--public .dashboard-tabs button:hover {
color: var(--focus-color, var(--color-primary, #f04494));
background: transparent;
}
.aksrt-user-home .dashboard--public .dashboard-tabs button.is-active {
.jio-user-home .dashboard--public .dashboard-tabs button.is-active {
color: var(--focus-color, var(--color-primary, #f04494));
background: transparent;
border-bottom-color: transparent;
font-weight: 700;
}
.aksrt-user-home .dashboard--public .dashboard-tabs button.is-active::after {
.jio-user-home .dashboard--public .dashboard-tabs button.is-active::after {
content: '';
position: absolute;
bottom: 5px;
@@ -343,7 +343,7 @@
box-shadow: 1px 1px 3px -1px var(--theme-color, var(--color-primary, #f04494));
}
.aksrt-user-home .dashboard--public .dashboard-tabs__count {
.jio-user-home .dashboard--public .dashboard-tabs__count {
display: inline;
min-width: 0;
height: auto;
@@ -358,20 +358,20 @@
border-radius: 0;
}
.aksrt-user-home .dashboard--public .dashboard-tabs button.is-active .dashboard-tabs__count {
.jio-user-home .dashboard--public .dashboard-tabs button.is-active .dashboard-tabs__count {
color: inherit;
background: transparent;
}
/* 面板内容 */
.aksrt-user-home .dashboard--public .dashboard-panel {
.jio-user-home .dashboard--public .dashboard-panel {
animation: panel-fade-in 0.25s ease;
}
/* Public author posts/favorites follow Zibll's author-tab list
* (zibll css/main.css: .author-tab .posts-item + the ≥992px no-sidebar
* two-column rule .site-layout-1 .posts-item:not(.card)). */
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] .posts-item {
.jio-user-home .jio-user-home__post-list[data-view="list"] .posts-item {
background: transparent;
box-shadow: none;
}
@@ -379,7 +379,7 @@
/* 宽屏双列:无侧边栏全文宽时文章卡片并排两列,视觉同 zibll site-layout-1
* (zibll 用 inline-flex+calc(50%),对标记空白敏感,此处用等几何的 grid) */
@media (min-width: 992px) {
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] {
.jio-user-home .jio-user-home__post-list[data-view="list"] {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
@@ -388,7 +388,7 @@
margin-left: 0;
}
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] > .posts-item {
.jio-user-home .jio-user-home__post-list[data-view="list"] > .posts-item {
width: auto; /* 覆盖 vendored site-layout-1 的 width: calc(50% - 16px),让卡片填满网格单元 */
margin: 0 !important; /* 抵消 vendored .posts-row > * 的 8px !important 边距 */
}
@@ -398,11 +398,11 @@
跨满全部列,并在加载态把 loader 自身变成与真实卡片同款的双列网格,
骨架行才会与卡片同宽、同轴、同列数。display 只随 is-loading 打开,
未加载时容器仍是 display:none,不会被提前撑开。 */
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] > .post_ajax_loader {
.jio-user-home .jio-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 {
.jio-user-home .dashboard-panel.is-loading .jio-user-home__post-list[data-view="list"] > .post_ajax_loader {
display: grid;
gap: 16px;
grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -413,7 +413,7 @@
不能再叠加 .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 {
.jio-user-home .jio-user-home__post-list[data-view="list"] > .post_ajax_loader .posts-item {
margin-right: 0;
margin-left: 0;
margin-top: 0;
@@ -423,7 +423,7 @@
}
@media (max-width: 767px) {
.aksrt-user-home .aksrt-user-home__post-list[data-view="list"] .posts-item {
.jio-user-home .jio-user-home__post-list[data-view="list"] .posts-item {
padding: 10px 0;
}
}
@@ -434,17 +434,17 @@
}
/* ==================== 焦点状态(无障碍)==================== */
.aksrt-user-home .dashboard--public .dashboard-tabs button:focus-visible {
.jio-user-home .dashboard--public .dashboard-tabs button:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
/* ==================== 空状态增强 ==================== */
.aksrt-user-home .profile-empty {
.jio-user-home .profile-empty {
padding: 48px 20px;
}
.aksrt-user-home .profile-empty__icon {
.jio-user-home .profile-empty__icon {
width: 56px;
height: 56px;
margin-bottom: 14px;
@@ -453,22 +453,22 @@
/* ==================== 响应式 ==================== */
@media (max-width: 640px) {
.aksrt-user-home .dashboard--public {
.jio-user-home .dashboard--public {
padding: 15px;
}
.aksrt-user-home .dashboard--public .dashboard-tabs {
.jio-user-home .dashboard--public .dashboard-tabs {
overflow-x: auto;
flex-wrap: nowrap;
scrollbar-width: none;
-ms-overflow-style: none;
}
.aksrt-user-home .dashboard--public .dashboard-tabs::-webkit-scrollbar {
.jio-user-home .dashboard--public .dashboard-tabs::-webkit-scrollbar {
display: none;
}
.aksrt-user-home .dashboard--public .dashboard-tabs button {
.jio-user-home .dashboard--public .dashboard-tabs button {
flex-shrink: 0;
white-space: nowrap;
}
@@ -479,7 +479,7 @@
* 居中文字链接,激活 focus-color);列表项为 .author-minicard inline-block
* 三列卡片流(卡片规则、640px 单列均在 vendored main.css),容器居中对齐
* zibll pane 的 text-center。 */
.aksrt-user-home .uh-follow__subtabs {
.jio-user-home .uh-follow__subtabs {
display: flex;
justify-content: center;
gap: 4px;
@@ -490,7 +490,7 @@
list-style: none;
}
.aksrt-user-home .uh-follow__subtab {
.jio-user-home .uh-follow__subtab {
display: inline-flex;
align-items: baseline;
gap: 4px;
@@ -505,39 +505,39 @@
transition: color .2s;
}
.aksrt-user-home .uh-follow__subtab:hover {
.jio-user-home .uh-follow__subtab:hover {
color: var(--focus-color, var(--color-primary, #f04494));
}
.aksrt-user-home .uh-follow__subtab-count {
.jio-user-home .uh-follow__subtab-count {
font-size: 12px;
opacity: .8;
}
.aksrt-user-home .uh-follow__list {
.jio-user-home .uh-follow__list {
text-align: center;
}
.aksrt-user-home .dashboard-panel .uh-follow__list--placeholder {
.jio-user-home .dashboard-panel .uh-follow__list--placeholder {
display: none;
}
.aksrt-user-home .dashboard-panel.is-loading .uh-follow__list--placeholder {
.jio-user-home .dashboard-panel.is-loading .uh-follow__list--placeholder {
display: block;
}
.aksrt-user-home .dashboard-panel.is-loading .uh-follow__subtabs,
.aksrt-user-home .dashboard-panel.is-loading .uh-follow__list:not(.uh-follow__list--placeholder),
.aksrt-user-home .dashboard-panel.is-loading .uh-pagination,
.aksrt-user-home .dashboard-panel.is-loading .profile-empty {
.jio-user-home .dashboard-panel.is-loading .uh-follow__subtabs,
.jio-user-home .dashboard-panel.is-loading .uh-follow__list:not(.uh-follow__list--placeholder),
.jio-user-home .dashboard-panel.is-loading .uh-pagination,
.jio-user-home .dashboard-panel.is-loading .profile-empty {
display: none;
}
.aksrt-user-home .dashboard-panel.is-load-error .uh-follow__list--placeholder {
.jio-user-home .dashboard-panel.is-load-error .uh-follow__list--placeholder {
display: block;
}
.aksrt-user-home .uh-panel-load-error {
.jio-user-home .uh-panel-load-error {
display: none;
margin: 12px 0;
color: var(--color-ink-4);
@@ -546,11 +546,11 @@
grid-column: 1 / -1;
}
.aksrt-user-home .dashboard-panel.is-load-error .uh-panel-load-error {
.jio-user-home .dashboard-panel.is-load-error .uh-panel-load-error {
display: block;
}
.aksrt-user-home .uh-panel-load-error button {
.jio-user-home .uh-panel-load-error button {
margin-left: 8px;
padding: 0;
border: 0;
@@ -560,35 +560,35 @@
cursor: pointer;
}
.aksrt-user-home .uh-follow__placeholder {
.jio-user-home .uh-follow__placeholder {
display: inline-flex;
margin: 5px 8px;
}
.aksrt-user-home .uh-follow__pagination {
.jio-user-home .uh-follow__pagination {
margin-top: 16px;
text-align: center;
}
/* Full-width public home (legacy author: no commerce sidebar) */
.aksrt-user-home .content-layout--no-sidebar .content-layout__primary {
.jio-user-home .content-layout--no-sidebar .content-layout__primary {
width: 100%;
max-width: 100%;
}
.aksrt-user-home .dashboard-tabs__count.opacity8 {
.jio-user-home .dashboard-tabs__count.opacity8 {
opacity: 0.8;
}
.aksrt-author-hero__identity {
.jio-author-hero__identity {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
margin-top: .15rem;
}
.aksrt-author-hero__identity .aksrt-ip-geo-badge {
.jio-author-hero__identity .jio-ip-geo-badge {
display: inline-flex;
align-items: center;
height: 26px;
@@ -599,37 +599,37 @@
font-size: 12px;
line-height: 26px;
}
.aksrt-author-hero__identity .aksrt-medal-entry,
.aksrt-author-hero__identity .badg { height: 26px; box-sizing: border-box; margin: 0; padding: 0 8px; border-radius: 999px; font-size: 12px; line-height: 26px; }
.aksrt-profile-details-modal { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; padding: 20px; }
.aksrt-profile-details-modal[hidden] { display: none !important; }
.aksrt-profile-details-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 15, 22, .52); }
.aksrt-profile-details-modal__dialog { position: relative; width: min(100%, 420px); padding: 24px; border-radius: 16px; background: var(--color-card, #fff); box-shadow: 0 24px 64px rgba(0,0,0,.24); }
.aksrt-profile-details-modal__dialog h2 { margin: 0 28px 16px 0; font-size: 18px; }
.aksrt-profile-details-modal__dialog dl { display: grid; gap: 12px; margin: 0; }
.aksrt-profile-details-modal__dialog dl div { display: grid; grid-template-columns: 84px 1fr; gap: 12px; }
.aksrt-profile-details-modal__dialog dt { color: var(--color-muted, #6b7280); }
.aksrt-profile-details-modal__dialog dd { margin: 0; overflow-wrap: anywhere; }
.aksrt-profile-details-modal__close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; font-size: 24px; cursor: pointer; }
.jio-author-hero__identity .jio-medal-entry,
.jio-author-hero__identity .badg { height: 26px; box-sizing: border-box; margin: 0; padding: 0 8px; border-radius: 999px; font-size: 12px; line-height: 26px; }
.jio-profile-details-modal { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; padding: 20px; }
.jio-profile-details-modal[hidden] { display: none !important; }
.jio-profile-details-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 15, 22, .52); }
.jio-profile-details-modal__dialog { position: relative; width: min(100%, 420px); padding: 24px; border-radius: 16px; background: var(--color-card, #fff); box-shadow: 0 24px 64px rgba(0,0,0,.24); }
.jio-profile-details-modal__dialog h2 { margin: 0 28px 16px 0; font-size: 18px; }
.jio-profile-details-modal__dialog dl { display: grid; gap: 12px; margin: 0; }
.jio-profile-details-modal__dialog dl div { display: grid; grid-template-columns: 84px 1fr; gap: 12px; }
.jio-profile-details-modal__dialog dt { color: var(--color-muted, #6b7280); }
.jio-profile-details-modal__dialog dd { margin: 0; overflow-wrap: anywhere; }
.jio-profile-details-modal__close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; font-size: 24px; cursor: pointer; }
/* Button-driven panel pagination + fragments (no URL state) */
.aksrt-user-home .profile-pagination button.page-numbers {
.jio-user-home .profile-pagination button.page-numbers {
font: inherit;
cursor: pointer;
}
.aksrt-user-home .profile-pagination button.page-numbers:hover {
.jio-user-home .profile-pagination button.page-numbers:hover {
color: var(--color-primary);
border-color: var(--color-primary);
background: var(--color-primary-soft);
}
.aksrt-user-home .dashboard-panel.is-loading {
.jio-user-home .dashboard-panel.is-loading {
pointer-events: none;
}
/* 面板翻页的加载态由列表骨架承担(与文章列表 .post_ajax_loader 同一契约)。 */
.aksrt-user-home .dashboard-panel .post_ajax_loader {
.jio-user-home .dashboard-panel .post_ajax_loader {
display: none;
}
@@ -639,41 +639,41 @@
对齐参考主题 post_ajax() 的 beforeSend:replace 时 $item.remove() +
find(pag).remove()。收 display 而非删节点,仍守住「不写 inline display」契约。
只收 .aksrt-user-home__post-list 的**直接子级** .posts-item:骨架内层同样带
只收 .jio-user-home__post-list 的**直接子级** .posts-item:骨架内层同样带
.posts-item,写成后代选择器会连骨架自己一起隐藏掉。 */
.aksrt-user-home .dashboard-panel.is-loading .aksrt-user-home__post-list > .posts-item {
.jio-user-home .dashboard-panel.is-loading .jio-user-home__post-list > .posts-item {
display: none;
}
/* 旧翻页控件同属被替换的旧页内容,且高亮的是旧页码,加载期一并收起。
用 :has() 限定「这个面板真有骨架」:关注 / 评论面板没有 .post_ajax_loader,
无条件隐藏会让它们加载时只剩一片空白。 */
.aksrt-user-home .dashboard-panel.is-loading:has(.post_ajax_loader) .profile-pagination {
.jio-user-home .dashboard-panel.is-loading:has(.post_ajax_loader) .profile-pagination {
display: none;
}
.aksrt-user-home .dashboard-panel.is-loading .post_ajax_loader {
.jio-user-home .dashboard-panel.is-loading .post_ajax_loader {
display: block;
animation: aksrtFadeIn 0.2s ease both;
animation: jioFadeIn 0.2s ease both;
}
.aksrt-user-home .dashboard-panel.is-load-error .post_ajax_loader {
.jio-user-home .dashboard-panel.is-load-error .post_ajax_loader {
display: block;
}
.aksrt-user-home .dashboard-panel.is-load-error .aksrt-user-home__post-list[data-view="list"] > .post_ajax_loader {
.jio-user-home .dashboard-panel.is-load-error .jio-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;
}
.aksrt-user-home .dashboard-panel.is-load-error .placeholder {
.jio-user-home .dashboard-panel.is-load-error .placeholder {
animation: none;
}
@media (prefers-reduced-motion: reduce) {
.aksrt-user-home .dashboard-panel .post_ajax_loader .placeholder {
.jio-user-home .dashboard-panel .post_ajax_loader .placeholder {
animation: none;
}
}