import React from 'react'; import { Dialog } from '@base-ui/react/dialog'; import { cn } from '@/lib/utils'; import { useI18n } from '@/lib/i18n'; import { SettingsView } from './SettingsView'; interface SettingsWindowProps { open: boolean; onOpenChange: (open: boolean) => void; } /** * Settings rendered as a centered window with blurred backdrop. * Used for desktop and web (non-mobile) environments. */ export const SettingsWindow: React.FC = ({ open, onOpenChange }) => { const { t } = useI18n(); const descriptionId = React.useId(); const hasOpenFloatingMenu = React.useCallback(() => { if (typeof document === 'undefined') { return false; } return Boolean( document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]') ); }, []); return ( { if (!next && hasOpenFloatingMenu()) return; onOpenChange(next); }} >
{t('settings.window.description')} onOpenChange(false)} isWindowed />
); };