Cron / schedule builder
WeChat scheduled messages: presets plus the five cron fields, a human preview in Asia/Shanghai and the next three runs. The server validates; the client only previews.
Covers: M12. Exports: CronBuilder.
Anatomy
The component as it sits in the product: English, compact, real data shapes.
States
5 states, left to right, top to bottom. A mock poll never finishes, so each state is drawn on purpose.
Density
The phone shell is always comfortable (POWERUPS #15): 44px tap targets, 16px inputs. Compact exists on desktop only; see the desktop page.
English · 中文
Staff pick en or cn (T001 Q25). Labels arrive localised; CJK falls back to PingFang SC / Noto Sans SC.
Long string · permission denied
The long-string case (PL-063) and what a role without the permission sees (the server decides; T003).
Contract
The @rj/admin-kit API for this family. Mirrored in CONTRACT.md.
- Export
CronBuilder·@rj/admin-kit- Props
value(5-field) ·timezoneAsia/Shanghai ·presets- States
- preset · custom · invalid · paused · read-only
- shadcn / Radix
- ToggleGroup + Input (mono)
- Package underneath
- cronstrue · cron-parser
- Accessibility
- each field labelled; the human preview is a live region
- API operations
- admin.wechat.messages.store / .update / .toggle · admin.schedule-monitor.index
- Phone variant
- read + pause only