Give the standalone promotion tab its own stylesheet and a task-priority
layout (成果概览 → 分享操作 → 奖励说明 → 邀请记录).
- assets/css/routes/user-center/promotion.css: new module owning all
uc-promotion-* rules; flattens #panel-promotion chrome, adds focus-visible
on the copy button + link input, and a ≤640px single-column layout with a
full-width copy button (no horizontal overflow)
- user-center.css: import the new promotion.css
- user-center/revenue.css: drop the now-migrated uc-promotion-* rules (keep
only the revenue-layout mobile rule)
- profile-invite.php: refresh doc header to describe the section priority
order; copy button stays a focusable <button>, credits.js keeps text-based
success/failure feedback via [data-invite-copy-feedback]
Register a dedicated `promotion` dashboard panel gated by the existing
invite switches (credits + invite reward + invite registration), and move
the invite card out of the revenue tab so 收益中心 is pure earnings/withdrawal.
- src/User/Center.php: register promotion panel; revenue no longer depends
on invite being on
- inc/helpers/user-center-renderers/profile-promotion.php: new panel body
hosting the existing [data-aksrt-invite] card
- profile-revenue.php: drop the invite section; aksrt-user-center.php: drop
unused show_invite_section context, add promotion to built-in tabs + view map
- repoint invite/promotion deep-link aliases from revenue to promotion across
tab-url builder, tab resolver, runtime tabAliases, urls.php, and the
revenue-JS enqueue gate
- sidebar-nav.php: add 推广中心 service entry; shell.css: entry icon color;
sidebar-creator.php: reword revenue card
- UserRuntime.php: allow promotion in configurable tabs
Remove level-specific gradients from the top membership summary while preserving icon accents and purchase cards.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tone down the top membership summary to the existing VIP card language without changing purchase-card styles or behavior.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Restore the existing membership purchase cards and keep the UX refresh limited to the top membership summary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Remove the shared dashboard card around the VIP panel and render membership details as title, level, intro, and expiry rows.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Remove profile identity chrome from the VIP header, keep the crown watermark, and flatten the summary into one thin card while preserving membership purchase cards.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Close the full circuit break in the badge/medal system and replace
empty default icons with preset SVG assets so badges render out of
the box:
- Add aksrt_get_worn_medal_icon() helper that renders the worn medal
image inline (with settings fallback when the Badges class is
unavailable).
- Profile header (UC) now shows the worn medal icon beside the name,
matching zibll's name row order (display_name → VIP → Medal → Level → Verify).
- Add .medal-icon / .aksrt-identity-medal vertical-align rules in UC shell.css.
- Extract SchemaUsers::default_medal_args() and preset 6 badges (rookie,
checkin-30, writer, popular, annual-star, vip-member) with real icon
URLs from assets/img/medal/ (medal-1/2/5/9/12/15.svg).
- Vue badge.js: add MEDAL_BASE helper + preset icons matching PHP defaults.
Per feedback the 待支付/售后 shortcut row is not wanted. Remove the nested
quick grid, delete the now-orphaned sidebar-orders renderer, and strip its
uc-order-grid CSS. 我的订单 remains a single tile in the 我的服务 grid.