The level (等级) badge was wrapping to its own line below the username and
rendering at the intrinsic PNG size in most surfaces. Centralize the badge
sizing after zibll's `.img-icon` (height: 1.1em, inline-block) in base.css so
every route gets the same compact inline badge, and keep the name row from
flex-wrapping.
- Add shared `.aksrt-user-level-icon / .aksrt-identity-medal` rule + nowrap name
rows in base.css (loaded on all routes).
- Header dropdown: append the level icon next to the display name (was a
separate badges row); constrain the name to ellipsis so the badge never wraps.
- User center profile header & author hero: render the level icon inside the
<h1> name row; drop the duplicate level chip from the signals row.
- Single article author bar / after-box author card: nowrap the name row and
size the level icon to 1.2em (was unstyled → intrinsic PNG size).
- Comments: inner <name> nowrap with a name clamp; medal sized to 1em.
- Consolidate the per-route `.aksrt-user-level-icon` duplicates in
user-center/level.css and profile/layout.css onto the shared rule.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fix modal scroll ownership and certification modal styling, store evidence as Media Library attachments, reconcile missed provider callbacks, validate currencies, and complete digital fulfillment only after durable entitlement delivery.
Capture real client IPs behind CDN, improve provider fallbacks and
negative cache, fix admin credential dependsOn for polling mode, and
map country labels to ISO codes for moderation GeoIP blocks.
Order progress was stuck on "订单创建" because timeline only read sparse
timestamp columns and status transitions didn't always stamp them.
Drive timeline from current status + related records, backfill lifecycle
timestamps on update_status, and replace window.confirm cancel with a
关闭订单 → 确认取消 button step in the detail modal.
Restructure the order detail modal into status-tinted hero, product
card, info list with copyable order number, multi-item lines, and a
newest-first timeline. Refresh spacing, dark mode, and footer buttons.
The user center already has a dedicated tab for these; showing the
secondary shortcut inside the order detail modal is redundant noise.
The view-model field is kept for other consumers.
- Remove bottom "关闭" button so the top-right ✕ is the single dismiss.
- Drop redundant 订单类型 row from modal body (already shown as card chip).
- Add hero strip with status pill + amount; unify dt/dd rows into a
bordered card; tighten items list and add timeline rail.
- Refresh modal styling: rounded dialog, gradient header, hover-lift
buttons, mobile-friendly rows.
Wire admin payment_order_prefix into order number generation (with 32-char
cap for gateways), make 查看 open a full order-detail modal with
status-aware footer actions, keep type badge top-left only, and right-align
unpaid list actions with countdown on the left.
Add AKSRT\Payment\OrderCenterRest so /shop/frontend/orders/{n}/pay|cancel
always register on rest_api_init; widen order_number route charset; make
order-center.js use credentials, encodeURIComponent, and clearer 404 errors.
Refresh orders.css for embedded user-center layout: segmented status
tabs, stat tiles, card hierarchy, action pills, after-sale list, and
dark mode; light HTML polish for title and empty state.
Register UC panel tab=orders with full order list/actions UI; route
aksrt_get_orders_page_url and /orders template to profile?tab=orders;
enqueue order assets when the UC orders tab is active.
Unify front-end order center across shop, content, VIP, recharge,
points, and plate-follow with type filters, stats, and type-aware
cards; keep shop-only fulfillment actions; ensure 权益与消费 entry URL.
Opening 余额功能 alone now enables cash-wallet pay (unless 余额支付 is explicitly off). Drop points-as-balance fallback, stop fake method injection, expose real wallet in cashiers, and honor auto_to_balance on recharge fulfill.
credits.js hardcoded siteUrl + /wp-json/aksrt/v1 which 404s when WP uses
plain permalinks (?rest_route=...). Prefer aksrtData.restUrl/apiUrl and
harden header-userbox path join for the same case.
aksrt_get_new_post_url() returns '' without a page-submit assignment,
which previously skipped the post action and emptied the multi-type
chip. Fall back to post-new.php, keep a last-resort action list, put
radius/jb paint on the toggle, and force chip visibility CSS.
Paint classes (jb-*/but/radius) were on the transparent newadd wrapper,
so the multi-type 发布 toggle rendered invisible outside navbar-but-cluster.
Move them onto .newadd-btns__toggle and style the bare DOM path.
AKSRT loads BS5 (.navbar --bs-navbar-padding-y:.5rem) while zibll uses
BS3 without it; that alone added ~16px. Zero BS navbar pad, keep only
.header 8px 20px (mobile 0 8px), horizontal CTA margins, tighter mobile
logo/toggle row.
Drop forced 34px CTA chips and container min-height:50 that inflated
or shrank the bar vs zibll. Restore .navbar-but .but to 0.8em / 0.3em
1em / margin 0.4em; keep logo 36px, header pad 8px 20px, fixed reserve 88px.
header_newposts_types is multi-select but PHP schema used type=select,
so validate() rejected arrays with 422. Use checkbox and allow
select+multiple arrays in SchemaProvider.
Local WP has empty permalink_structure so /wp-json/* 404s on Apache.
modal-auth fell back to /wp-json/aksrt/v1; prefer aksrtData.restUrl
(index.php?rest_route=/aksrt/v1) and join paths correctly.
.aksrt-wave was injected into .but without position:absolute, so the
oversized span expanded header publish/VIP buttons on click. Make the
wave absolute, honor .nowave, and skip navbar CTA roots.
Live header uses .navbar-form.navbar-but without .navbar-but-cluster;
remove em padding/height:auto/min-height calc that grew chips on press
and override .but.radius padding so publish/VIP stay fixed size.
Lock top-bar button transforms on press; anchor avatar dropdown under
the trigger; show mobile drawer toggle only ≤767 and grid-layout the
mobile header so logo and menu no longer overlap.
Drive toggle glyphs with html.dark/body theme classes only, drop
inline display styles that lost to !important CSS, and give the
float rail a solid surface + brighter ink in dark mode.
Scope multi-type newadd wrapper rules so they cannot collapse single CTA links; re-enqueue nav.css after header-menu-buttons for final zibll alignment.