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
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.
The standalone order card is folded into the 我的服务 (My Services) sidebar
section: 我的订单 becomes a service-grid tile (all orders), with the
待支付/售后 quick shortcuts rendered beneath it as a compact row. Gated on
the orders dashboard tab being registered so no dead tile appears when the
payment stack is absent.
Rebuild /profile layout as zibll-style user-center flex (sidebar 320px
first, content flexes). Drop content-layout float shell classes so the
stats/assets nav stays left of the credits panel on desktop and drawer
on tablet/mobile.
Drop bare .sidebar from the profile aside so site-layout float/hide no
longer stacks stats/assets under content; harden page-owned grid + drawer
selectors on uc-sidebar/page-owned only.
User center left nav (stats/services/commerce) stacked or hid after
content-layout lost its grid and the site float shell treated the
nested .sidebar as a widget column. Scope a CSS grid under
body.aksrt-user-center, neutralize site-layout float/hide, align the
drawer to ≤991.98, and drop the truncated #panel-credits selector.