From 380bdfeca639594cc2807a908b233a303e38559c Mon Sep 17 00:00:00 2001 From: Hyu Date: Tue, 1 Sep 2026 17:29:59 +0800 Subject: [PATCH] fix(web): contain nested scrolling without blocking forms --- web/src/app/global.css | 4 ++++ web/src/app/home/agents/components/AgentFormComponent.tsx | 2 +- web/src/app/home/layout.tsx | 2 +- web/src/app/home/plugins/PluginDetailContent.tsx | 6 +++--- .../components/plugin-installed/plugin-logs/PluginLogs.tsx | 2 +- .../plugin-installed/plugin-readme/PluginReadme.tsx | 2 +- web/src/components/ui/scroll-area.tsx | 2 +- web/src/components/ui/sidebar.tsx | 6 +++--- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/web/src/app/global.css b/web/src/app/global.css index 4b8e93cd5..f177f2b1b 100644 --- a/web/src/app/global.css +++ b/web/src/app/global.css @@ -162,6 +162,10 @@ * { @apply border-border outline-ring/50; } + html, + body { + overscroll-behavior: none; + } body { @apply bg-background text-foreground; } diff --git a/web/src/app/home/agents/components/AgentFormComponent.tsx b/web/src/app/home/agents/components/AgentFormComponent.tsx index ee9fcc104..86b77f026 100644 --- a/web/src/app/home/agents/components/AgentFormComponent.tsx +++ b/web/src/app/home/agents/components/AgentFormComponent.tsx @@ -607,7 +607,7 @@ function AgentFormComponent( -
+
{activeSection === 'runner' && (
diff --git a/web/src/app/home/layout.tsx b/web/src/app/home/layout.tsx index 29864873a..ae3bae955 100644 --- a/web/src/app/home/layout.tsx +++ b/web/src/app/home/layout.tsx @@ -269,7 +269,7 @@ function HomeLayoutInner({ children }: { children: React.ReactNode }) {
-
+
diff --git a/web/src/app/home/plugins/PluginDetailContent.tsx b/web/src/app/home/plugins/PluginDetailContent.tsx index 0d1e56e50..0365d0344 100644 --- a/web/src/app/home/plugins/PluginDetailContent.tsx +++ b/web/src/app/home/plugins/PluginDetailContent.tsx @@ -209,8 +209,8 @@ export default function PluginDetailContent({ id }: { id: string }) { )}
-
-
+
+
{logs.length === 0 ? (
diff --git a/web/src/app/home/plugins/components/plugin-installed/plugin-readme/PluginReadme.tsx b/web/src/app/home/plugins/components/plugin-installed/plugin-readme/PluginReadme.tsx index a8a5dd2ad..0f68171b2 100644 --- a/web/src/app/home/plugins/components/plugin-installed/plugin-readme/PluginReadme.tsx +++ b/web/src/app/home/plugins/components/plugin-installed/plugin-readme/PluginReadme.tsx @@ -109,7 +109,7 @@ export default function PluginReadme({ }, [pluginAuthor, pluginName]); return ( -
+
{isLoadingReadme ? (
{t('plugins.loadingReadme')} diff --git a/web/src/components/ui/scroll-area.tsx b/web/src/components/ui/scroll-area.tsx index df416fbc5..fd022935a 100644 --- a/web/src/components/ui/scroll-area.tsx +++ b/web/src/components/ui/scroll-area.tsx @@ -16,7 +16,7 @@ function ScrollArea({ > {children} diff --git a/web/src/components/ui/sidebar.tsx b/web/src/components/ui/sidebar.tsx index e664817c3..fd0daa9dc 100644 --- a/web/src/components/ui/sidebar.tsx +++ b/web/src/components/ui/sidebar.tsx @@ -207,7 +207,7 @@ function SidebarProvider({ } as React.CSSProperties } className={cn( - 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex h-svh min-h-0 w-full overflow-clip', + 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex h-svh min-h-0 w-full overflow-hidden overscroll-none', className, )} {...props} @@ -566,7 +566,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {