diff --git a/inc/helpers/user-ban.php b/inc/helpers/user-ban.php index 19e28d47..a1e53cbb 100644 --- a/inc/helpers/user-ban.php +++ b/inc/helpers/user-ban.php @@ -294,10 +294,10 @@ function aksrt_get_user_ban_appeal_modal(int $user_id): string } $desc_html = (string) $settings['desc'] !== '' ? '
' . wp_kses_post(nl2br(esc_html((string) $settings['desc']))) . '
' : ''; - // 滚动容器 1:1 参考主题申诉弹窗:scroll-y + mini-scrollbar(无侧边滚动栏)+ max-vh5(50vh, + // 滚动容器:scroll-y + no-scrollbar(完全隐藏滚动条,含细滚动条)+ max-vh5(50vh, // 内层滚动、外层对话框不滚动);说明框保持 rows=3 自然高度,不做 autoHeight 压缩。 $html .= '
' - . '
' . $info_box . $input . $desc_html . '
' + . '
' . $info_box . $input . $desc_html . '
' . $footer . '
'; $html .= ''; @@ -358,7 +358,7 @@ function aksrt_get_user_ban_log_modal(int $user_id): string } $html .= '
' . esc_html(sprintf(__('该用户共有%d次禁封记录', 'aksrt'), count($logs))) . '
'; - $html .= '
'; + $html .= '
'; $i = 1; foreach ($logs as $log) { $type = (string) ($log['type'] ?? ''); @@ -715,7 +715,7 @@ function aksrt_get_user_ban_modal(int $user_id): string : ''; $html .= '
'; - $html .= '
'; + $html .= '
'; $html .= '
' . $user_row . $log_view . '
'; // 禁封方式(1=拉入小黑屋 suspend / 2=禁封用户 ban)。 diff --git a/tests/widget-system/report-ban-contract.test.cjs b/tests/widget-system/report-ban-contract.test.cjs index 98a25628..45b44d14 100644 --- a/tests/widget-system/report-ban-contract.test.cjs +++ b/tests/widget-system/report-ban-contract.test.cjs @@ -208,9 +208,10 @@ test('ban prompt surface mirrors the reference theme modals and block page', () assert.match(userBanHelper, /您的申诉正在审核中,请耐心等待/) assert.match(userBanHelper, /name="data\[/) assert.match(userBanHelper, /详细的说明更容易通过审核喔/) - // 申诉弹窗滚动容器 1:1 参考主题:scroll-y + mini-scrollbar(无侧边滚动栏)+ max-vh5; + // 申诉弹窗滚动容器:scroll-y + no-scrollbar(完全隐藏滚动条,含细滚动条)+ max-vh5; // 说明框保持 rows=3 自然高度(禁封弹窗留言框才有 autoHeight/maxHeight)。 - assert.match(userBanHelper, /scroll-y mini-scrollbar max-vh5/) + assert.match(userBanHelper, /scroll-y no-scrollbar max-vh5/) + assert.ok(!userBanHelper.includes('mini-scrollbar'), 'ban modals must not show any scrollbar (thin included)') const appealModalFn = userBanHelper.slice(userBanHelper.indexOf('function aksrt_get_user_ban_appeal_modal')) const appealModalBody = appealModalFn.slice(0, appealModalFn.indexOf('\n}')) const appealTextarea = (appealModalBody.match(/]*>/) || [''])[0]