Introduce WorkflowEngine with state machine, tool registry, and builtin chat template; migrate stream chat to engine callbacks. Move page mode switching to TopBar actions cluster as a ThemeToggle-style dropdown (聊天/工作室/爽文/房间). Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
import React from 'react';
|
|
import './PlaceholderPage.css';
|
|
|
|
const PLACEHOLDER_META = {
|
|
studio: {
|
|
title: '角色 / 世界书工作室',
|
|
subtitle: '用途1 · Character & Worldbook Studio',
|
|
icon: '🎭',
|
|
},
|
|
novel: {
|
|
title: '爽文模式',
|
|
subtitle: '用途3 · Novel Mode',
|
|
icon: '📖',
|
|
},
|
|
room: {
|
|
title: '多角色房间',
|
|
subtitle: '用途4 · Multi-Character Room',
|
|
icon: '🏠',
|
|
},
|
|
};
|
|
|
|
function PlaceholderPage({ page }) {
|
|
const meta = PLACEHOLDER_META[page] || {
|
|
title: 'Coming Soon',
|
|
subtitle: '',
|
|
icon: '🚧',
|
|
};
|
|
|
|
return (
|
|
<div className="placeholder-page">
|
|
<div className="placeholder-card">
|
|
<span className="placeholder-icon" aria-hidden="true">{meta.icon}</span>
|
|
<h1 className="placeholder-title">{meta.title}</h1>
|
|
{meta.subtitle && (
|
|
<p className="placeholder-subtitle">{meta.subtitle}</p>
|
|
)}
|
|
<p className="placeholder-message">Coming soon</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default PlaceholderPage;
|