Download src/components/features/settings/settings-layout.tsx from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 1.01 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/src/components/features/settings/settings-layout.tsx
- Command line
-
hf download hf://SaylorTwift/openhands/src/components/features/settings/settings-layout.tsx
-
curl -L -o settings-layout.tsx https://huggingface.co/SaylorTwift/openhands/resolve/main/src/components/features/settings/settings-layout.tsx
1.01 kB
| import { SettingsDesktopSidebar } from "./settings-desktop-sidebar"; | |
| import { SettingsNavRenderedItem } from "#/hooks/use-settings-nav-items"; | |
| import { settingsLayoutMainScrollClassName } from "#/utils/settings-like-page-layout-classes"; | |
| interface SettingsLayoutProps { | |
| children: React.ReactNode; | |
| navigationItems: SettingsNavRenderedItem[]; | |
| } | |
| /** | |
| * Mirrors the extensions layout (Skills / MCP): aside and main are siblings, | |
| * and only the main column scrolls so the left nav stays pinned like | |
| * ExtensionsNavigation. | |
| */ | |
| export function SettingsLayout({ | |
| children, | |
| navigationItems, | |
| }: SettingsLayoutProps) { | |
| return ( | |
| <div className="flex h-full flex-col md:pt-8"> | |
| <div className="flex min-h-0 flex-1 gap-10 md:items-start"> | |
| <SettingsDesktopSidebar navigationItems={navigationItems} /> | |
| <main className={settingsLayoutMainScrollClassName}> | |
| <div className="mx-auto w-full min-w-0 max-w-[800px]">{children}</div> | |
| </main> | |
| </div> | |
| </div> | |
| ); | |
| } | |