From 6d01e7489a3d06d754b576d19675ed89cdaf9c89 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Nov 2026 17:17:49 +0800 Subject: [PATCH] fix(user-center): use the reference trend sprite for experience task rows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each experience task row closed with a solid `fa-bolt` glyph. The reference marks the same slot with the colour `trend-color` sprite followed by "+ N", and uses that sprite for the 成长体系 heading as well, so the level page also carried a stray `fa-chart-line` there. The sprite already ships in the theme (`jiosvg-trend-color`); its path data is byte-identical to the reference sheet. Both slots now render it, sized to match the reference (`icon mr6 em09` for the rows, `icon mr6 em12` for the heading). The "动态" rows keep their wording without a "+", which is how they read before. The check-in experience badges in src/Credits/Signin.php stay on `fa-line-chart` — the reference uses the same monochrome glyph there. Verification: rendered the real level page through a PHP stub — all ten task rows emit `#icon-trend-color`, the only Font Awesome glyph left is the "每日详情" arrow, matching the reference. Screenshotted against the real stylesheet. A contract test pins both sprite usages and rejects a regression to `fa-bolt` / `fa-chart-line`; 862 widget/navigation tests pass. --- inc/helpers/user-center-renderers/profile-level.php | 4 ++-- .../user-center-sidebar-icons-contract.test.cjs | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/inc/helpers/user-center-renderers/profile-level.php b/inc/helpers/user-center-renderers/profile-level.php index 07c3bda8..f7534c30 100644 --- a/inc/helpers/user-center-renderers/profile-level.php +++ b/inc/helpers/user-center-renderers/profile-level.php @@ -78,7 +78,7 @@ $percentage = max(0, min(100, (int) ($progress['progress'] ?? 0)));
- +
0 ? esc_html(sprintf(__('今日 +%d', 'jio'), $today_integral)) : esc_html__('查看详情', 'jio'); ?> @@ -134,7 +134,7 @@ $percentage = max(0, min(100, (int) ($progress['progress'] ?? 0)));
- 0 ? '+' . esc_html((string) $value) : esc_html__('动态', 'jio'); ?> + 0 ? '+ ' . esc_html((string) $value) : esc_html__('动态', 'jio'); ?>
diff --git a/tests/widget-system/user-center-sidebar-icons-contract.test.cjs b/tests/widget-system/user-center-sidebar-icons-contract.test.cjs index c017b9dc..d421f5ab 100644 --- a/tests/widget-system/user-center-sidebar-icons-contract.test.cjs +++ b/tests/widget-system/user-center-sidebar-icons-contract.test.cjs @@ -193,3 +193,12 @@ test('余额/积分资产卡的标题图标与参考主题一致', () => { assert.doesNotMatch(title, /fa fas fa-money-bill|fa fas fa-coins/, name); } }); + +test('等级页经验任务行使用参考主题的 trend-color 图标', () => { + const level = read('inc/helpers/user-center-renderers/profile-level.php'); + + // 参考主题:每条经验任务 = trend-color + 「+ N」,成长体系标题同图标。 + assert.match(level, /jio_icon_markup\('jiosvg-trend-color', 'icon mr6 em09'\)/); + assert.match(level, /jio_icon_markup\('jiosvg-trend-color', 'icon mr6 em12'\)/); + assert.doesNotMatch(level, /fa fas fa-bolt|fa fas fa-chart-line/); +});