diff --git a/frontend/editor/src/core/components/shared/LanguageSelector.module.css b/frontend/editor/src/core/components/shared/LanguageSelector.module.css index 68c1d672bf..f04f5bf8b1 100644 --- a/frontend/editor/src/core/components/shared/LanguageSelector.module.css +++ b/frontend/editor/src/core/components/shared/LanguageSelector.module.css @@ -1,7 +1,7 @@ /* Language selector grid responsive layout */ .languageGrid { display: grid; - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(var(--language-grid-columns, 4), 1fr); gap: 0; } diff --git a/frontend/editor/src/core/components/shared/LanguageSelector.tsx b/frontend/editor/src/core/components/shared/LanguageSelector.tsx index 257f7cd0f5..1adb0fc0bb 100644 --- a/frontend/editor/src/core/components/shared/LanguageSelector.tsx +++ b/frontend/editor/src/core/components/shared/LanguageSelector.tsx @@ -183,6 +183,7 @@ const LanguageSelector: React.FC = ({ // 2-4: 300px/2 cols, 5-9: 400px/3 cols, 10+: 600px/4 cols const dropdownWidth = languageOptions.length <= 4 ? 300 : languageOptions.length <= 9 ? 400 : 600; + const responsiveDropdownWidth = `min(${dropdownWidth}px, calc(100vw - 24px))`; const gridColumns = languageOptions.length <= 4 ? 2 : languageOptions.length <= 9 ? 3 : 4; @@ -236,7 +237,7 @@ const LanguageSelector: React.FC = ({ = ({ = ({ >
{languageOptions.map((option, index) => (