From 1514fabd50ca1b15edcddc386c475990b197ce1f Mon Sep 17 00:00:00 2001 From: JAE Date: Thu, 26 Mar 2026 20:52:23 +0000 Subject: [PATCH] fix: model badge, empty-state cover, mascot centering, resizable panels, sidebar history --- .../example/src/components/session-sidebar.ts | 2 +- packages/web-ui/example/src/main.ts | 32 ++++++++++++++++--- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/packages/web-ui/example/src/components/session-sidebar.ts b/packages/web-ui/example/src/components/session-sidebar.ts index 0c8913a..37f80e4 100644 --- a/packages/web-ui/example/src/components/session-sidebar.ts +++ b/packages/web-ui/example/src/components/session-sidebar.ts @@ -65,7 +65,7 @@ export class JaeSessionSidebar extends LitElement { const sorted = [...pinned, ...rest]; return html` -
+
Chats ` - : html`
JAE
` + : html`
JAE${getModelLabel() ? html`${getModelLabel()}` : html``}
` }
@@ -327,11 +339,18 @@ ${Button({ variant: "ghost", size: "sm", children: icon(Settings, "sm"), onClick
+ +
{ e.preventDefault(); const sx=e.clientX,sw=sidebarWidth; const mv=(me: MouseEvent)=>{sidebarWidth=Math.max(150,Math.min(420,sw+me.clientX-sx));const w=document.getElementById("sidebar-wrap");if(w)w.style.width=sidebarWidth+"px";}; const up=()=>{document.removeEventListener("mousemove",mv);document.removeEventListener("mouseup",up);renderApp();}; document.addEventListener("mousemove",mv);document.addEventListener("mouseup",up); }} + @mouseenter=${(e: Event)=>{(e.currentTarget as HTMLElement).style.background="rgba(128,128,128,0.4)"}} + @mouseleave=${(e: Event)=>{(e.currentTarget as HTMLElement).style.background="transparent"}} +>
${!hasMessages ? html`
- +
` : html``}
@@ -339,7 +358,12 @@ ${chatPanel}
${rightPanel !== 'none' ? html` -
+
{ e.preventDefault(); const sx=e.clientX,sw=rightPanelWidth; const mv=(me: MouseEvent)=>{rightPanelWidth=Math.max(280,Math.min(800,sw-(me.clientX-sx)));const p=document.getElementById("right-panel");if(p)p.style.width=rightPanelWidth+"px";}; const up=()=>{document.removeEventListener("mousemove",mv);document.removeEventListener("mouseup",up);renderApp();}; document.addEventListener("mousemove",mv);document.addEventListener("mouseup",up); }} + @mouseenter=${(e: Event)=>{(e.currentTarget as HTMLElement).style.background="rgba(128,128,128,0.4)"}} + @mouseleave=${(e: Event)=>{(e.currentTarget as HTMLElement).style.background="transparent"}} +>
+