@@ -33,8 +36,8 @@ defined('ABSPATH') || exit;
-
-
+
+
@@ -46,14 +49,6 @@ defined('ABSPATH') || exit;
0 ? '+' : '') . $delta); ?>
-
-
-
- 0) : ?>
-
diff --git a/inc/helpers/user-center-renderers/profile-credits.php b/inc/helpers/user-center-renderers/profile-credits.php
index cd53e943..0612fc7c 100644
--- a/inc/helpers/user-center-renderers/profile-credits.php
+++ b/inc/helpers/user-center-renderers/profile-credits.php
@@ -82,6 +82,9 @@ if ($show_wallet || $show_credits) :
$delta = (int) $row['delta_minor'];
$delta_class = $delta >= 0 ? 'is-positive' : 'is-negative';
$delta_txt = ($delta > 0 ? '+' : '-') . \AKSRT\Ledger\AssetAmount::from_minor(\AKSRT\Ledger\AssetType::BALANCE, abs($delta))->formatted();
+ $record_note = (string) $row['reason'] === 'points_exchange'
+ ? (string) $row['ref_key']
+ : (string) $row['remark'];
?>
@@ -90,20 +93,14 @@ if ($show_wallet || $show_credits) :
- formatted())); ?>
- 0) : ?>formatted())); ?>
-
-
-
-
diff --git a/tests/widget-system/asset-ledger-contract.test.cjs b/tests/widget-system/asset-ledger-contract.test.cjs
index 2ad6ddd6..c06d1c6d 100644
--- a/tests/widget-system/asset-ledger-contract.test.cjs
+++ b/tests/widget-system/asset-ledger-contract.test.cjs
@@ -77,6 +77,14 @@ test('user asset submissions send idempotency keys', () => {
}
})
+test('profile asset records show order references and only the changed amount', () => {
+ for (const file of ['profile-credits.php', 'credits-transactions.php']) {
+ const source = fs.readFileSync(path.join(root, 'inc', 'helpers', 'user-center-renderers', file), 'utf8')
+ assert.match(source, /\$record_note\s*=\s*\(string\) \$row\['reason'\] === 'points_exchange'[\s\S]*?\(string\) \$row\['ref_key'\]/)
+ assert.doesNotMatch(source, /uc-transactions__balance|交易 #%d|\$row\['fee_minor'\]|\$row\['ref_id'\]/)
+ }
+})
+
test('core asset paths never use floating-point money helpers', () => {
const files = [
'src/Ledger/AssetAmount.php',