Commit Graph
266 Commits
Author SHA1 Message Date
kate522 370ddc70d3 fix: 完善认证图标展示 2026-07-31 11:01:33 +08:00
kate522 ec63b446e8 feat: 固定个人与企业认证流程 2026-07-31 10:56:59 +08:00
kate522andClaude Fable 5 aa098fe870 feat(widgets): phase 4 align user/author/slider widgets 1:1 with zibll
Align the 5 user/author/slider widgets with Zibll CSF widget
definitions in widget-user.php / widget-slider.php and
options-module.php (add_slider / slide / zib_palette):

- WidgetUserCard (widget_ui_user): add Zibll button palettes
  (button_1_class/button_2_class via new palette_opts()/
  sanitize_palette() replicating CFS_Module::zib_palette c/b/jb)
  and button_2 type (home/center) → profile/center URL.
- WidgetAuthorCard (widget_ui_avatar): add show_button +
  button_1/button_2 (class/text/type) rendered only when the
  logged-in viewer is the author (zibll parity); expand orderby
  to modified/like/favorite.
- WidgetUserRanking (zib_widget_ui_user_ranking): rename field
  to Zibll `orderby` (default checkin_all_day) with the exact
  4 dims (checkin_all_day/checkin_continuous_day/points→credits
  /followed-user-count→followers) + `number` (was count); keep
  rank_by/count aliases for legacy instances; reword desc
  options to match Zibll labels.
- WidgetSlider (zib_widget_ui_slider): add direction/speed/
  spacebetween/scale_height+scale/autoplay to form+update+render,
  pass through to aksrt_render_slider (effect/loop/button/
  pagination/pc·m_height/interval already present); widen
  interval min to 0, height default to 400 (zibll pc_height).
- aksrt_user_card_query_posts: support like/favorite orderby
  (meta _aksrt_like_count / _aksrt_favorite_count) so the
  author/user-card more-posts strip honors the expanded orderby.

Acceptance: php -l clean on all changed files; audit exit 0;
all widget files <=383 lines. Phase 4 done-when marked.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 21:16:55 +08:00
Claude d975ff4ce6 feat(phase2): shared common-form layer + CommonWidgetFields trait for all widgets
- Extract Zibll CSF_Widget::params() common-field parity into
  inc/modules/widget-common.php (required by widgets-register.php to keep
  both files <1000 lines): subtitle, title_style(simple/big), title_highlight
  +color, title_link x3, title_link_style colors, sidebar_affix, show_type
  (all/only_pc/only_sm), show_id_type(show/hide), show_ids, animation_in,
  animation_repeat, layout_pin_pc/m, layout_bg(white/dark). Adds
  normalize_link/normalize_bg helpers, affix_attrs, common_wrapper_attr,
  render_title, animation_class. Back-compat normalizes legacy tokens
  (in_affix->sidebar_affix, pc/only_pc, include/exclude->show/hide).
- Add src/AKSRT/Widgets/Traits/CommonWidgetFields.php trait
  (render_common_form_section + update_common_fields).
- Wire all 57 widgets to use the trait; migrate the 16 hand-rolled in_affix
  implementations to shared sidebar_affix (fixes 6 latent bugs where
  in_affix was never persisted). SearchWidget intentionally skips the shared
  form section (its business show_type collides) but adopts the affix helper.
- widget_display_callback parity verified via tmp assertion script.

Refs .specs/plans/zibll-widgets-1to1.md Phase 2 (US1/US5)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 20:42:46 +08:00
Claude 98aeee3cc1 fix(phase1): backfill pagination, fix card stacking, unify archive render
- Backfill aksrt_render_pagination() into inc/helpers/aksrt-template-tags.php
  (numbered + load_more/infinite branches, \AKSRT\Settings\Settings facade)
- post-card.css: drop display:block !important from base .posts-item so
  .posts-item.card inline-block 3-col grid wins; scope <posts> block forcing
- archive-resources.php: replace hand-written .posts-row.ajaxpager +
  get_template_part loop with aksrt_render_post_list() + aksrt_render_pagination()

Refs .specs/plans/zibll-widgets-1to1.md Phase 1 (US2/US3/US5)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 19:05:43 +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 d5be2879d0 fix(user): accept core avatar hook payload 2026-07-30 11:05:25 +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 eed75d9f15 fix(user): move avatar upload to hover overlay 2026-07-29 14:17:52 +08:00
kate522 224691e709 fix(user): normalize default avatar filename 2026-07-29 13:53:59 +08:00
kate522 eeabe1d384 fix(user): harden native avatar uploads 2026-07-29 13:39:02 +08:00
kate522 e94437ef60 feat(user): add local avatar management flow 2026-07-29 13:35:17 +08:00
kate522 2dfaa10798 fix(identity): complete native certification review flow 2026-07-29 12:25:58 +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 d3bf75fbea fix(user-center): connect certification workflow 2026-07-28 14:17:18 +08:00
kate522 a7f3caec59 feat(user-center): redesign sidebar and wallet tips 2026-07-28 13:41:00 +08:00
kate522 e47ee1b029 feat(user-center): deepen zibll parity and profile media 2026-07-28 12:22:52 +08:00
kate522 bcebd37807 fix(homepage): unify runtime rendering contract 2026-07-28 02:54:18 +08:00
kate522 2086f938ed feat: deepen single post experience 2026-07-28 02:07:10 +08:00
kate522 59f5d5d98a fix(ip-geo): harden full-chain IP geolocation reliability
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.
2026-07-27 15:39:16 +08:00
kate522 a1e35a4499 feat(orders): order detail modal, list actions, use configured prefix
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.
2026-07-27 12:39:21 +08:00
kate522andClaude Fable 5 723dd180e4 feat(payment): tighten gateways and implement Epay
Keep only balance, Alipay, WeChat, PayPal, Stripe, Epay, and card-pass
channels; remove placeholder aggregators. Add dual-channel Epay gateway
with MD5 notify/return, register cashier methods, and gate card-pass
redeem behind the payment channel switch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 12:59:28 +08:00
kate522 a93aab991e fix(uc): drop 我的订单 from 我的服务; keep under 权益与消费 2026-07-25 16:31:43 +08:00
kate522 6abcdf65e0 fix(user): enable pretty /user and /profile when permalinks empty 2026-07-25 15:56:11 +08:00
kate522 3bb7fb0ba6 refactor(ip-geo): drop dual-read gates; keep single meta and four surfaces
Canonical keys only (ip_geo_display defaults to all four, aksrt_user_addr /
aksrt_comment_addr only). Self-view still resolves current IP on read.
2026-07-25 15:14:29 +08:00
kate522 6e71008d00 fix(auth): logout without /logout rewrite (avoid Apache 404) 2026-07-25 15:09:58 +08:00
kate522 820fafd8a7 fix(user): show IP city on home/center and force /user + profile templates 2026-07-25 15:02:57 +08:00
kate522 ac7ff8d4f2 feat(ip-geo): full-chain IP 归属地 on comments, user home, center, post 2026-07-25 14:39:47 +08:00
kate522 3117081a58 style(orders): polish UC order center cards, tabs, and empty state
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.
2026-07-25 13:58:44 +08:00
kate522 354a1072ef feat(orders): embed My Orders inside user center (zibll-style)
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.
2026-07-25 13:54:08 +08:00
kate522 59901bdc26 fix(orders): route /orders without WP page (404)
Register commerce rewrite aliases and special-template bootstrap so
/orders loads page-orders even when no page is assigned; flush rules.
2026-07-25 13:40:56 +08:00
kate522 3baa8573c9 feat(orders): full-chain My Orders for all product types
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.
2026-07-25 13:33:43 +08:00
kate522 daba099755 fix(payment): align plate-follow cash preview with wallet balance
Use cash wallet for plate follow cashiers and stop stubbing methods when Gateway is missing.
2026-07-25 13:13:56 +08:00
kate522 3267bee71e fix(payment): wire balance wallet end-to-end when pay_balance_s is on
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.
2026-07-25 12:46:38 +08:00
kate522 a1852714d3 fix(nav): keep radius/jb paint tokens on 发布 toggle not wrapper 2026-07-25 12:00:36 +08:00
kate522 c8b4d1a851 fix(nav): never drop top-nav 发布 when submit page URL is empty
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.
2026-07-25 12:00:07 +08:00
kate522 e194c603cb fix(nav): restore multi-type 发布 chip paint on bare navbar-but
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.
2026-07-25 11:51:47 +08:00
kate522 e98f94bc06 fix(nav): align header user-card VIP CTA with check-in button
Drop navbar-cta/pill radius classes from the dropdown 开通会员 link and
force full-width 6px radius geometry to match the签到 button.
2026-07-25 11:42:13 +08:00
kate522 2898922a17 fix(theme): stop sun/moon overlap and restore dark float contrast
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.
2026-07-25 10:18:19 +08:00
kate522 683506f3a2 fix(nav): finish top-bar icon/text baseline alignment
Center toggle/badge FA icons, normalize CTA icon+label without raw spaces, and extend .but FA5 margin so navbar text/icons match zibll.
2026-07-24 12:24:32 +08:00
kate522 a25feb4161 fix(header): align header-slider DOM/height with zibll demo
Match demo.zibll.com slide markup (a/span wrap, data-* attrs, --pc/--m height on .new-swiper), keyword chip classes, and height CSS so the top multifunc block renders like the official demo.
2026-07-24 11:02:42 +08:00
kate522 96bd9d949d fix(header): full zibll 1:1 for top multifunc search/cards/admin
Wire hero search through aksrt_get_search_box, device-gated cards/blur (zib_m_pc_is_show), expanded admin schema, and keyword/type UI styles matching zibll header-slider.
2026-07-24 10:43:29 +08:00
kate522 e35011f2c0 fix(header): 1:1 zibll overlay icon cards for top multifunc component
Rebuild header-slider card DOM/CSS against zib_header_slide + zib_icon_cover_card so shared/individual backgrounds, flex gutters, and badge icons match the reference theme.
2026-07-24 10:30:22 +08:00
kate522 7d33097209 fix(layout): restore Zibll float dual-column so content no longer overlaps sidebar
Align main shells to main.container > .content-wrap + .sidebar siblings, drop
content-shell padding on dual-column hosts, and remove route flex overrides that
disabled the negative-margin sidebar math.
2026-07-22 21:05:12 +08:00
kate522 c5c238bb63 fix(nav): stop Bootstrap .collapse from hiding desktop top bar
Markup used `collapse navbar-collapse`; BS5 hides `.collapse:not(.show)`.
Drop the `.collapse` class in the header shell and force desktop
`.navbar-collapse` to display:flex so menu/CTA/user/search stay visible.
2026-07-22 20:08:54 +08:00
kate522 0d9db942f8 feat(nav): close P0/P1 parity gaps (nav style, history, plate, admin build)
Wire header_nav_style transparent/blur, login history sync, plate publish
type, clean dead search CSS, rebuild admin SPA locally (build gitignored).
2026-07-22 17:38:48 +08:00
kate522 1d1fef50af feat(nav): deep 1:1 zibll search-box + navbar-search + newposts unify
Port aksrt_get_search_box/posts for menu_search and layout 1/3 slide;
unify publish switch; expand user-box admin row; CSS/JS remote-box parity.
2026-07-22 17:06:24 +08:00
kate522 147fd6eaf7 feat(nav): full-push menu_search types, senior arrangement, CSS polish
- Menu search panel type chips when multi-type search enabled
- Graphic card arrangement (wrap/swiper) in senior menu editor
- Nav utility CSS: avatar, sub-user width, type chips, mid fold visibility
2026-07-22 12:58:53 +08:00