Reset scroll when navigating to provider (#1489)

<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Resets main content scroll to top when switching providers by adding a
container id and scrolling it on provider change.
> 
> - **Frontend**:
> - **Layout**: Add `id="layout-main-content-container"` to the main
content wrapper in `src/app/layout.tsx`.
> - **Provider Settings**: In `ProviderSettingsPage.tsx`, add an effect
to `scrollTo(0, 0)` on `#layout-main-content-container` when
`providerData` changes, resetting scroll on navigation.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
520758a3cf45f8438bc5089c3c427176eeefb306. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
This commit is contained in:
Will Chen
2025-10-09 13:30:28 -07:00
committed by GitHub
parent e318ec258c
commit 4180b5b673
2 changed files with 13 additions and 1 deletions

View File

@@ -44,7 +44,10 @@ export default function RootLayout({
<SidebarProvider> <SidebarProvider>
<TitleBar /> <TitleBar />
<AppSidebar /> <AppSidebar />
<div className="flex h-screenish w-full overflow-x-hidden mt-12 mb-4 mr-4 border-t border-l border-border rounded-lg bg-background"> <div
id="layout-main-content-container"
className="flex h-screenish w-full overflow-x-hidden mt-12 mb-4 mr-4 border-t border-l border-border rounded-lg bg-background"
>
{children} {children}
</div> </div>
<Toaster richColors /> <Toaster richColors />

View File

@@ -43,6 +43,15 @@ export function ProviderSettingsPage({ provider }: ProviderSettingsPageProps) {
// Find the specific provider data from the fetched list // Find the specific provider data from the fetched list
const providerData = allProviders?.find((p) => p.id === provider); const providerData = allProviders?.find((p) => p.id === provider);
useEffect(() => {
const layoutMainContentContainer = document.getElementById(
"layout-main-content-container",
);
if (layoutMainContentContainer) {
layoutMainContentContainer.scrollTo(0, 0);
}
}, [providerData?.id]);
const supportsCustomModels = const supportsCustomModels =
providerData?.type === "custom" || providerData?.type === "cloud"; providerData?.type === "custom" || providerData?.type === "cloud";