fix: resolve circular dependency in language imports

This commit is contained in:
dmytro
2026-06-30 07:59:51 +00:00
committed by Igor Martyniuk
parent 1bb0b7e68a
commit 11569d7736
15 changed files with 101 additions and 27 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@crux-kit/admin-app",
"private": true,
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"scripts": {
"dev": "vite",
+1
View File
@@ -16,6 +16,7 @@ export interface Language {
}
export interface I18nProviderProps {
languages: Language[];
currenLanguage: Language;
isRTL: () => boolean;
changeLanguage: (lang: Language) => void;
@@ -32,6 +32,7 @@ const getInitialLanguage = () => {
};
const initialProps: I18nProviderProps = {
languages: I18N_LANGUAGES,
currenLanguage: getInitialLanguage(),
changeLanguage: (_: Language) => {},
isRTL: () => false
@@ -60,6 +61,7 @@ const I18nProvider = ({ children }: PropsWithChildren) => {
return (
<TranslationsContext.Provider
value={{
languages: I18N_LANGUAGES,
isRTL,
currenLanguage,
changeLanguage
@@ -3,7 +3,6 @@ import { useTheme } from 'next-themes';
import { ReactNode } from 'react';
import { useIntl } from 'react-intl';
import { Link } from 'react-router';
import { I18N_LANGUAGES } from '#app/i18n/config';
import { Language } from '#app/i18n/types';
import { IntlName } from '#infrastructure/IntlName';
import { useAuth } from '#core/Auth/providers/AuthProvider';
@@ -18,7 +17,7 @@ export function UserDropdownMenu({ trigger }: { trigger: ReactNode }) {
const intl = useIntl();
const { logout, user } = useAuth();
const { currenLanguage, changeLanguage } = useLanguage();
const { currenLanguage, languages, changeLanguage } = useLanguage();
const { resolvedTheme, setTheme } = useTheme();
const displayName = user
@@ -110,11 +109,11 @@ export function UserDropdownMenu({ trigger }: { trigger: ReactNode }) {
<DropdownMenuRadioGroup
value={currenLanguage.code}
onValueChange={(value) => {
const selectedLang = I18N_LANGUAGES.find((lang) => lang.code === value);
const selectedLang = languages.find((lang) => lang.code === value);
if (selectedLang) handleLanguage(selectedLang);
}}
>
{I18N_LANGUAGES.map((item) => (
{languages.map((item) => (
<DropdownMenuRadioItem
key={item.code}
value={item.code}