mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
fix(ui): keep Hub chat input from overlapping SessionInsights on paste (#6719)
Signed-off-by: Abhijay007 <Abhijay007j@gmail.com> Co-authored-by: Zane Staggs <zane@squareup.com>
This commit is contained in:
@@ -73,8 +73,8 @@ export default function Hub({
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="flex flex-col h-full bg-background-muted">
|
||||
<div className="flex-1 flex flex-col mb-0.5 relative">
|
||||
<div className="flex flex-col h-full min-h-0 bg-background-muted">
|
||||
<div className="flex-1 flex flex-col min-h-[45vh] overflow-hidden mb-0.5 relative">
|
||||
<SessionInsights />
|
||||
{isCreatingSession && (
|
||||
<div className="absolute bottom-1 left-4 z-20 pointer-events-none">
|
||||
@@ -83,24 +83,26 @@ export default function Hub({
|
||||
)}
|
||||
</div>
|
||||
|
||||
<ChatInput
|
||||
sessionId={null}
|
||||
handleSubmit={handleSubmit}
|
||||
chatState={isCreatingSession ? ChatState.LoadingConversation : ChatState.Idle}
|
||||
onStop={() => {}}
|
||||
initialValue=""
|
||||
setView={setView}
|
||||
totalTokens={0}
|
||||
accumulatedInputTokens={0}
|
||||
accumulatedOutputTokens={0}
|
||||
droppedFiles={[]}
|
||||
onFilesProcessed={() => {}}
|
||||
messages={[]}
|
||||
disableAnimation={false}
|
||||
sessionCosts={undefined}
|
||||
toolCount={0}
|
||||
onWorkingDirChange={setWorkingDir}
|
||||
/>
|
||||
<div className="flex-shrink-0 max-h-[50vh] min-h-0 overflow-hidden flex flex-col">
|
||||
<ChatInput
|
||||
sessionId={null}
|
||||
handleSubmit={handleSubmit}
|
||||
chatState={isCreatingSession ? ChatState.LoadingConversation : ChatState.Idle}
|
||||
onStop={() => {}}
|
||||
initialValue=""
|
||||
setView={setView}
|
||||
totalTokens={0}
|
||||
accumulatedInputTokens={0}
|
||||
accumulatedOutputTokens={0}
|
||||
droppedFiles={[]}
|
||||
onFilesProcessed={() => {}}
|
||||
messages={[]}
|
||||
disableAnimation={false}
|
||||
sessionCosts={undefined}
|
||||
toolCount={0}
|
||||
onWorkingDirChange={setWorkingDir}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ const AppLayoutContent: React.FC<AppLayoutContentProps> = ({ activeSessions }) =
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="flex flex-1 w-full relative animate-fade-in">
|
||||
<div className="flex flex-1 w-full min-h-0 relative animate-fade-in">
|
||||
{!shouldHideButtons && (
|
||||
<div className={`${headerPadding} absolute top-3 z-100 flex items-center`}>
|
||||
<SidebarTrigger
|
||||
|
||||
@@ -171,7 +171,7 @@ export function SessionInsights() {
|
||||
See all
|
||||
</Button>
|
||||
</div>
|
||||
<div className="space-y-3 min-h-[96px]">
|
||||
<div className="space-y-3 min-h-[96px] max-h-[140px] overflow-hidden">
|
||||
{/* Skeleton chat items */}
|
||||
<div className="flex items-center justify-between py-1 px-2">
|
||||
<div className="flex items-center space-x-2">
|
||||
@@ -295,7 +295,7 @@ export function SessionInsights() {
|
||||
See all
|
||||
</Button>
|
||||
</div>
|
||||
<div className="space-y-1 min-h-[96px] transition-all duration-300 ease-in-out">
|
||||
<div className="space-y-1 min-h-[96px] max-h-[140px] overflow-hidden transition-all duration-300 ease-in-out">
|
||||
{isLoadingSessions ? (
|
||||
<>
|
||||
<div className="flex items-center justify-between py-1 px-2">
|
||||
|
||||
@@ -125,7 +125,7 @@ function SidebarProvider({
|
||||
} as React.CSSProperties
|
||||
}
|
||||
className={cn(
|
||||
'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',
|
||||
'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex h-svh min-h-0 w-full overflow-hidden',
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
@@ -294,7 +294,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {
|
||||
<main
|
||||
data-slot="sidebar-inset"
|
||||
className={cn(
|
||||
'bg-background relative flex w-full flex-1 flex-col min-w-0',
|
||||
'bg-background relative flex w-full flex-1 flex-col min-w-0 min-h-0',
|
||||
// For inset variant (used in the app)
|
||||
'md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm',
|
||||
// For offcanvas variant - ensure content doesn't go under sidebar
|
||||
|
||||
Reference in New Issue
Block a user