Commit Graph
162 Commits
Author SHA1 Message Date
kate522 e2587ca3a0 feat(ux): shared ajax-list/remote-modal + order review modal 1:1
Add zibll-parity AjaxList/RemoteModal engines and replace order-center
prompt() review flow with multi-dim star modal, multi-image upload,
auto-praise countdown, and REST review-modal endpoint.
2026-07-18 16:26:28 +08:00
kate522 276a2891ba feat(comments): full 1:1 zibll comment kernel for posts, forum, shop
Extract shared comment helpers (content/item/form/geo/actions), port GIF
[g=] smilies + FixedInput/moveForm UX, wire close_comments/city/quick
settings, REST comment get, and align product review chrome with zibll.
2026-07-18 15:51:47 +08:00
kate522 518e825bdd feat(front-submit): 1:1 写文章/投稿页对齐 zibll newposts
Register AKSRT 写文章/投稿 page template, wire header publish entry to
front submit URL, rewrite page-submit as dual-column TinyMCE compose with
featured cover, multi-category/topics/filters, pay box, drafts, and
capability-gated FrontSubmit AJAX (pay/featured traits).
2026-07-18 13:29:27 +08:00
kate522 397231ca75 fix(hero): align header slider title/search stack with zibll
Put hero main title/subtitle in search before_html (document flow),
move the search overlay outside the swiper as a sibling, and reset
search/slide-text positioning to zibll tops so title and search no
longer overlap.
2026-07-17 23:00:33 +08:00
kate522 40b6017a7b fix(forum): hard-fail delete-draft AJAX when server returns HTML
admin-ajax 500 HTML recovery page made r.json() throw; parse text
safely and surface a clear alert for deploy lag.
2026-07-17 16:27:43 +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 6bd7676b73 fix(yiyan): stop invalid Hitokoto category requests
Public hitokoto v1 rejects c=hitokoto (and ignores batch count). Whitelist
categories a–l, multi-fetch for carousel, and share full markup via
aksrt_render_yiyan_block so single-post shells actually render quotes.
2026-07-17 10:33:00 +08:00
kate522 fe870bfc19 refactor(icons): replace local brand SVGs with FA5 classes
Unify social/OAuth/contact icons on the global Font Awesome 5.15.4 pack,
add aksrt_render_social_links for author hero, enqueue FA on admin SPA,
and delete assets/img/icons.
2026-07-17 10:05:27 +08:00
kate522 56b9d61209 fix(nav): cancel full fixed-nav reserve under homepage hero
body.nav-fixed pads 88px but hero only pulled up by --nav-height (60px),
leaving a blank strip above the slider. Share --nav-fixed-reserve so body
padding and hero margin-top cancel exactly, matching zibll slide-header.
2026-07-17 09:32:28 +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 8d4e94a02c feat(identity): author card, per-user tip, comment caps, task status
Author card uses configurable limit/orderby/style and self CTAs.
Tip is per-user weixin/alipay QR modal (no site-global image).
Comment action permissions honor user_caps matrix.
Free points tasks expose done_today/passive status + better comment deep link.
audit-admin-contracts errors=0.
2026-07-17 01:21:35 +08:00
kate522 b4d04ae346 feat(users): medal auto-grant + aksrt_get_user_name chrome
Add AKSRT_User_Badges::auto_evaluate on login for get_type metrics,
introduce aksrt_get_user_name (auth→wear medal→level→follow order),
wire single author bar/card, and document transfer/withdraw default-closed
semantics on capabilities page. audit errors=0.
2026-07-17 01:12:09 +08:00
kate522 1b0eed6ef7 feat(users): level integral XP schema + AKSRT_User_Level runtime
Rewrite /users/level to Zibll-like user_level_s/max/opt and
user_integral_opt. Runtime grants XP with day_max, resolves level,
hooks login/register/post/comment/like/favorite/follow. Profile
signals read integral-backed levels. audit errors=0.
2026-07-17 01:05:39 +08:00
kate522 e80d8ea45d feat(users): rewrite medal catalog + verify apply SPA contract
Replace user_badge_dictionary textarea with structured user_medal_*
catalog (categories/items/get_type). Expand verify SPA/PHP to Zibll
apply fields. Reader derives badge.dictionary from medal catalog for
existing AKSRT_User_Badges wear/grant runtime. No dual-read of old
pipe dictionary. audit-admin-contracts: 0 errors.
2026-07-17 01:00:05 +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 9b98080daf fix(single): author card follow and identity parity
Add follow CTA to after-box author card, wrap bar label in span, and
harden follow.js label updates when span is missing.
2026-07-16 22:33:18 +08:00
kate522 2c31da1454 fix(share): mobile share chrome and tabbar poster entry
Use a bottom sheet share panel on small screens and add a one-tap
poster button to the single-post footer tabbar extend.
2026-07-16 22:31:18 +08:00
kate522 357d710b1b fix(comments): denser zibll-like chrome and guest fields
Tighten comment form density, collapse guest name/email behind a
toggle, and refine empty-state copy for closed/author-only views.
2026-07-16 22:23:01 +08:00
kate522 1d75170f8e feat(user): badge icon urls and wear medal chrome
Extend badge dictionary with optional icon_url, prefer aksrt_wear_badge
when assigned, and render medal images in identity chips.
2026-07-16 22:17:21 +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 defb64fd89 feat(single): identity chips, comment 神评, reward open from author bar
Share VIP/verify/level/badge chrome via aksrt-identity helpers on author
bar, author card, and comments; mark hot comments; open reward modal from
author actions; admin threshold for 神评; task list go-to actions.
2026-07-16 20:32:46 +08:00
kate522 a0748c08fe feat(frontend): illustrated null states and author rewards fallback
Add aksrt_get_null / widget null helpers with null.svg, use them in
sidebar widgets, comments empty, and related posts; when PM is off show
post rewards entry on the single author bar.
2026-07-16 19:33:57 +08:00
kate522 b1731f7a8d feat(assets): forum free-task depth, withdraw notices, share poster
Route forum essence/adopt/hot/score rewards through free-points day cap,
notify users on withdraw complete/reject, surface 海报分享 on single
share grid, and extend admin free-task keys for the remaining matrix.
2026-07-16 17:46:51 +08:00
kate522 15a883eb54 feat(credits): free points tasks matrix, day cap, and tasks tab
Add AKSRT_Points_Free for catalog/day-max/daily detail, wire the full
earn matrix (login, post, like, favorite, follow, comment, forum),
expose 积分任务 + 每日详情 tabs, and expand admin free-task settings.
2026-07-16 16:29:15 +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 f043d2c1ab fix(single): close remaining live gaps vs Zibll demo
Align runtime --sidebar-width (300→311), --main-radius, and
body.nav-fixed 88px reserve; enqueue single-post CSS parts directly;
match Zibll action buttons and author avatar DOM; tighten dual-column
tokens after comparing blog.rutua.cn with demo.zibll.com.
2026-07-16 13:07:42 +08:00
kate522 6c354fb086 fix(single): restore Zibll float dual-column and article chrome
Align single-post layout/visuals with Zibll: fix sidebar-over-content
float geometry (position:unset, 311px token, kill Bootstrap/container
padding and the 280px sidebar override), demote theme-box to spacing-
only, unify breadcrumb/cover/graphic utilities, and split aksrt-single
render helpers under the file-size limit.
2026-07-16 12:44:09 +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 ee49d1628a feat(admin): list-modal UI for header icon cards repeater
Render icon cards as a compact list with edit/delete actions and
preview on the right; field data is edited in a modal. Opt-in via
schema ui=list-modal so other repeaters stay inline.
2026-07-15 17:27:23 +08:00
kate522 bfb64211ee fix(header): wire multi-function page-type enable like zibll
Connect header_components_show_on through aksrt_header_slide_is_show with
zibll page-type matching, drop the homepage-only gate, align admin options,
apply nav color, enqueue by is_show, remove dead float-btn schema, and
consume footer_tabbar_single extend mode on post singles.
2026-07-15 17:12:51 +08:00
kate522 bc96edf384 fix(captcha): wire scene switches and rename menu to 人机验证
- Admin: 登录权限 → 人机验证; 停用场景 → 启用场景 (opt-in)
- Normalize enabled_scenarios with legacy disabled_scenarios BC
- Sign-in: never soft-bypass captcha; cancel unlocks button
- Captcha JS: cancel path finishes pending callback as false
2026-07-15 16:48:57 +08:00
kate522 50e9e83f68 fix(user-home): 1:1 align public profile with Zibll author page
- Remove 主页概览/快捷入口/交易服务 private-dashboard sidebar from public home
- Full-width layout; counts live in tab bar (粉丝 = followers)
- Hero: 用户中心/消息 for self, 关注/私信 for others; drop body stats row
- Defaults: no sidebar, posts/favorites/comments/follow tabs
2026-07-15 16:18:17 +08:00
kate522 cb43412369 feat(forum): plate follow cash coupons + free auto-order
- Meta _aksrt_follow_pay_coupon_s + plate admin toggle (money only)
- Plate_Follow_Pay soft/hard coupon apply, free-after-discount, burn via shared helper
- Cashier auto-submits free topic/plate orders; topic coupon label no longer "预留"
2026-07-15 13:21:48 +08:00
kate522 8ff1408450 fix(pay): preserve order note JSON, shared coupon burn, plate free VIP cashier
- Order_Repository: status note merges into JSON as status_note instead of wiping coupon/topic_pay meta
- Extract aksrt_burn_order_coupon / aksrt_coupon_usage_exists for content + topic
- Money plate follow (incl. VIP free) always opens multi-gateway cashier for 0-order ledger
2026-07-15 13:13:02 +08:00
kate522 78d3189f8f feat(forum): P1 topic coupons, P2 plate follow gateway, cash creator revenue
- Topic_Pay: soft/hard coupon validate, payable amount, free-after-discount, paid burn
- Creator_Revenue: settle content/topic/plate_follow cash (type=order), keep shop path
- Plate VIP1/VIP2 meta + resolve_plate_follow_pay_price via aksrt_get_user_vip_level
- New AKSRT_Plate_Follow_Pay REST multi-gateway; remove Credits×100 money bypass
- Frontend: cms-download plate_follow apiKind + forum-governance money cashier bridge
2026-07-15 13:04:04 +08:00
kate522 cea22daae7 feat(forum): multi-gateway cashier for pay-visibility topics
Replace balance-only AJAX topic purchase with AKSRT_Topic_Pay REST
cashier (resource orders + Payment_Gateway), reuse cms-download modal,
and unlock on aksrt_order_paid.
2026-07-15 12:27:59 +08:00
kate522 cf6ad0e972 feat(forum,admin): plate follow-pay MVP, sales column, order type tabs
Wire paid plate follow (admin meta + points/balance purchase + AJAX),
re-check plate gate on topics, post list sales column, and order type
subtabs; update gap matrix and admin IA map.
2026-07-15 11:00:36 +08:00
kate522 f4b72c8f70 chore(admin): stop tracking SPA build; add native product meta box
Remove assets/admin/build from version control (local build only going
forward). Add AKSRT_Product_Meta_Box so product price/stock/shipping/after-
sale fields can be edited on the native aksrt_product edit screen without
the SPA product drawer.
2026-07-15 02:13:25 +08:00
kate522 a3dde3874a feat(admin): strip SPA ops menus; redirect old hashes to native WP (Phase 4)
SPA shop/forum/payment/users sections now keep configuration pages only.
Operational workbenches were removed from the sidebar and loaders; legacy
hash routes open NativeOpsRedirect into the matching WP native admin page.
Admin SPA production build refreshed accordingly.
2026-07-15 02:10:05 +08:00
kate522 12673fb819 feat(frontend): adopt zibll site-layout-1/2/3 float dual-column system
Wire settings-driven sidebar visibility and body site-layout classes,
replace content-layout CSS grid with Zibll float geometry, move sidebar
DOM to content-wrap sibling across single/archive/page/home, and add
post meta show_layout overrides.
2026-07-15 00:30:26 +08:00
kate522 4d2dba47f9 fix(frontend): stop single sidebar float overlap under fixed nav
Replace the fragile content-wrap float + negative-margin sidebar with a
main.container grid, add fixed-nav top breathing room so the breadcrumb
stays below the header, and mark the aside as content-layout__aside.
2026-07-15 00:03:15 +08:00
kate522 8d276844ef fix(frontend): remove blank gap above nav on non-home pages
Complete the fixed-nav contract: when body.nav-fixed and the header
is not the hero overlay (show-slide), take .header out of flow so
body padding alone reserves space. Avoids double offset from sticky
nav still occupying document flow on single/archive pages.
2026-07-14 23:51:31 +08:00
kate522 db361fcc3f fix(frontend): unbreak single post layout cascade
Disable the global 2-col .content-layout grid on single pages (it was
tiling breadcrumb/article/author/related/comments left-right), add the
missing Zibll utility bridge used by the author/meta bar, and replace
nonstandard <name>/<item>/<badge> tags in the single surface.
2026-07-14 23:38:50 +08:00