refactor(creator-studio): move taxonomy to the settings card, slim the drawer to pay
Classification belongs next to everything else the author decides before publishing, and the drawer should only configure paid resources. - PublishSettings now renders categories, tags and custom taxonomy dimensions first, then cover, paid content and scheduling. Chips use a stacked row layout so long category lists wrap naturally. - PublishDrawer keeps only PayPanel: taxonomy, save/publish buttons and the now-unused props are gone, leaving a single 完成 button. - New PublishDialog takes over the publish action from the bottom bar, and with it the captcha mount point, so the gate still renders somewhere the author can see it. - Promotes .jio-creator-primary / .jio-creator-ghost out of the dialog-only rules (drawer and pay panel buttons had no styling), and drops the dead .jio-creator-field / .jio-creator-cover blocks. Contracts updated; 886 widget-system tests pass.
This commit is contained in:
1 parent
ac84e991d1
commit
f97fd72bd0
11 files changed
+448
-322
No files matched your search
@@ -146,8 +146,12 @@ test('studio app uses TinyMCE while preserving autosave, recovery, and publishin
|
||||
assert.match(drawer, /canPayDownload/);
|
||||
assert.match(drawer, /<PayPanel/);
|
||||
assert.match(read('assets/creator-studio/src/panels/pay-panel.tsx'), /私有附件存储尚未配置/);
|
||||
assert.match(drawer, /onSubmit\(false\)/);
|
||||
assert.match(drawer, /立即发布/);
|
||||
// 发布动作在底部状态栏 + 确认弹窗里,抽屉只做付费配置。
|
||||
assert.doesNotMatch(drawer, /onSubmit\(/);
|
||||
assert.doesNotMatch(drawer, /立即发布/);
|
||||
assert.doesNotMatch(drawer, /保存草稿/);
|
||||
assert.match(read('assets/creator-studio/src/components/publish-dialog.tsx'), /onSubmit\(false\)/);
|
||||
assert.match(read('assets/creator-studio/src/components/publish-dialog.tsx'), /立即发布/);
|
||||
});
|
||||
|
||||
test('studio enqueues the WordPress editor and TinyMCE media tools', () => {
|
||||
@@ -436,8 +440,21 @@ test('writing surface is a centered paper card with a publish settings card belo
|
||||
assert.match(settings, /onOpenPaySettings/);
|
||||
assert.match(settings, /配置价格与付费资源/);
|
||||
assert.match(appSource, /onOpenPaySettings=\{/);
|
||||
assert.match(appSource, /focusPay=\{drawerFocusPay\}/);
|
||||
assert.match(read('assets/creator-studio/src/panels/publish-drawer.tsx'), /scrollIntoView/);
|
||||
|
||||
// 分类与标签已从抽屉移到发布设置卡片。
|
||||
assert.match(settings, /__\('分类', 'jio'\)/);
|
||||
assert.match(settings, /__\('标签', 'jio'\)/);
|
||||
assert.match(settings, /onCategoriesChange/);
|
||||
assert.match(settings, /onTagsChange/);
|
||||
assert.match(settings, /onCustomChange/);
|
||||
assert.match(appSource, /onCategoriesChange=\{/);
|
||||
assert.match(appSource, /onTagsChange=\{/);
|
||||
assert.doesNotMatch(read('assets/creator-studio/src/panels/publish-drawer.tsx'), /taxonomy/);
|
||||
|
||||
// 发布动作从抽屉移到确认弹窗,人机验证挂载点随之迁移。
|
||||
assert.match(appSource, /<PublishDialog/);
|
||||
assert.match(read('assets/creator-studio/src/components/publish-dialog.tsx'), /jio-creator-captcha/);
|
||||
assert.doesNotMatch(drawer, /jio-creator-captcha/);
|
||||
});
|
||||
|
||||
test('scheduled publishing is validated and applied server side', () => {
|
||||
|
||||
Reference in new issue
Block a user