1ad25e30f8
新增 PlatformUiKit 通用弹窗、按钮、状态、空态、媒体、表单和标签等公共组件 迁移结果页、创作工作台、认证入口、RPG 暗色面板和运行态弹窗的重复 UI chrome 补充组件测试、页面回归测试、技术文档和 Hermes 共享决策记录
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { MessageSquareText } from 'lucide-react';
|
|
|
|
import type { VisualNovelResultDraft } from '../../../packages/shared/src/contracts/visualNovel';
|
|
import { PlatformToggleRow } from '../common/PlatformToggleRow';
|
|
|
|
type VisualNovelSettingsPanelProps = {
|
|
draft: VisualNovelResultDraft;
|
|
textModeEnabled: boolean;
|
|
onTextModeChange?: (enabled: boolean) => void;
|
|
};
|
|
|
|
export function VisualNovelSettingsPanel({
|
|
draft,
|
|
textModeEnabled,
|
|
onTextModeChange,
|
|
}: VisualNovelSettingsPanelProps) {
|
|
return (
|
|
<div className="space-y-2">
|
|
<PlatformToggleRow
|
|
label="文本模式"
|
|
checked={textModeEnabled}
|
|
mode="status"
|
|
surface="plain"
|
|
icon={<MessageSquareText className="h-4 w-4" />}
|
|
onClick={() => onTextModeChange?.(!textModeEnabled)}
|
|
/>
|
|
<PlatformToggleRow
|
|
label="自由输入"
|
|
checked={draft.runtimeConfig.allowFreeTextAction}
|
|
mode="status"
|
|
surface="plain"
|
|
/>
|
|
<PlatformToggleRow
|
|
label="历史重生成"
|
|
checked={draft.runtimeConfig.allowHistoryRegeneration}
|
|
mode="status"
|
|
surface="plain"
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default VisualNovelSettingsPanel;
|