Commit Graph
7 Commits
Author SHA1 Message Date
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
kate522 caa4e51caa feat(widgets): search affix, mod apply, blur_bg, iframe null
Wire search sidebar affix, plate moderator apply entry, user-lists
REST blur_bg, and iframe empty via aksrt_get_widget_null.
2026-07-21 12:42:58 +08:00
kate522 0d4d5166b4 feat(widgets): SearchWidget type tabs + category scope
Align sidebar search with header/search.js contracts: type buttons,
category select + hidden aksrt_category, history/hot keywords retained.
2026-07-21 08:19:06 +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 00cd4573d4 feat(badges): boot auto-award + checkin hook + search history slot
Wire BadgeAutoAward/Badges init, fire aksrt_checkin_done, and optional
search-history mount point on the search widget.
2026-07-19 01:49:09 +08:00
kate522 491fc6baf4 feat(widgets): search hot keywords + multi-item scroll notice
Deepen zibll search/notice widgets: hot keywords from settings,
custom keywords, more-link, and multi-message marquee notice bar.
2026-07-19 01:12:10 +08:00
kate522 aaf458af1c refactor(autoload): migrate theme classes to Composer PSR-4
Move 288 types from global AKSRT_* + inc/classes manual requires into
namespace AKSRT\{Domain} under src/AKSRT/, wire composer.json psr-4,
and slim bootstrap to helpers/modules/hooks only. Split multi-class
widget/gateway files, update admin contract audit paths, and document
the layout in ADR/README.
2026-07-17 13:29:22 +08:00