import { useTranslation } from "react-i18next"; import { cn } from "#/utils/utils"; import { Typography } from "#/ui/typography"; import { I18nKey } from "#/i18n/declaration"; import SettingsIcon from "#/icons/settings-gear.svg?react"; import CloseIcon from "#/icons/close.svg?react"; import { SettingsNavRenderedItem } from "#/hooks/use-settings-nav-items"; import { SettingsNavHeader } from "./settings-nav-header"; import { SettingsNavDivider } from "./settings-nav-divider"; import { SettingsNavLink } from "./settings-nav-link"; import { navInteractiveTransitionClassName } from "#/components/features/sidebar/sidebar-layout"; import { AgentCanvasUpdateCard } from "#/components/features/settings/agent-canvas-update-card"; import { BackendSyncedSettingsBadge } from "#/components/features/settings/backend-synced-settings-badge"; import { CloudSettingsLink } from "#/components/features/settings/cloud-settings-link"; import { IntegrationsSettingsLink } from "#/components/features/settings/integrations-settings-link"; interface SettingsMobileDrawerProps { isMobileMenuOpen: boolean; onCloseMobileMenu: () => void; navigationItems: SettingsNavRenderedItem[]; } /** * Mobile overlay + drawer. Rendered outside the scrolling flex row so `position: * fixed` does not interact with flex item sizing on desktop. */ export function SettingsMobileDrawer({ isMobileMenuOpen, onCloseMobileMenu, navigationItems, }: SettingsMobileDrawerProps) { const { t } = useTranslation("openhands"); return ( <> {isMobileMenuOpen && (
)} > ); }