From 98084d61aa1aaf1e6ba27f0e7da628b959ab4bef Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 1 Dec 2025 11:28:01 +0800 Subject: [PATCH] fix(ui): add independent scroll containers to fix scroll wheel on Linux Providers page was using DndContext which may interfere with scroll wheel events on Linux/Ubuntu WebKitGTK. Added independent scroll containers with `overflow-y-auto` to all main pages, matching the pattern already used by the MCP panel which works correctly. Changes: - App.tsx: Wrap ProviderList in independent scroll container - SkillsPage: Use consistent h-[calc(100vh-8rem)] layout - SettingsPage: Add overflow-hidden and overflow-x-hidden for consistency --- src/App.tsx | 33 ++++++++++++++---------- src/components/settings/SettingsPage.tsx | 4 +-- src/components/skills/SkillsPage.tsx | 8 +++--- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 6102c53a8..82276b1d1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -303,20 +303,25 @@ function App() { return setCurrentView("providers")} />; default: return ( -
- setIsAddOpen(true)} - /> +
+ {/* 独立滚动容器 - 解决 Linux/Ubuntu 下 DndContext 与滚轮事件冲突 */} +
+
+ setIsAddOpen(true)} + /> +
+
); } diff --git a/src/components/settings/SettingsPage.tsx b/src/components/settings/SettingsPage.tsx index fbd0b50a0..3b2ab30b7 100644 --- a/src/components/settings/SettingsPage.tsx +++ b/src/components/settings/SettingsPage.tsx @@ -151,7 +151,7 @@ export function SettingsPage({ const isBusy = useMemo(() => isLoading && !settings, [isLoading, settings]); return ( -
+
{isBusy ? (
@@ -172,7 +172,7 @@ export function SettingsPage({ {t("common.about")} -
+
{settings ? ( <> diff --git a/src/components/skills/SkillsPage.tsx b/src/components/skills/SkillsPage.tsx index 8cf72a7b3..f8df8c30a 100644 --- a/src/components/skills/SkillsPage.tsx +++ b/src/components/skills/SkillsPage.tsx @@ -205,12 +205,10 @@ export const SkillsPage = forwardRef( }, [skills, searchQuery, filterStatus]); return ( -
- {/* 顶部操作栏(固定区域)已移除,由 App.tsx 接管 */} - +
{/* 技能网格(可滚动详情区域) */} -
-
+
+
{loading ? (