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:
@@ -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 />
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user