mirror of
https://github.com/hanzoai/ide.git
synced 2026-10-30 18:33:54 +00:00
The detached window carried its own copy of the chat — inline styles, seven fallback hexes, hover done in JS, a middot standing in for every icon — and none of the --hanzo-chat-* tokens reached it because the container class never did. The builder is now build(container) in chat/index.ts, returning the topbar's actions slot; view.ts is the workbench host and appends Detach, chat-main.ts is the window host and appends Reattach. The window loads monaco's real codicon face. The empty state never left: its removal selector matched "justify-content:center" without the space the browser serialises, so the hero stayed behind every conversation. It is found by class now, and it is the stylesheet's empty state rather than an inline one. Outside the shell the cloud is the provider, so the provider-setup screen no longer replaces the chat in a browser; the session and agent selects show their defaults whether or not an engine answered; shell- only probes (window close handler, memory backend) no longer warn there. The workbench names the chat in defaultLayout.views, so ide.hanzo.ai opens with the chat visible instead of behind a hidden auxiliary bar. User text wears the UI face; the thinking select sizes to its content; Reattach only exists inside the shell. e2e/chat.spec.ts drives both hosts against a stubbed completions stream. Co-authored-by: Hanzo Dev <[email protected]>
54 lines
1.5 KiB
HTML
54 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Hanzo Chat</title>
|
|
<style>
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
background: #1e1e1e;
|
|
color: #d4d2cc;
|
|
}
|
|
|
|
/*
|
|
* Shim fojr the VS Code design tokens the chat panel uses. The full
|
|
* workbench (index.html) gets these from monaco-vscode-api's CSS
|
|
* injection. The detached chat window does NOT load the workbench, so
|
|
* we provide a minimal subset here. Values mirror the dark+ theme
|
|
* defaults so the chat looks the same across both hosting contexts.
|
|
*/
|
|
:root {
|
|
--vscode-foreground: #cccccc;
|
|
--vscode-descriptionForeground: #9d9d9d;
|
|
--vscode-editor-background: #1e1e1e;
|
|
--vscode-sideBar-background: #181818;
|
|
--vscode-input-background: #2b2b2b;
|
|
--vscode-input-foreground: #cccccc;
|
|
--vscode-input-border: #3c3c3c;
|
|
--vscode-button-background: #ffffff;
|
|
--vscode-button-foreground: #1a1a1a;
|
|
--vscode-widget-border: rgba(255, 255, 255, 0.08);
|
|
--vscode-textLink-foreground: #4daafc;
|
|
}
|
|
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="hanzo-chat-detached-root" class="hanzo-chat-container"></div>
|
|
<script type="module" src="/src/chat-main.ts"></script>
|
|
</body>
|
|
</html>
|