This is an automated email from the ASF dual-hosted git repository. hsluoyz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/casbin-gateway.git
commit 72d9f162c9b2d099115e39327639b2dc8e01157b Author: Yang Luo <[email protected]> AuthorDate: Mon Sep 7 00:03:45 2026 +0800 fix(chat): keep the session list in place while the transcript scrolls --- web/src/App.tsx | 3 ++- web/src/pages/ChatPage.tsx | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index ba4474c..690bc0b 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -348,7 +348,8 @@ export default function App() { </React.Suspense> </main> - <footer className="flex items-center justify-center border-t py-5"> + {/* Fixed height: ChatPage sizes its pane against the header and this. */} + <footer className="flex h-18 items-center justify-center border-t"> <a target="_blank" rel="noreferrer" href="https://github.com/apache/casbin-gateway"> <Logo className="h-[30px] w-auto" /> </a> diff --git a/web/src/pages/ChatPage.tsx b/web/src/pages/ChatPage.tsx index acd5fb8..883e190 100644 --- a/web/src/pages/ChatPage.tsx +++ b/web/src/pages/ChatPage.tsx @@ -309,7 +309,7 @@ export default function ChatPage({account}: {account: Account}) { const turns = toTurns(events); return ( - <PageContainer> + <PageContainer className="lg:h-[calc(100svh-3.25rem-4.5rem)]"> <PageHeader title={i18next.t("chat:Chat")} description={i18next.t("chat:Ask an agent on this machine something, and watch it work")} @@ -317,8 +317,9 @@ export default function ChatPage({account}: {account: Account}) { {error ? <MessageAlert variant="destructive" title={error} /> : null} - <div className="grid gap-4 lg:grid-cols-[300px_1fr]"> - <div className="flex flex-col gap-3"> + {/* The chat pane owns the viewport, so only the transcript scrolls. */} + <div className="grid min-h-0 gap-4 lg:flex-1 lg:grid-cols-[300px_1fr]"> + <div className="flex flex-col gap-3 lg:min-h-0 lg:overflow-y-auto"> <div className="flex flex-col gap-2 rounded-lg border p-3"> <SimpleSelect value={target} @@ -376,7 +377,7 @@ export default function ChatPage({account}: {account: Account}) { </div> </div> - <div className="flex min-h-[60vh] min-w-0 flex-col rounded-lg border"> + <div className="flex min-h-[60vh] min-w-0 flex-col rounded-lg border lg:min-h-0"> {active ? ( <> <div className="text-muted-foreground flex items-center gap-2 border-b px-3 py-2 text-xs"> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
