Commit Graph
60 Commits
Author SHA1 Message Date
kate522andClaude Fable 5 7bb429bcb9 fix(user-center): make rebate details full width
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 13:03:30 +08:00
kate522andClaude Fable 5 487a63629c fix(user-center): refresh revenue withdrawal state
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 12:51:01 +08:00
kate522andClaude Fable 5 8a007b9ee7 fix(user-center): restore ajax tab navigation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 12:41:36 +08:00
kate522andClaude Fable 5 02fcde3c84 fix(user-center): load revenue tabs without refresh
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 10:42:32 +08:00
kate522 39c92017d9 feat(user-center): merge promotion rewards into revenue 2026-08-05 23:43:16 +08:00
kate522 52ad9fbbd3 feat(user-center): redesign 推广中心 panel + extract promotion.css
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]
2026-08-05 17:26:56 +08:00
kate522 51274fd00a feat(user-center): promote invite into standalone 推广中心 tab
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
2026-08-05 16:45:47 +08:00
kate522andClaude Fable 5 5375ad6429 perf(modal): unify cancellable frontend modal flows
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 02:04:55 +08:00
kate522andClaude Fable 5 b9a84ba063 fix(vip): keep summary surface white
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>
2026-08-04 19:56:45 +08:00
kate522andClaude Fable 5 3283d7de0a style(vip): match summary card to purchase cards
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>
2026-08-04 19:50:59 +08:00
kate522andClaude Fable 5 21c3300255 fix(vip): scope redesign to summary card
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>
2026-08-04 19:34:53 +08:00
kate522andClaude Fable 5 b60894a371 design(vip): refresh membership card experience
Introduce state-aware membership hierarchy, token-based styling, responsive level cards, and a non-interactive permanent VIP2 state.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 19:28:57 +08:00
kate522andClaude Fable 5 0551260403 fix(vip): flatten panel and format membership summary
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>
2026-08-04 18:43:54 +08:00
kate522andClaude Fable 5 480a0bb498 refactor(vip): simplify user center membership summary
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>
2026-08-04 18:34:28 +08:00
kate522 ed19937e99 feat(badges): zibll-style badge modal with category grid, detail view, and wear UX 2026-08-04 12:46:44 +08:00
kate522 4849869289 fix(badges): reset border/outline/shadow on worn medal icon
Defensive reset for UC header medal-icon to ensure no wrapping line
from inherited button/link/image styles.
2026-08-04 11:10:36 +08:00
kate522 e991f1a0c6 fix(badges): complete full-chain badge circuit and preset icons
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.
2026-08-04 10:36:50 +08:00
kate522 9fa9a4cbaf feat(users): style VIP sidebar card 2026-08-03 22:11:09 +08:00
kate522 ac714a2839 fix(users): remove revenue panel nesting 2026-08-03 16:29:53 +08:00
kate522 21ea8eac43 feat(users): separate revenue center cards 2026-08-03 16:26:39 +08:00
kate522 49c12b761f feat(users): merge promotion into revenue center 2026-08-03 15:38:17 +08:00
kate522 e71a5b7585 refactor: drop order quick shortcuts, keep My Orders tile only
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.
2026-08-03 09:16:29 +08:00
kate522 16fdeceaf7 refactor: move user-center My Orders into My Services section
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.
2026-08-03 09:09:02 +08:00
kate522andClaude Fable 5 63705dfde0 fix: 精简身份认证申请表单
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 19:15:01 +08:00
Claude 4325ce0c1c fix(ui): render user level icon inline beside the name
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>
2026-07-30 18:13:41 +08:00
kate522 d4946ee554 fix(user): close level parity gaps 2026-07-30 10:21:48 +08:00
kate522 20c19dfe31 feat(user): complete growth level chain 2026-07-30 09:38:45 +08:00
kate522 815e83bac0 fix(user-center): complete certification and order flows
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.
2026-07-29 10:29:59 +08:00
kate522 0a04c3e4cc fix(user-center): embed official certification panel 2026-07-28 15:22:09 +08:00
kate522 a7f3caec59 feat(user-center): redesign sidebar and wallet tips 2026-07-28 13:41:00 +08:00
kate522 5ca3ead6aa fix(vip): 1:1 zibll VIP profile card with dual-column layout 2026-07-21 20:37:25 +08:00
kate522 23416515d3 fix(vip): remove forced equity bullet dots 2026-07-21 20:24:56 +08:00
kate522 fce5ab3088 fix(vip): preserve equity HTML instead of re-splitting into list items 2026-07-21 20:19:11 +08:00
kate522 ee5a16f9a0 fix(ui): center float QR titles and repair UC VIP layout 2026-07-21 19:51:08 +08:00
kate522 f9b495eb14 fix(ui): VIP equity list wrap and theme toggle moon/sun icons 2026-07-21 18:19:42 +08:00
kate522 1f87ab3b1b feat(vip): Batch 3 dedicated user-center VIP tab
Register 我的会员 panel, zibll-style status/equity cards, sidebar deep-link,
and slim credits-tab entry so VIP is no longer nested only under assets.
2026-07-21 17:09:23 +08:00
kate522 c789f71526 fix(user-center): drop outer mega-card under assets
Assets row is layout-only; each wallet/points cell is one card.
Strip zib-widget shell from record tabs so nothing stacks under.
2026-07-17 15:24:22 +08:00
kate522 e24780386b fix(user-center): put wallet and points on one asset row
Drop nested zib-widget chrome on dual cards; one surface with
side-by-side cells (stack on mobile) instead of card-on-card.
2026-07-17 15:20:21 +08:00
kate522 7177b090de fix(user-center): align dual-column with zibll flex shell
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.
2026-07-17 09:16:27 +08:00
kate522 9829d94cb7 fix(user-center): keep page-owned nav left of credits panel
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.
2026-07-17 07:30:27 +08:00
kate522 5949c7a503 feat(identity): close free-task progress, level card, hot threshold
Finish remaining 1:1 parity gaps: free-task done/progress DTO with
daily marks, user-center level/integral card UI, configurable forum
hot recommend threshold, and task progress bars.
2026-07-17 02:05:10 +08:00
kate522 487681a6c4 feat(identity): tip QR upload, metrics engine, comment moderate caps
Close identity 1:1 gaps after p1: user-center weixin/alipay tip QR
upload+save, AKSRT_User_Metrics counters for medal get_type and level
XP bridges, forum/revenue/signin hooks, comment moderate via user_caps,
and clearer free-task deep links/status CTAs.
2026-07-17 01:52:35 +08:00
kate522 de32c9ad35 feat(user): wear badge modal and user-center entry
Expose 我的徽章 modal on profile header with REST wear actions and
update SPA badge help for icon_url + grant/wear flows.
2026-07-16 23:40:50 +08:00
kate522 a3585b0f96 feat(user-center): task list go-to actions for free points
Add per-task CTAs (去签到 / 去完成 / 去看看) on the free points tasks list,
with sign-in proxying to the asset-card button and bbs actions gated
on forum availability.
2026-07-16 22:11:52 +08:00
kate522 4da003663d fix(pay): refund wallet on withdraw reject and show pending history
Close the freeze/refund loop when admin rejects a balance withdrawal,
block concurrent open applications, and surface processing state plus
server-rendered withdraw history on the wallet card.
2026-07-16 16:28:56 +08:00
kate522 d57fc6f934 feat(user-center): points buy, balance withdraw, and asset record tabs
Add cash purchase of points (points_pay_s), wallet withdraw requests via
AKSRT_Withdrawal, Zibll-style dual-card layout with tabbed balance/points
ledgers, and admin switches for buy-points packages and balance withdraw.
2026-07-16 15:38:55 +08:00
kate522 0529ab5fb9 feat(user-center): Zibll-like assets charge, transfer, and dual cards
Complete wallet/points assets surface: sidebar mini dual cards, dual
asset row, balance charge packages REST + modal, transfer search/pay,
points-to-balance exchange, and payment success credit for recharge
orders.
2026-07-16 14:53:28 +08:00
kate522 8e0f9d989d feat(user-center): add cash wallet balance separate from credits
Introduce AKSRT_Balance (user_meta aksrt_balance + balance_log) for
Zibll-like pay_balance wallet. User center assets panel shows wallet
and points; balance gateway/card-pass/refunds credit cash when enabled.
2026-07-16 13:44:37 +08:00
kate522 c656c20c8b fix(user-center): restore page-owned dual-column sidebar layout
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.
2026-07-16 11:56:09 +08:00
kate522 d34c954b83 feat(pay): card-pass redeem for VIP and balance (zibll-style)
Rewrite charge-card into typed single-use card_pass inventory with public redeem REST, user-center UI for balance/VIP, admin type-aware create/batch, and CAS mark-used fulfillment via Credits/activate_vip.
2026-07-14 20:13:46 +08:00