kate522
6f2adfaef1
feat(float): rebuild right floating buttons 1:1 with reference theme
...
- Storage: aksrt_floating_buttons now uses reference float_btn shape
(fixed 8 sortable types, more-buttons group); single source of
defaults/sanitize in AKSRT\Settings\FloatButtons
- Admin SPA: CSF-parity page split into components/floating/*
- Frontend: aksrt_float_right() on wp_footer mirrors zib_float_right()
(wp_is_mobile, PC tooltip, toggle-theme, ontop/scrollTopTo, qrcode,
wechat/qq, pay_vip, add, more)
- CSS: floating-buttons.css rewritten from reference rules; legacy float
rules removed from main/part/shell/overlay-primitives
- Remove dead code: reorder route/API, get_floating_buttons_items,
floatingSchema, floatActionsId, float-theme-toggle bindings,
common/floating.css, aksrt-runtime-win.php, .aksrt-float-btn
2026-09-26 20:44:50 +08:00
kate522
a8060fa71d
fix(admin): replicate reference advanced-filter settings page 1:1
...
- Rewrite post_list/filter schema (PHP + JS) with the reference theme's
field set, order, defaults and dependencies; topics fields excluded
(no topics taxonomy), AKSRT private filter_* toggles dropped
- Support dynamic checkbox options in AksField (options as formData key)
so cat_custom_filter.custom_filters lists the custom_filter dimensions
- Map PostDisplay filter settings to the new keys without legacy fallback;
cat_custom_filter now carries lists/dropdown fieldsets and array filters
- Wire the archive chain to reference semantics: cat_custom_filter
overrides per-category filter projects, custom_filter_show gates the
default display, dimension chip groups render on category/tag archives
- Filter archive queries (main query + AJAX endpoint) by _aksrt_cf_{key}
meta with exact-quoted LIKE matching
- Add advanced-filter settings reference contract test
2026-09-24 15:39:25 +08:00
kate522
913958820c
fix(comments): open the action dropdown with theme-owned delegation
...
The comment three-dot menu relied on the legacy data-toggle=dropdown
delegation living in comment-move-form.js; when that bundle chain does
not evaluate (stale cache or an earlier top-level error), the menu
appears dead. Move the comment action dropdown to its own top-level
document delegation in comments.js (data-aksrt-comment-drop), keep the
.open-driven CSS contract including the mobile drop-fixed-sm sheet,
sync aria-expanded, close on outside click / Escape / menu item click,
and stay idempotent for AJAX-injected comments.
2026-09-20 13:55:03 +08:00
kate522
4f2d17f6ee
fix(single): align slide and video cover heights with image cover
...
The image-mode cover reserves +50px for the title/breadcrumb overlay
(calc(scale% + 50px)), but the slide cover wrapper was given a bare
inline padding-bottom by aksrt_render_slider, permanently defeating the
.cover-slide rule, and the video cover used a bare video_scale%.
- aksrt_render_slider: add scale_extra so scale mode emits
calc(ratio% + extra); the single cover passes 50px so all three
modes share one height formula
- drop the unreachable static slide fallback and function_exists guard
(the helper is unconditionally loaded by inc/bootstrap.php), the
always-true cover_url/ep_count conditions, and the dead --scale-ratio
and inner swiper padding emitted in scale mode
- remove the dead cover CSS cluster with no producer: .single-cover-slide
(main.css/main.min.css/cover.css), .single-cover-slider family
(components/base.css), .single-cover-slide-wrap and .single-cover__*
helpers (cover.css), and initSlideCovers in misc.js
- rebuild public bundles via tools/build-public-assets.mjs
- add single-cover-height-contract test covering the shared formula
and the dead-code removals
2026-09-05 18:22:37 +08:00
kate522
05a6b6fc54
fix 更多栏目
2026-09-05 17:32:18 +08:00
kate522
44e165d34e
fix(comments): align image upload with Zibll
...
Unify comment image upload settings, REST permissions, preview, progress,
and response handling while removing obsolete compatibility paths.
2026-09-04 19:52:56 +08:00
kate522
9d458dd99a
fix(runtime): remove stale aksrt namespace dependency
2026-09-03 13:24:51 +08:00
kate522
5fd7c212ed
fix(runtime): 按参考主题硬切换为 loader/main/auto_fun 单一 DOM 生命周期
...
- 删除 AksrtFrontend registry/rehydrate 双路架构及 build/public.js 拼包入口,
前台唯一初始路径为 PHP 本地栈(jQuery 1.9.1 → Bootstrap 3.4.1)
→ loader_js(_win/aksrtData 唯一注入)→ tbquire(['main']) → runtime/main.min.js
- window.auto_fun = debounce(z_auto_fun, 100) 为唯一重扫入口;所有模块改为
执行一次 + off/on('auto_fun.aksrt-*') 命名空间重扫,data/class 标记幂等
- 局部更新协议统一:HTML 注入 → post_ajax.ed → auto_fun();
远程 modal → loaded.bs.modal → auto_fun();JSON 成功 → zib_ajax.success
- 灯箱恢复 Miniimgbox/imgbox 唯一 owner(imgbox-container、a[data-imgbox]、
imgbox_data),删除 AksrtLightbox/data-aksrt-lightbox 第二实现及 CSS/overlay,
_win.imgbox* 重新接上 post-display 设置
- 死代码清理:runtime 下 11 组被自有实现替代的旧模块副本、无消费 vendored 库、
顶层 grade.min.js、revenue.js、无调用方的 aksrt_get_win_runtime_config(),
以及 loader 中 16 条死 mapping
- PHP 入队改为本地栈 + loader_js,routed/widget/submit 依赖统一换绑;
用户卡片发布按钮恢复 nav_user_newposts_btn 设置门控
- 测试对齐:新增 frontend-lifecycle-contract,重写 navigation/lazyload/toast/
auth-source/comment/page-display/post-visual 等断言为目标架构契约
验证:node --test widget-system+navigation 223 通过 0 失败;
构建脚本重建 main/imgbox min 与 CSS bundles;改动 PHP php -l、JS node --check
全部通过;git diff --check 干净;credits 重入 harness 通过。
2026-09-03 12:44:31 +08:00
kate522
1f4a39d8f8
feat(runtime): 全站前端脚本统一接入 AksrtFrontend 全局 DOM 生命周期
...
- rehydrate.js 新增 boot()/aksrt:ready 事件,支持 boot 后晚注册立即以 init 触发
- aksrt-runtime.js 初始加载改走 AksrtFrontend.boot,tooltip/倒计时注册为组件
- 约 30 个前端脚本(首页、评论、支付、路由、页面叶子、widgets)
从直接 DOMContentLoaded 迁移为 AksrtFrontend.register,并加幂等标记
- section-navs 依赖改为 aksrt-runtime,保证注册时序
- 清理死代码:删除孤儿 loader.js/main.js 及 runtime/page-navs 遗留副本
- loader.js 移除已迁移模块的 tbquire 路径映射,main.js 相应瘦身
- build-public-assets.mjs 增加 runtime/main.min.js 自动压缩步骤
- 新增 4 个契约测试(homepage-dom/rehydrate-runtime/global-dom-init/
public-bundle-parity),3 个既有 harness 适配注册表初始化方式
2026-09-02 21:48:56 +08:00
kate522
ff4ec1eb43
feat(captcha): 打通人机验证 11 个场景的前后端完整链路
...
- 统一验证入口 aksrt_require_captcha(),返回 true|WP_Error,启用场景配置缺失时 fail-closed 拒绝
- 前端公共 API 重构为 window.AKSRTCaptcha(verify/collect/reset/run),单飞锁防并发重复验证,一次性 proof 绑定浏览器 cookie+场景+服务商+主机名
- challenge/exchange REST 端点:challenge 原子占用防票据放大厂商调用,增加频率限制
- 新增 OAuth bind pass:服务端签发 5 分钟一次性令牌,绑定用户+服务商+浏览器,微信扫码延迟消费
- 覆盖场景:评论、登录、注册、绑定第三方、绑定手机、找回密码、修改密码、更改邮箱、资料下载、签到、前台投稿
- 移除 Service 层重复验证与 _auth_code_verified/_defer_login 等客户端可伪造标志,删除下载共享 pass 死代码
- 修复腾讯 TC3 签名 scope、Cloudflare action/cdata/hostname 严格校验、阿里云验签错误码映射
- 后台 Schema 保存对 secret 字段做掩码/保留合并;导入导出过滤 aksrt_captcha_config
- 重建 public bundle 与 admin SPA;新增 captcha 运行时/安全/业务契约测试与 harness
2026-09-02 13:03:24 +08:00
kate522
4c62fda62b
进行了一些小优化
2026-08-30 20:20:31 +08:00
kate522
95540ea32c
文章详细页实现全局DOM加载
2026-08-30 20:02:19 +08:00
kate522
b161d6e5c8
文章详细页实现全局DOM加载
2026-08-30 19:25:53 +08:00
kate522
fbada8bd6a
进行了一些小修复
2026-08-26 19:51:31 +08:00
kate522
5cae5b5c93
积分与余额账务系统硬切重构
2026-08-24 15:59:11 +08:00
kate522
86692ff3f9
用户功能设置收口与废弃后台链路清理
2026-08-23 22:09:12 +08:00
kate522
8d2b78a322
修复AJAX 引擎
2026-08-23 17:07:55 +08:00
kate522
9375b1c30c
refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
...
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
.zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)
验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
2026-08-22 16:16:30 +08:00
kate522
8d4f07656a
chore(debug): 增加 ajax 调试工具定位 admin-ajax 400 "0" 来源
...
- assets/js/core/ajax-debug.js:ajaxSend 记录发往 admin-ajax 的
action 与参数,ajaxError/fetch 记录失败请求的 url/status/响应
- inc/aksrt-ajax-debug.php:admin_init 时记录每个 admin-ajax 请求的
action、是否有 wp_ajax_/wp_ajax_nopriv_ 处理器、POST 载荷至
wp-content/aksrt-ajax-debug.log(handled=0 即 400 "0" 的来源)
- 开关:WP_DEBUG 或 URL 带 ?aksrt_ajax_debug=1(或常量 AKSRT_AJAX_DEBUG)
2026-08-22 13:39:13 +08:00
kate522
e1f176429b
feat(comments): 评论区按 Zibll 1:1 全量复刻
...
- 评论项/表单/工具栏/筛选/分页/空状态 DOM 全部替换为 zibll 原始类名
(li.comment、comt-main、comt-meta、list-inline、dropup 工具栏、
theme-pagination/pagenav、post_ajax_loader 骨架等)
- 移植 zibll main.css L9412–9751 桌面 + 移动端评论样式,
缺失基础组件(title-theme/dropdown-menu/line-form/tab-nav-theme 等)
以 #comments 作用域补齐
- 删除全部 aksrt-comment__* 旧类名与旧样式,无兼容层
- JS 选择器对齐 zibll DOM:片段整块替换 #postcomments、骨架加载、
跳页输入、prepend 插入、addComment onclick 剥离,
移除 WP comment-reply enqueue 避免双 moveForm
- 表情资源替换为 zibll 全套 gif(内容逐字节一致,git 无差异)
- REST 后端 (CommentActions) 不变
验证:php -l 全部通过;5 个改动 JS 语法校验通过;
node --test tests/widget-system/post-visual-contract.test.cjs 12/12 通过
2026-08-22 13:29:51 +08:00
kate522
9c827ff493
fix(user): rebuild badge modal ajax flow
2026-08-19 15:53:33 +08:00
kate522
480e2bf07e
feat(admin): rebuild page display settings
2026-08-19 00:07:13 +08:00
kate522
a0b84977a2
feat(navigation): hard-switch to Zibll navigation and Font Awesome 5
2026-08-18 20:46:21 +08:00
kate522
3c3ddac8be
fix(frontend): align article list metadata and pagination
2026-08-18 16:23:44 +08:00
kate522
0f2ac6c34a
feat(frontend): replace article system with Zibll 9.0
2026-08-18 16:06:47 +08:00
kate522
86614c4905
refactor(frontend): replace toast system with zibll notyf
2026-08-18 02:38:43 +08:00
kate522
435ee1daa7
feat(frontend): replace lazy loading with zibll lazysizes
2026-08-18 01:33:38 +08:00
kate522
22c0c9df9c
fix(widgets): remove announcement outer card
2026-08-16 15:49:12 +08:00
kate522
7127f4c3a8
refactor(widget): remove search history display
2026-08-15 17:15:27 +08:00
kate522
389ab4f19a
feat(widget): improve search history popup
2026-08-15 17:01:51 +08:00
kate522
1067b9717b
feat(widget): simplify search and user card widgets
2026-08-15 16:35:47 +08:00
kate522 and Claude Fable 5
aa865e24e1
fix(modal): close rollout and async lifecycle gaps
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-05 02:31:41 +08:00
kate522 and Claude 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
kate522 and Claude Fable 5
34150f3358
refactor(modal): remove legacy compatibility paths
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-05 00:06:37 +08:00
kate522 and Claude Fable 5
bdfe3a461d
fix(modal): route refresh modal through runtime
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 23:28:13 +08:00
kate522 and Claude Fable 5
d79b063bf9
feat(modal): add cancellable shared runtime
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 23:24:37 +08:00
kate522 and Claude Fable 5
113a6bcab0
feat(modal): add rollout telemetry foundation
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 21:23:04 +08:00
kate522
2bbd7c01a3
feat: remove forum feature (Phase 1)
2026-08-02 20:02:44 +08:00
kate522
bcebd37807
fix(homepage): unify runtime rendering contract
2026-07-28 02:54:18 +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
584cb4e871
fix(nav): stop dual overflow folders fighting on insertBefore
...
Remove legacy initNavOverflow from enhancements.js (core/nav.js owns
zibll navFolding). Harden clearFolding against detached more nodes and
skip counting existing .aksrt-nav-more during fold measurement.
2026-07-22 19:27:44 +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
fc50e57bc9
feat(nav): complete remaining zibll parity (search, i18n, senior menus, CSS)
...
- Remove obsolete dual-path nav CSS; add utilities + language dropdown styles
- Wire header/mobile translate switcher from i18n config
- Layout-2 inline search hot keywords panel; nav_folding on resize
- NavMenuOptions JSON editors for graphic_card / multi_column_links
- Section-navs zibll posts-nav-lists; page-navs enqueue; mobile article TOC box
- SPA/PHP user-card publish type; rebuild admin assets
2026-07-22 11:40:17 +08:00
kate522
259dbdbe04
feat(nav): rewrite top header to zibll 1:1 DOM/CSS/JS contract
...
Replace hybrid site-nav/drawer shell with zibll navbar-top layouts 1/2/3,
body.mobile-navbar-show drawer, wired NavWalker + aksrt_menu_options meta,
nav_folding/chevron, VIP switches, and SPA/PHP schema parity. No dual-class
compat paths.
2026-07-22 11:18:34 +08:00
kate522
56434a9255
fix(ui): float VIP duplicates, hover cards, UC menu and light-theme contrast
2026-07-21 18:54:16 +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
8e3b86a21b
feat(widgets): FriendLinks aksrt_links_box + iframe lazy data-src
...
Route friend links through shared links_box styles; iframe embeds use
lazyload data-src and pagination.js now hydrates iframe/video lazies.
2026-07-21 08:59:27 +08:00
kate522
c2be36acd7
feat(search): fill sidebar widget search history like zibll
...
Render local/remote history into [data-aksrt-search-history-list],
mark widget forms for history capture, and style clear control.
2026-07-19 02:17:53 +08:00
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