feat(ui): QZone 定时任务页重接 — 就地编辑 / 时间选择器 / 参考图 / 抖动#156
Merged
Conversation
接入 #149/#151/#154 落地的库与组件: - 表格行换用 <QzoneJobRow>(run/edit/pause·resume/delete),删除旧内联行 - cron 手填换成 <QzoneSchedulePicker>(composeCron/parseCron) - 选中人格后显示 <QzoneRefImagePicker> 选参考图(image_ref_labels) - 新增发送抖动 jitter_minutes(0–120)输入 - 选中行就地回填编辑:parseCron 回填 picker、锁定人格、Save→Update、取消编辑 - saveMutation 按 editingName 分流 patch/create;enabled 交由行内 pause/resume - 删除走页面级 ConfirmDialog;启停按 enabled 分流 pause/resume - 保留一键启用每日说说 + next-fire 预览 - 新增 en+zh-CN 双份文案;新增页面测试 6 例
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR-F4:QZone 定时任务页重接
把 #149(cron 库)/#151(scheduler API)/#154(三组件)落地的库和组件接进
ui/app/(admin)/scheduler/qzone/page.tsx。改动
<QzoneJobRow>(run now / edit / pause·resume / delete),删除页面内联的旧行渲染。<QzoneSchedulePicker>;父层用composeCron(schedule)得 cron(返回null时禁用保存),parseCron回填。<QzoneRefImagePicker>,selected = imageRefLabels。jitter_minutes数字输入(0–120,套Input)。scrollIntoView;锁定人格<select>(改人格=删旧建新,FieldHint说明);标题切「编辑任务」、保存按钮切「更新任务」、出现「取消编辑」。editingName ? patchSchedulerJob : createSchedulerJob;cron来自composeCron;image_ref_labels/jitter_minutes顶层带上(后端 PR-B5 接收,此前忽略无害)。job.enabled走pauseSchedulerJob/resumeSchedulerJob。deleteMutation:页面级ConfirmDialog确认后deleteSchedulerJob。composeCron→nextFireTime)。schedulerQzone.*文案(en + zh-CN 双份)。与规格的偏差
enabled放进 body —— 遵循lib/api/scheduler.ts契约「pause/resume 才能让后端重新校验并重挂 tick loop,不要用{enabled}patch」。因此 enabled 开关只在新建态显示;编辑态改为提示「用行内暂停/恢复按钮」。enabled仍在新建 POST body 中。硬约束(Eclipse Minimal v2)
Pencil/Plus/RefreshCw/Sparkles/X);无 lucide、无 backdrop-filter;守卫测试保持绿;文案 en+zh-CN 双份。验证
pnpm test:161 files / 1250 passed(+6 新增页面测试)。pnpm typecheck:0 错误。pnpm lint:无新增告警。新增页面测试(
page.test.tsx)编辑流回填 + 走 PATCH(create 未调)/ 新建流走 POST(patch 未调)/ 删除经 ConfirmDialog 确认后调用 / 启停按 enabled 分流 pause·resume / composeCron 为 null 时保存按钮 disabled。