fix(vip): 1:1 zibll VIP profile card with dual-column layout
This commit is contained in:
1 parent
23416515d3
commit
5ca3ead6aa
2 files changed
+183
-48
No files matched your search
@@ -27,47 +27,89 @@ $desc_top = (string) ($vip_settings['desc'] ?? '');
|
||||
|
||||
$user = get_userdata($user_id);
|
||||
$display = $user ? $user->display_name : '';
|
||||
$avatar = get_avatar($user_id, 56);
|
||||
$user_bio = $user ? trim((string) $user->description) : '';
|
||||
if ($user_bio === '') {
|
||||
$user_bio = __('这家伙很懒,什么都没有写…', 'aksrt');
|
||||
}
|
||||
|
||||
// Status header box.
|
||||
// Avatar: zibll avatar-img avatar-md (55px fixed box).
|
||||
$avatar = get_avatar($user_id, 110, '', $display, ['class' => 'avatar']);
|
||||
|
||||
// Name row with identity chips (zibll zib_get_user_name parity).
|
||||
$name_html = '';
|
||||
if (function_exists('aksrt_get_user_name')) {
|
||||
$name_html = aksrt_get_user_name([
|
||||
'id' => $user_id,
|
||||
'class' => 'flex1 flex ac',
|
||||
'vip' => true,
|
||||
'follow' => false,
|
||||
]);
|
||||
}
|
||||
if ($name_html === '') {
|
||||
$name_html = esc_html($display);
|
||||
if (function_exists('aksrt_render_user_identity_chips')) {
|
||||
$name_html .= aksrt_render_user_identity_chips($user_id, 'card');
|
||||
}
|
||||
}
|
||||
|
||||
// Status column (zibll my_vip_box).
|
||||
$status_html = '';
|
||||
$btn_type = 'pay';
|
||||
if ($level > 0) {
|
||||
$lv_name = (string) ($levels[$level]['name'] ?? ('VIP' . $level));
|
||||
$lv_desc = (string) ($levels[$level]['desc'] ?? '');
|
||||
if ($expires <= 0) {
|
||||
$badge = '<span class="badg c-green p2-10 em09"><i class="fas fa-clock" aria-hidden="true"></i> ' . esc_html__('永久会员', 'aksrt') . '</span>';
|
||||
$badge = '<span class="badg c-green p2-10 em09"><i class="fas fa-clock mr3" aria-hidden="true"></i>' . esc_html__('永久会员', 'aksrt') . '</span>';
|
||||
if ($level < 2) {
|
||||
$btn_type = 'upgrade';
|
||||
}
|
||||
} else {
|
||||
$badge = '<span class="badg c-yellow p2-10 em09"><i class="fas fa-clock" aria-hidden="true"></i> '
|
||||
$badge = '<span class="badg c-yellow p2-10 em09"><i class="fas fa-clock mr3" aria-hidden="true"></i>'
|
||||
. esc_html(sprintf(__('到期时间:%s', 'aksrt'), wp_date('Y年m月d日', $expires))) . '</span>';
|
||||
$btn_type = 'renew_' . $level;
|
||||
}
|
||||
$status_html = '<div class="uc-vip-status">'
|
||||
. '<div class="uc-vip-status__title flex ac"><i class="fas fa-crown" aria-hidden="true"></i><span class="font-bold ml6">' . esc_html($lv_name) . '</span></div>'
|
||||
$status_html = '<div class="uc-vip-status flex xx gap6">'
|
||||
. '<div class="em09 muted-2-color">' . esc_html__('我的会员', 'aksrt') . '</div>'
|
||||
. '<div class="flex ac">'
|
||||
. '<div class="em16 mr10 flex ac"><i class="fas fa-crown" aria-hidden="true"></i><div class="font-bold ml6">' . esc_html($lv_name) . '</div></div>'
|
||||
. $badge
|
||||
. ($lv_desc !== '' ? '<div class="muted-color em09">' . esc_html($lv_desc) . '</div>' : '')
|
||||
. '</div>'
|
||||
. '<div class="muted-color em09">' . esc_html($lv_desc !== '' ? $lv_desc : __('尊享专属特权', 'aksrt')) . '</div>'
|
||||
. '</div>';
|
||||
} elseif ($expired_level > 0) {
|
||||
$exp_label = $expires > 0
|
||||
? sprintf(__('过期时间:%s', 'aksrt'), wp_date('Y年m月d日', $expires))
|
||||
: __('已过期', 'aksrt');
|
||||
$status_html = '<div class="uc-vip-status">'
|
||||
. '<div class="font-bold c-red">' . esc_html__('会员已过期', 'aksrt') . '</div>'
|
||||
. '<div class="badg c-red em09"><i class="fas fa-clock" aria-hidden="true"></i> ' . esc_html($exp_label) . '</div>'
|
||||
$status_html = '<div class="uc-vip-status flex xx gap6">'
|
||||
. '<div class="em09 muted-2-color">' . esc_html__('当前会员状态', 'aksrt') . '</div>'
|
||||
. '<div class="flex ac">'
|
||||
. '<div class="em16 c-red mr10">' . esc_html__('已过期', 'aksrt') . '</div>'
|
||||
. '<div class="badg c-red em09"><i class="fas fa-clock mr3" aria-hidden="true"></i>' . esc_html($exp_label) . '</div>'
|
||||
. '</div>'
|
||||
. ($desc_top !== '' ? '<div class="muted-color em09">' . esc_html($desc_top) . '</div>' : '')
|
||||
. '</div>';
|
||||
$btn_type = 'pay';
|
||||
} else {
|
||||
$status_html = '<div class="uc-vip-status">'
|
||||
. '<div class="font-bold">' . esc_html__('开通会员', 'aksrt') . '</div>'
|
||||
. ($desc_top !== '' ? '<div class="muted-color em09">' . esc_html($desc_top) . '</div>' : '<div class="muted-color em09">' . esc_html__('开通会员,尊享专属特权', 'aksrt') . '</div>')
|
||||
// Never opened VIP — zibll: 当前会员状态 / 未开通会员 / desc.
|
||||
$status_html = '<div class="uc-vip-status flex xx gap6">'
|
||||
. '<div class="em09 muted-2-color">' . esc_html__('当前会员状态', 'aksrt') . '</div>'
|
||||
. '<div class="flex ac">'
|
||||
. '<div class="em16 c-red mr10">' . esc_html__('未开通会员', 'aksrt') . '</div>'
|
||||
. '</div>'
|
||||
. '<div class="muted-color em09">' . esc_html($desc_top !== '' ? $desc_top : __('开通会员,尊享专属特权', 'aksrt')) . '</div>'
|
||||
. '</div>';
|
||||
$btn_type = 'pay';
|
||||
}
|
||||
|
||||
// Left user box (zibll user_box).
|
||||
$user_box = '<div class="flex ac uc-vip-userbox">'
|
||||
. '<div class="mr20 shrink0"><div class="avatar-img avatar-md">' . $avatar . '</div></div>'
|
||||
. '<div class="flex1 min-w-0">'
|
||||
. '<div class="name em12 font-bold">' . $name_html . '</div>'
|
||||
. '<div class="desc em09 mt6 muted-2-color text-ellipsis">' . esc_html($user_bio) . '</div>'
|
||||
. '</div>'
|
||||
. '</div>';
|
||||
|
||||
// Level cards.
|
||||
$cards = '';
|
||||
foreach ([1, 2] as $lv) {
|
||||
@@ -133,14 +175,13 @@ if ($level <= 0 && !empty($vip_settings['points_exchange']['enabled'])) {
|
||||
}
|
||||
?>
|
||||
<div class="uc-vip-tab" data-aksrt-vip-tab>
|
||||
<div class="zib-widget flex ac user-content-myvip overflow-hidden">
|
||||
<div class="zib-widget flex ac gap20 user-content-myvip overflow-hidden">
|
||||
<div class="vip-img abs-right" aria-hidden="true"><i class="fas fa-crown"></i></div>
|
||||
<div class="flex ac flex1 relative uc-vip-user-row">
|
||||
<div class="avatar-img"><?php echo $avatar; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
|
||||
<div class="flex1 min-w-0">
|
||||
<div class="font-bold mb3"><?php echo esc_html($display); ?></div>
|
||||
<?php echo $status_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
</div>
|
||||
<div class="flex2 hide-sm uc-vip-profile">
|
||||
<?php echo $user_box; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
</div>
|
||||
<div class="flex4 uc-vip-state">
|
||||
<?php echo $status_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user