import { useState } from 'react' import { createRoot } from 'react-dom/client' import { ChatHistoryPane } from '../../src/renderer/src/ChatHistoryPane' import type { Conversation } from '../../src/renderer/src/chat-conversation' import { RuntimeChecklistStrip } from '../../src/renderer/src/RuntimeChecklistStrip' import { PageShell } from '../../src/renderer/src/WorkspacePrimitives' import { UiLocaleProvider } from '../../src/renderer/src/i18n/UiLocaleProvider' import '../../src/renderer/src/styles.css' const conversations: Conversation[] = ['a', 'b'].map(id => ({ id, title: id, updatedAt: 1, messages: Array.from({ length: 100 }, (_, index) => ({ id: `${id}-${index}`, role: 'user', createdAt: index + 1, state: 'complete', content: `Message ${id}-${index}: Scroll this actual chat content behind the title bar.\n\nSecond paragraph for a visible message surface.`, })), })) conversations.push({ id: 'short', title: 'Short', updatedAt: 1, messages: [conversations[0].messages[0]] }) const noop = (): void => {} const complete = async (): Promise => {} const artifacts = new Map() function Fixture(): React.JSX.Element { const [active, setActive] = useState('a') const [route, setRoute] = useState('chat') const [context, setContext] = useState(true) const [counts, setCounts] = useState>({ a: 80, b: 100, short: 100 }) const [clicks, setClicks] = useState(0) return <>
Actions