blob: facbba2656d1d06f6a8cbd826f446afc75c72e5d [file] [log] [blame]
David Crawshaw77358442025-06-25 00:26:08 +00001import { html } from "lit";
2import { customElement } from "lit/decorators.js";
3import { ref } from "lit/directives/ref.js";
4import { SketchAppShellBase } from "./sketch-app-shell-base";
Sean McCullough86b56862025-04-18 13:04:03 -07005
6@customElement("sketch-app-shell")
David Crawshaw77358442025-06-25 00:26:08 +00007export class SketchAppShell extends SketchAppShellBase {
Sean McCullough86b56862025-04-18 13:04:03 -07008 render() {
9 return html`
Sean McCulloughbf66a2f2025-06-23 21:53:55 -070010 <!-- Main container: flex column, full height, system font, hidden overflow-x -->
11 <div
banksean3eaa4332025-07-19 02:19:06 +000012 class="block font-sans text-gray-800 dark:text-gray-200 leading-relaxed h-screen w-full relative overflow-x-hidden flex flex-col bg-white dark:bg-gray-900"
Sean McCulloughbf66a2f2025-06-23 21:53:55 -070013 >
David Crawshaw77358442025-06-25 00:26:08 +000014 ${this.renderTopBanner()}
Sean McCullough86b56862025-04-18 13:04:03 -070015
Sean McCulloughbf66a2f2025-06-23 21:53:55 -070016 <!-- Main content area: scrollable, flex-1 -->
Josh Bleecher Snyder112b9232025-05-23 11:26:33 -070017 <div
Sean McCulloughbf66a2f2025-06-23 21:53:55 -070018 id="view-container"
19 ${ref(this.scrollContainerRef)}
20 class="self-stretch overflow-y-auto flex-1 flex flex-col min-h-0"
Josh Bleecher Snyder112b9232025-05-23 11:26:33 -070021 >
Pokey Rule4097e532025-04-24 18:55:28 +010022 <div
Sean McCulloughbf66a2f2025-06-23 21:53:55 -070023 id="view-container-inner"
24 class="${this.viewMode === "diff2"
25 ? "max-w-full w-full h-full p-0 flex flex-col flex-1 min-h-0"
26 : this._todoPanelVisible && this.viewMode === "chat"
27 ? "max-w-none w-full m-0 px-5"
28 : "max-w-6xl w-[calc(100%-40px)] mx-auto"} relative pb-2.5 pt-2.5 flex flex-col h-full"
Pokey Rule4097e532025-04-24 18:55:28 +010029 >
David Crawshaw77358442025-06-25 00:26:08 +000030 ${this.renderMainViews()}
Josh Bleecher Snyder112b9232025-05-23 11:26:33 -070031 </div>
Sean McCullough86b56862025-04-18 13:04:03 -070032 </div>
Sean McCullough86b56862025-04-18 13:04:03 -070033
David Crawshaw77358442025-06-25 00:26:08 +000034 ${this.renderChatInput()}
Pokey Rule4097e532025-04-24 18:55:28 +010035 </div>
Sean McCullough86b56862025-04-18 13:04:03 -070036 `;
37 }
Sean McCullough86b56862025-04-18 13:04:03 -070038}
39
40declare global {
41 interface HTMLElementTagNameMap {
42 "sketch-app-shell": SketchAppShell;
43 }
44}