diff --git a/packages/browser-extension/src/AgentInterface.ts b/packages/browser-extension/src/AgentInterface.ts index 0c86e3bd..f240cb1c 100644 --- a/packages/browser-extension/src/AgentInterface.ts +++ b/packages/browser-extension/src/AgentInterface.ts @@ -1,4 +1,4 @@ -import { html, icon } from "@mariozechner/mini-lit"; +import { html } from "@mariozechner/mini-lit"; import type { ToolResultMessage, Usage } from "@mariozechner/pi-ai"; import { LitElement } from "lit"; import { customElement, property, query } from "lit/decorators.js"; diff --git a/packages/browser-extension/src/MessageEditor.ts b/packages/browser-extension/src/MessageEditor.ts index 41371c5f..1660b0c8 100644 --- a/packages/browser-extension/src/MessageEditor.ts +++ b/packages/browser-extension/src/MessageEditor.ts @@ -3,7 +3,7 @@ import type { Model } from "@mariozechner/pi-ai"; import { LitElement } from "lit"; import { customElement, property, state } from "lit/decorators.js"; import { createRef, ref } from "lit/directives/ref.js"; -import { BookOpen, Loader2, Paperclip, Send, Sparkles, Square } from "lucide"; +import { Loader2, Paperclip, Send, Sparkles, Square } from "lucide"; import "./AttachmentTile.js"; import { type Attachment, loadAttachment } from "./utils/attachment-utils.js"; import { i18n } from "./utils/i18n.js"; diff --git a/packages/browser-extension/src/sidepanel.ts b/packages/browser-extension/src/sidepanel.ts index e679df5e..aa99e641 100644 --- a/packages/browser-extension/src/sidepanel.ts +++ b/packages/browser-extension/src/sidepanel.ts @@ -1,13 +1,11 @@ import { Button, icon } from "@mariozechner/mini-lit"; -import { html, LitElement, render } from "lit"; -import { customElement, state } from "lit/decorators.js"; -import { FileCode2, Settings } from "lucide"; import "@mariozechner/mini-lit/dist/ThemeToggle.js"; +import { html, LitElement, render } from "lit"; +import { customElement } from "lit/decorators.js"; +import { Settings } from "lucide"; import "./ChatPanel.js"; -import "./live-reload.js"; -import "./components/SandboxedIframe.js"; -import type { ChatPanel } from "./ChatPanel.js"; import { ApiKeysDialog } from "./dialogs/ApiKeysDialog.js"; +import "./live-reload.js"; async function getDom() { const [tab] = await chrome.tabs.query({ active: true, currentWindow: true }); @@ -21,49 +19,10 @@ async function getDom() { @customElement("pi-chat-header") export class Header extends LitElement { - @state() private chatPanel: ChatPanel | null = null; - @state() private hasArtifacts = false; - @state() private artifactsPanelVisible = false; - @state() private windowWidth = window.innerWidth; - - private resizeHandler = () => { - this.windowWidth = window.innerWidth; - }; - createRenderRoot() { return this; } - connectedCallback() { - super.connectedCallback(); - window.addEventListener("resize", this.resizeHandler); - - // Find chat panel and listen for updates - requestAnimationFrame(() => { - this.chatPanel = document.querySelector("pi-chat-panel"); - if (this.chatPanel) { - // Poll for artifacts state (simple approach) - setInterval(() => { - if (this.chatPanel) { - this.hasArtifacts = (this.chatPanel as any).hasArtifacts || false; - this.artifactsPanelVisible = this.chatPanel.artifactsPanelVisible; - } - }, 500); - } - }); - } - - disconnectedCallback() { - super.disconnectedCallback(); - window.removeEventListener("resize", this.resizeHandler); - } - - private toggleArtifacts() { - if (this.chatPanel) { - this.chatPanel.toggleArtifactsPanel(); - } - } - render() { return html`