import { useState, type ComponentProps } from 'react'; import { createRoot } from 'react-dom/client'; import { CodingChatBody } from '../../../src/pages/Chat/CodingChatBody'; import { CodingStartHeading } from '../../../src/pages/Chat/CodingStartHeading'; import { CodingComposer } from '../../../src/pages/Chat/CodingComposer'; import { TeacherCompanion } from '../../../src/pages/Chat/TeacherCompanion'; import { CommunityInvitation } from '../../../src/components/community/CommunityInvitation'; import '../../../src/styles/globals.css'; import '../../../src/pages/Chat/classroom-workspace.css'; export function Layout() { const [bubble, setBubble] = useState(null); const [draft, setDraft] = useState(''); const [sent, setSent] = useState(false); const [dismissed, setDismissed] = useState([]); const agents = ['架构工程师-陈宗琦', '产品工程师-Alice'].map((name, index) => ({ teacher_id: String(index), version: 1, is_default: index === 0, definition: { config_id: String(index), name, avatar_id: 'avatar-06', description: index === 0 ? '有什么编程问题想一起讨论?' : '陪你把天马行空的点子,变成能玩、能用、眼睛一亮的小作品。' }, })); const companion = { agents, selectedAgent: agents[0], definition: agents[0].definition, enabled: true, unreadAgentIds: [], invitation: null, welcome: null, loading: false, error: null, checking: false, refreshing: false, refreshStatus: 'idle', refresh: async () => {}, reloadCatalog: async () => {}, dismiss: () => {}, welcomes: new URLSearchParams(location.search).has('teachers') ? agents.flatMap((agent, index) => dismissed.includes(agent.teacher_id) ? [] : [{ agentId: agent.teacher_id, definition: agent.definition, text: agent.definition.description, tone: index }]) : [], dismissWelcome: (id: string) => setDismissed(values => [...values, id]), dismissWelcomes: () => setDismissed(['0', '1']), } as ComponentProps['companion']; return
测试项目 › 新对话 {}} onToggle={() => {}} bubbleRef={setBubble} />
; } createRoot(document.getElementById('root')!).render();