fix(float): repair VIP rail entry front and admin

Always open VIP modal for float pay_vip, drop forced admin link,
normalize gem icon, harden pay-vip click binding and SPA form UX.
This commit is contained in:
kate522 committed 2026-07-22 10:32:00 +08:00
1 parent b7ee5987f0
commit b8ee6b6a43
6 files changed
+132 -23

No files matched your search

+16 -2
View File
@@ -241,6 +241,20 @@ trait GlobalControllerPart1 {
$icon_dark = '';
$icon_light = '';
}
// VIP float always uses modal path; drop stale link/hover and normalize icons.
$link = esc_url_raw($item['link'] ?? '');
$hover = wp_kses_post($item['hover'] ?? '');
if ($type === 'pay_vip') {
$link = '';
$hover = '';
if ($icon === '' || str_contains($icon, 'fa-diamond') || $icon === 'fa fa-diamond') {
$icon = 'fas fa-gem';
}
// Ensure FA5 prefix when bare fa-* is stored.
if ($icon !== '' && !preg_match('/\b(fas|far|fab|fal|fad)\b/', $icon)) {
$icon = 'fas ' . ltrim(preg_replace('/^fa\s+/', '', $icon) ?? $icon);
}
}
return [
'id' => sanitize_text_field($item['id'] ?? uniqid('float_')),
@@ -254,9 +268,9 @@ trait GlobalControllerPart1 {
'qq' => $qq,
'qrcode_img' => esc_url_raw($item['qrcode_img'] ?? ''),
'wechat_img' => esc_url_raw($item['wechat_img'] ?? ''),
'link' => esc_url_raw($item['link'] ?? ''),
'link' => $link,
'add_items' => $add_items,
'hover' => wp_kses_post($item['hover'] ?? ''),
'hover' => $hover,
'qr_size' => $qr_size,
'hover_width' => $hover_width,
'pc_s' => !empty($item['pc_s']),