@umituz/react-native-localization 3.7.2 → 3.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-localization",
3
- "version": "3.7.2",
3
+ "version": "3.7.4",
4
4
  "description": "Generic localization system for React Native apps with i18n support",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -17,9 +17,13 @@ export const useLanguageSelection = () => {
17
17
  }, [searchQuery]);
18
18
 
19
19
  const handleLanguageSelect = async (code: string, onComplete?: () => void) => {
20
+ console.log('[useLanguageSelection] handleLanguageSelect called:', { code, currentLanguage });
20
21
  setSelectedCode(code);
22
+ console.log('[useLanguageSelection] Calling setLanguage...');
21
23
  await setLanguage(code);
24
+ console.log('[useLanguageSelection] Language changed to:', code);
22
25
  onComplete?.();
26
+ console.log('[useLanguageSelection] onComplete callback executed');
23
27
  };
24
28
 
25
29
  return {
@@ -20,10 +20,17 @@ export class LanguageSwitcher {
20
20
  languageCode: string;
21
21
  isRTL: boolean;
22
22
  }> {
23
+ console.log('[LanguageSwitcher] switchLanguage called:', languageCode);
23
24
  const language = languageRepository.getLanguageByCode(languageCode);
25
+ console.log('[LanguageSwitcher] Language object:', language);
24
26
 
27
+ console.log('[LanguageSwitcher] Calling i18n.changeLanguage...');
25
28
  await i18n.changeLanguage(languageCode);
29
+ console.log('[LanguageSwitcher] i18n language changed to:', i18n.language);
30
+
31
+ console.log('[LanguageSwitcher] Saving to storage...');
26
32
  await storageRepository.setString(LANGUAGE_STORAGE_KEY, languageCode);
33
+ console.log('[LanguageSwitcher] Saved to storage');
27
34
 
28
35
  return {
29
36
  languageCode,
@@ -43,12 +43,15 @@ export const useLocalizationStore = create<LocalizationStoreType>((set, get) =>
43
43
  },
44
44
 
45
45
  setLanguage: async (languageCode: string) => {
46
+ console.log('[LocalizationStore] setLanguage called:', languageCode);
46
47
  const result = await LanguageSwitcher.switchLanguage(languageCode);
48
+ console.log('[LocalizationStore] LanguageSwitcher result:', result);
47
49
 
48
50
  set({
49
51
  currentLanguage: result.languageCode,
50
52
  isRTL: result.isRTL,
51
53
  });
54
+ console.log('[LocalizationStore] Store updated with new language:', result.languageCode);
52
55
  },
53
56
 
54
57
  reset: () => {
@@ -70,7 +70,10 @@ export const LanguageItem: React.FC<LanguageItemProps> = ({
70
70
  isSelected ? [styles.selectedLanguageItem, themedStyles.selectedLanguageItem] : undefined,
71
71
  customStyles?.languageItem,
72
72
  ]}
73
- onPress={() => onSelect(item.code)}
73
+ onPress={() => {
74
+ console.log('[LanguageItem] TouchableOpacity pressed:', item.code, item.nativeName);
75
+ onSelect(item.code);
76
+ }}
74
77
  activeOpacity={0.7}
75
78
  >
76
79
  <View style={[styles.languageContent, customStyles?.languageContent]}>
@@ -11,7 +11,7 @@ import {
11
11
  SearchBar,
12
12
  ScreenLayout,
13
13
  NavigationHeader,
14
- AppNavigation,
14
+ useAppNavigation,
15
15
  } from '@umituz/react-native-design-system';
16
16
  import { useLanguageSelection } from '../../infrastructure/hooks/useLanguageSelection';
17
17
  import { LanguageItem } from '../components/LanguageItem';
@@ -29,6 +29,7 @@ export const LanguageSelectionScreen: React.FC<LanguageSelectionScreenProps> = (
29
29
  testID = 'language-selection-screen',
30
30
  }) => {
31
31
  const tokens = useAppDesignTokens();
32
+ const navigation = useAppNavigation();
32
33
  const {
33
34
  searchQuery,
34
35
  setSearchQuery,
@@ -38,7 +39,12 @@ export const LanguageSelectionScreen: React.FC<LanguageSelectionScreenProps> = (
38
39
  } = useLanguageSelection();
39
40
 
40
41
  const onSelect = async (code: string) => {
41
- await handleLanguageSelect(code, () => AppNavigation.goBack());
42
+ console.log('[LanguageSelectionScreen] onSelect called with code:', code);
43
+ await handleLanguageSelect(code, () => {
44
+ console.log('[LanguageSelectionScreen] Navigating back using context navigation');
45
+ navigation.goBack();
46
+ });
47
+ console.log('[LanguageSelectionScreen] Language change completed');
42
48
  };
43
49
 
44
50
  const renderItem = ({ item }: { item: Language }) => {
@@ -81,7 +87,7 @@ export const LanguageSelectionScreen: React.FC<LanguageSelectionScreenProps> = (
81
87
  if (onBackPress) {
82
88
  onBackPress();
83
89
  } else {
84
- AppNavigation.goBack();
90
+ navigation.goBack();
85
91
  }
86
92
  };
87
93