refactor(LanguageSelector): move LanguageSelector to shared UI components

This commit is contained in:
Haileyesus
2026-03-02 16:57:02 +03:00
parent 5ed4798f58
commit 6f686b9da8
3 changed files with 14 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
import { Moon, Sun } from 'lucide-react'; import { Moon, Sun } from 'lucide-react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { DarkModeToggle } from '../../../shared/view/ui'; import { DarkModeToggle } from '../../../shared/view/ui';
import LanguageSelector from '../../LanguageSelector.jsx'; import LanguageSelector from '../../../shared/view/ui/LanguageSelector';
import { import {
INPUT_SETTING_TOGGLES, INPUT_SETTING_TOGGLES,
SETTING_ROW_CLASS, SETTING_ROW_CLASS,

View File

@@ -1,8 +1,8 @@
import type { ReactNode } from 'react'; import type { ReactNode } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { DarkModeToggle } from '../../../../shared/view/ui'; import { DarkModeToggle } from '../../../../shared/view/ui';
import LanguageSelector from '../../../LanguageSelector';
import type { CodeEditorSettingsState, ProjectSortOrder } from '../../types/types'; import type { CodeEditorSettingsState, ProjectSortOrder } from '../../types/types';
import LanguageSelector from '../../../../shared/view/ui/LanguageSelector';
type AppearanceSettingsTabProps = { type AppearanceSettingsTabProps = {
projectSortOrder: ProjectSortOrder; projectSortOrder: ProjectSortOrder;

View File

@@ -1,3 +1,13 @@
import { useTranslation } from 'react-i18next';
import { Languages } from 'lucide-react';
import { languages } from '../../../i18n/languages';
type LanguageSelectorProps = {
compact?: boolean;
};
/** /**
* Language Selector Component * Language Selector Component
* *
@@ -7,15 +17,10 @@
* Props: * Props:
* @param {boolean} compact - If true, uses compact style (default: false) * @param {boolean} compact - If true, uses compact style (default: false)
*/ */
export default function LanguageSelector({ compact = false }: LanguageSelectorProps) {
import { useTranslation } from 'react-i18next';
import { Languages } from 'lucide-react';
import { languages } from '../i18n/languages';
function LanguageSelector({ compact = false }) {
const { i18n, t } = useTranslation('settings'); const { i18n, t } = useTranslation('settings');
const handleLanguageChange = (event) => { const handleLanguageChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
const newLanguage = event.target.value; const newLanguage = event.target.value;
i18n.changeLanguage(newLanguage); i18n.changeLanguage(newLanguage);
}; };
@@ -70,5 +75,3 @@ function LanguageSelector({ compact = false }) {
</div> </div>
); );
} }
export default LanguageSelector;