gt-react-native 0.0.1-alpha.6 → 0.0.1-alpha.7
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/android/src/main/java/com/gtreactnative/GtReactNativePackage.kt +4 -4
- package/lib/module/provider/hooks/locale/useDetermineLocale.js +16 -14
- package/lib/module/provider/hooks/locale/useDetermineLocale.js.map +1 -1
- package/lib/module/provider/hooks/useRegionState.js +10 -22
- package/lib/module/provider/hooks/useRegionState.js.map +1 -1
- package/lib/module/utils/utils.js +1 -4
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/typescript/src/provider/hooks/locale/useDetermineLocale.d.ts +1 -1
- package/lib/typescript/src/provider/hooks/locale/useDetermineLocale.d.ts.map +1 -1
- package/lib/typescript/src/provider/hooks/useRegionState.d.ts.map +1 -1
- package/lib/typescript/src/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/provider/hooks/locale/useDetermineLocale.ts +15 -13
- package/src/provider/hooks/useRegionState.ts +9 -21
- package/src/utils/utils.ts +2 -3
- package/lib/module/utils/constants.js +0 -8
- package/lib/module/utils/constants.js.map +0 -1
- package/lib/typescript/src/utils/constants.d.ts +0 -3
- package/lib/typescript/src/utils/constants.d.ts.map +0 -1
- package/src/utils/constants.ts +0 -5
|
@@ -9,7 +9,7 @@ import java.util.HashMap
|
|
|
9
9
|
|
|
10
10
|
class GtReactNativePackage : TurboReactPackage() {
|
|
11
11
|
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
12
|
-
return if (name ==
|
|
12
|
+
return if (name == GtReactNativeModuleImpl.NAME) {
|
|
13
13
|
GtReactNativeModule(reactContext)
|
|
14
14
|
} else {
|
|
15
15
|
null
|
|
@@ -20,9 +20,9 @@ class GtReactNativePackage : TurboReactPackage() {
|
|
|
20
20
|
return ReactModuleInfoProvider {
|
|
21
21
|
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
22
22
|
val isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
|
23
|
-
moduleInfos[
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
moduleInfos[GtReactNativeModuleImpl.NAME] = ReactModuleInfo(
|
|
24
|
+
GtReactNativeModuleImpl.NAME,
|
|
25
|
+
GtReactNativeModuleImpl.NAME,
|
|
26
26
|
false, // canOverrideExistingModule
|
|
27
27
|
false, // needsEagerInit
|
|
28
28
|
false, // isCxxModule
|
|
@@ -5,14 +5,13 @@ import { determineLocale, resolveAliasLocale } from 'generaltranslation';
|
|
|
5
5
|
import { libraryDefaultLocale } from 'generaltranslation/internal';
|
|
6
6
|
import { getNativeLocales } from "../../../utils/getNativeLocales.js";
|
|
7
7
|
import { nativeStoreGet, nativeStoreSet } from "../../../utils/nativeStore.js";
|
|
8
|
-
import { LOCALE_KEY } from "../../../utils/constants.js";
|
|
9
8
|
export function useDetermineLocale({
|
|
10
9
|
locale: _locale = '',
|
|
11
10
|
defaultLocale = libraryDefaultLocale,
|
|
12
11
|
locales = [],
|
|
13
12
|
localeCookieName = 'generaltranslation.locale',
|
|
14
|
-
ssr =
|
|
15
|
-
//
|
|
13
|
+
ssr = false,
|
|
14
|
+
// not relevant
|
|
16
15
|
customMapping
|
|
17
16
|
}) {
|
|
18
17
|
// resolve alias locale
|
|
@@ -34,7 +33,7 @@ export function useDetermineLocale({
|
|
|
34
33
|
const [locale, _setLocale] = useState(initializeLocale());
|
|
35
34
|
|
|
36
35
|
// Functions for setting internal locale state
|
|
37
|
-
const [setLocale,
|
|
36
|
+
const [setLocale, setLocaleWithoutPersist] = createSetLocale({
|
|
38
37
|
locale,
|
|
39
38
|
locales,
|
|
40
39
|
defaultLocale,
|
|
@@ -53,8 +52,8 @@ export function useDetermineLocale({
|
|
|
53
52
|
localeCookieName,
|
|
54
53
|
customMapping
|
|
55
54
|
});
|
|
56
|
-
|
|
57
|
-
}, [_locale, locale, locales, defaultLocale, localeCookieName, customMapping,
|
|
55
|
+
setLocaleWithoutPersist(newLocale);
|
|
56
|
+
}, [_locale, locale, locales, defaultLocale, localeCookieName, customMapping, setLocaleWithoutPersist]);
|
|
58
57
|
return [locale, setLocale];
|
|
59
58
|
}
|
|
60
59
|
|
|
@@ -73,6 +72,7 @@ function getNewLocale({
|
|
|
73
72
|
locale,
|
|
74
73
|
locales,
|
|
75
74
|
defaultLocale,
|
|
75
|
+
localeCookieName,
|
|
76
76
|
customMapping
|
|
77
77
|
}) {
|
|
78
78
|
// No change, return
|
|
@@ -81,7 +81,7 @@ function getNewLocale({
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
// Check for locale in native store
|
|
84
|
-
let storedLocale = nativeStoreGet(
|
|
84
|
+
let storedLocale = nativeStoreGet(localeCookieName);
|
|
85
85
|
if (storedLocale) {
|
|
86
86
|
storedLocale = resolveAliasLocale(storedLocale, customMapping);
|
|
87
87
|
}
|
|
@@ -104,7 +104,7 @@ function getNewLocale({
|
|
|
104
104
|
|
|
105
105
|
// if stored locale not valid, change it back to whatever we use for fallback
|
|
106
106
|
if (storedLocale && storedLocale !== newLocale) {
|
|
107
|
-
nativeStoreSet(
|
|
107
|
+
nativeStoreSet(localeCookieName, newLocale);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
// return new locale
|
|
@@ -115,10 +115,12 @@ function createSetLocale({
|
|
|
115
115
|
locales,
|
|
116
116
|
defaultLocale,
|
|
117
117
|
_setLocale,
|
|
118
|
+
localeCookieName,
|
|
118
119
|
customMapping
|
|
119
120
|
}) {
|
|
120
121
|
locale = resolveAliasLocale(locale, customMapping);
|
|
121
|
-
|
|
122
|
+
// Just update the internal state, don't persist it
|
|
123
|
+
const setLocaleWithoutPersist = newLocale => {
|
|
122
124
|
// validate locale
|
|
123
125
|
const validatedLocale = resolveAliasLocale(determineLocale(newLocale, locales, customMapping) || locale || defaultLocale, customMapping);
|
|
124
126
|
if (validatedLocale !== newLocale) {
|
|
@@ -128,13 +130,13 @@ function createSetLocale({
|
|
|
128
130
|
_setLocale(validatedLocale);
|
|
129
131
|
return validatedLocale;
|
|
130
132
|
};
|
|
131
|
-
// update locale and
|
|
133
|
+
// update locale and persist it in native store
|
|
132
134
|
const setLocale = newLocale => {
|
|
133
135
|
newLocale = resolveAliasLocale(newLocale, customMapping);
|
|
134
|
-
|
|
135
|
-
const validatedLocale =
|
|
136
|
-
nativeStoreSet(
|
|
136
|
+
setLocaleWithoutPersist(newLocale);
|
|
137
|
+
const validatedLocale = setLocaleWithoutPersist(newLocale);
|
|
138
|
+
nativeStoreSet(localeCookieName, validatedLocale);
|
|
137
139
|
};
|
|
138
|
-
return [setLocale,
|
|
140
|
+
return [setLocale, setLocaleWithoutPersist];
|
|
139
141
|
}
|
|
140
142
|
//# sourceMappingURL=useDetermineLocale.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","determineLocale","resolveAliasLocale","libraryDefaultLocale","getNativeLocales","nativeStoreGet","nativeStoreSet","
|
|
1
|
+
{"version":3,"names":["useEffect","useState","determineLocale","resolveAliasLocale","libraryDefaultLocale","getNativeLocales","nativeStoreGet","nativeStoreSet","useDetermineLocale","locale","_locale","defaultLocale","locales","localeCookieName","ssr","customMapping","map","initializeLocale","result","getNewLocale","_setLocale","setLocale","setLocaleWithoutPersist","createSetLocale","newLocale","storedLocale","preferredLocales","length","l","validatedLocale","console","warn"],"sourceRoot":"../../../../../src","sources":["provider/hooks/locale/useDetermineLocale.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,29 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
|
+
import { nativeStoreGet, nativeStoreSet } from "../../utils/nativeStore.js";
|
|
4
5
|
function getNewRegion({
|
|
5
|
-
_region
|
|
6
|
+
_region,
|
|
7
|
+
regionCookieName
|
|
6
8
|
}) {
|
|
7
|
-
// Check for region in
|
|
8
|
-
|
|
9
|
-
// typeof document !== 'undefined'
|
|
10
|
-
// ? document.cookie
|
|
11
|
-
// .split('; ')
|
|
12
|
-
// .find((row) => row.startsWith(`${regionCookieName}=`))
|
|
13
|
-
// ?.split('=')[1]
|
|
14
|
-
// : undefined;
|
|
15
|
-
const cookieRegion = undefined;
|
|
9
|
+
// Check for region in native store
|
|
10
|
+
const cookieRegion = nativeStoreGet(regionCookieName) || undefined;
|
|
16
11
|
const newRegion = _region || cookieRegion;
|
|
17
12
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// typeof document !== 'undefined'
|
|
23
|
-
// ) {
|
|
24
|
-
// document.cookie = `${regionCookieName}=${newRegion};path=/`;
|
|
25
|
-
// }
|
|
26
|
-
|
|
13
|
+
// if state not valid, change it to newRegion
|
|
14
|
+
if (cookieRegion && cookieRegion !== newRegion) {
|
|
15
|
+
nativeStoreSet(regionCookieName, newRegion || '');
|
|
16
|
+
}
|
|
27
17
|
return newRegion;
|
|
28
18
|
}
|
|
29
19
|
export function useRegionState({
|
|
@@ -37,9 +27,7 @@ export function useRegionState({
|
|
|
37
27
|
}));
|
|
38
28
|
const setRegion = newRegion => {
|
|
39
29
|
_setRegion(newRegion);
|
|
40
|
-
|
|
41
|
-
// document.cookie = `${regionCookieName}=${newRegion || ''};path=/`;
|
|
42
|
-
// }
|
|
30
|
+
nativeStoreSet(regionCookieName, newRegion || '');
|
|
43
31
|
};
|
|
44
32
|
useEffect(() => {
|
|
45
33
|
_setRegion(getNewRegion({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","getNewRegion","_region","cookieRegion","undefined","newRegion","useRegionState","ssr","
|
|
1
|
+
{"version":3,"names":["useEffect","useState","nativeStoreGet","nativeStoreSet","getNewRegion","_region","regionCookieName","cookieRegion","undefined","newRegion","useRegionState","ssr","region","_setRegion","setRegion"],"sourceRoot":"../../../../src","sources":["provider/hooks/useRegionState.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAK3C,SAASC,cAAc,EAAEC,cAAc,QAAQ,4BAAyB;AAExE,SAASC,YAAYA,CAAC;EACpBC,OAAO;EACPC;AAIF,CAAC,EAAE;EACD;EACA,MAAMC,YAAY,GAAGL,cAAc,CAACI,gBAAgB,CAAC,IAAIE,SAAS;EAClE,MAAMC,SAAS,GAAGJ,OAAO,IAAIE,YAAY;;EAEzC;EACA,IAAIA,YAAY,IAAIA,YAAY,KAAKE,SAAS,EAAE;IAC9CN,cAAc,CAACG,gBAAgB,EAAEG,SAAS,IAAI,EAAE,CAAC;EACnD;EAEA,OAAOA,SAAS;AAClB;AAEA,OAAO,SAASC,cAAcA,CAAC;EAC7BL,OAAO;EACPM,GAAG;EACHL;AACoB,CAAC,EAAwB;EAC7C,MAAM,CAACM,MAAM,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CACnCU,GAAG,GACCH,SAAS,GACTJ,YAAY,CAAC;IACXC,OAAO;IACPC;EACF,CAAC,CACP,CAAC;EACD,MAAMQ,SAAS,GAAIL,SAA6B,IAAK;IACnDI,UAAU,CAACJ,SAAS,CAAC;IACrBN,cAAc,CAACG,gBAAgB,EAAEG,SAAS,IAAI,EAAE,CAAC;EACnD,CAAC;EACDT,SAAS,CAAC,MAAM;IACda,UAAU,CAACT,YAAY,CAAC;MAAEC,OAAO;MAAEC;IAAiB,CAAC,CAAC,CAAC;EACzD,CAAC,EAAE,CAACD,OAAO,EAAEC,gBAAgB,CAAC,CAAC;EAC/B,OAAO;IACLM,MAAM;IACNE;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
// import Config from 'react-native-config';
|
|
4
|
-
|
|
5
3
|
export function readAuthFromEnv(params) {
|
|
6
4
|
const {
|
|
7
5
|
projectId,
|
|
@@ -9,8 +7,7 @@ export function readAuthFromEnv(params) {
|
|
|
9
7
|
} = params;
|
|
10
8
|
return {
|
|
11
9
|
projectId: projectId || '',
|
|
12
|
-
|
|
13
|
-
devApiKey: devApiKey //|| Config.GT_DEV_API_KEY || undefined,
|
|
10
|
+
devApiKey: devApiKey
|
|
14
11
|
};
|
|
15
12
|
}
|
|
16
13
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["readAuthFromEnv","params","projectId","devApiKey"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["readAuthFromEnv","params","projectId","devApiKey"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":";;AAKA,OAAO,SAASA,eAAeA,CAACC,MAAyB,EAAqB;EAC5E,MAAM;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAGF,MAAM;EACvC,OAAO;IACLC,SAAS,EAAEA,SAAS,IAAI,EAAE;IAC1BC,SAAS,EAAEA;EACb,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UseDetermineLocaleParams, UseDetermineLocaleReturn } from '@generaltranslation/react-core/types';
|
|
2
|
-
export declare function useDetermineLocale({ locale: _locale, defaultLocale, locales, localeCookieName, ssr, //
|
|
2
|
+
export declare function useDetermineLocale({ locale: _locale, defaultLocale, locales, localeCookieName, ssr, // not relevant
|
|
3
3
|
customMapping, }: UseDetermineLocaleParams): UseDetermineLocaleReturn;
|
|
4
4
|
//# sourceMappingURL=useDetermineLocale.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDetermineLocale.d.ts","sourceRoot":"","sources":["../../../../../../src/provider/hooks/locale/useDetermineLocale.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"useDetermineLocale.d.ts","sourceRoot":"","sources":["../../../../../../src/provider/hooks/locale/useDetermineLocale.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAI9C,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EAAE,OAAY,EACpB,aAAoC,EACpC,OAAY,EACZ,gBAA8C,EAC9C,GAAW,EAAE,eAAe;AAC5B,aAAa,GACd,EAAE,wBAAwB,GAAG,wBAAwB,CA2DrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRegionState.d.ts","sourceRoot":"","sources":["../../../../../src/provider/hooks/useRegionState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"useRegionState.d.ts","sourceRoot":"","sources":["../../../../../src/provider/hooks/useRegionState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;AAsB9C,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,GAAG,EACH,gBAAgB,GACjB,EAAE,oBAAoB,GAAG,oBAAoB,CAoB7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAE9C,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAM5E"}
|
package/package.json
CHANGED
|
@@ -8,14 +8,13 @@ import type {
|
|
|
8
8
|
} from '@generaltranslation/react-core/types';
|
|
9
9
|
import { getNativeLocales } from '../../../utils/getNativeLocales';
|
|
10
10
|
import { nativeStoreGet, nativeStoreSet } from '../../../utils/nativeStore';
|
|
11
|
-
import { LOCALE_KEY } from '../../../utils/constants';
|
|
12
11
|
|
|
13
12
|
export function useDetermineLocale({
|
|
14
13
|
locale: _locale = '',
|
|
15
14
|
defaultLocale = libraryDefaultLocale,
|
|
16
15
|
locales = [],
|
|
17
16
|
localeCookieName = 'generaltranslation.locale',
|
|
18
|
-
ssr =
|
|
17
|
+
ssr = false, // not relevant
|
|
19
18
|
customMapping,
|
|
20
19
|
}: UseDetermineLocaleParams): UseDetermineLocaleReturn {
|
|
21
20
|
// resolve alias locale
|
|
@@ -45,7 +44,7 @@ export function useDetermineLocale({
|
|
|
45
44
|
const [locale, _setLocale] = useState<string>(initializeLocale());
|
|
46
45
|
|
|
47
46
|
// Functions for setting internal locale state
|
|
48
|
-
const [setLocale,
|
|
47
|
+
const [setLocale, setLocaleWithoutPersist] = createSetLocale({
|
|
49
48
|
locale,
|
|
50
49
|
locales,
|
|
51
50
|
defaultLocale,
|
|
@@ -64,7 +63,7 @@ export function useDetermineLocale({
|
|
|
64
63
|
localeCookieName,
|
|
65
64
|
customMapping,
|
|
66
65
|
});
|
|
67
|
-
|
|
66
|
+
setLocaleWithoutPersist(newLocale);
|
|
68
67
|
}, [
|
|
69
68
|
_locale,
|
|
70
69
|
locale,
|
|
@@ -72,7 +71,7 @@ export function useDetermineLocale({
|
|
|
72
71
|
defaultLocale,
|
|
73
72
|
localeCookieName,
|
|
74
73
|
customMapping,
|
|
75
|
-
|
|
74
|
+
setLocaleWithoutPersist,
|
|
76
75
|
]);
|
|
77
76
|
|
|
78
77
|
return [locale, setLocale];
|
|
@@ -93,6 +92,7 @@ function getNewLocale({
|
|
|
93
92
|
locale,
|
|
94
93
|
locales,
|
|
95
94
|
defaultLocale,
|
|
95
|
+
localeCookieName,
|
|
96
96
|
customMapping,
|
|
97
97
|
}: {
|
|
98
98
|
_locale: string;
|
|
@@ -112,7 +112,7 @@ function getNewLocale({
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
// Check for locale in native store
|
|
115
|
-
let storedLocale = nativeStoreGet(
|
|
115
|
+
let storedLocale = nativeStoreGet(localeCookieName);
|
|
116
116
|
if (storedLocale) {
|
|
117
117
|
storedLocale = resolveAliasLocale(storedLocale, customMapping);
|
|
118
118
|
}
|
|
@@ -141,7 +141,7 @@ function getNewLocale({
|
|
|
141
141
|
|
|
142
142
|
// if stored locale not valid, change it back to whatever we use for fallback
|
|
143
143
|
if (storedLocale && storedLocale !== newLocale) {
|
|
144
|
-
nativeStoreSet(
|
|
144
|
+
nativeStoreSet(localeCookieName, newLocale);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
// return new locale
|
|
@@ -153,6 +153,7 @@ function createSetLocale({
|
|
|
153
153
|
locales,
|
|
154
154
|
defaultLocale,
|
|
155
155
|
_setLocale,
|
|
156
|
+
localeCookieName,
|
|
156
157
|
customMapping,
|
|
157
158
|
}: {
|
|
158
159
|
locale: string;
|
|
@@ -163,7 +164,8 @@ function createSetLocale({
|
|
|
163
164
|
customMapping?: CustomMapping;
|
|
164
165
|
}): [(newLocale: string) => void, (newLocale: string) => void] {
|
|
165
166
|
locale = resolveAliasLocale(locale, customMapping);
|
|
166
|
-
|
|
167
|
+
// Just update the internal state, don't persist it
|
|
168
|
+
const setLocaleWithoutPersist = (newLocale: string): string => {
|
|
167
169
|
// validate locale
|
|
168
170
|
const validatedLocale = resolveAliasLocale(
|
|
169
171
|
determineLocale(newLocale, locales, customMapping) ||
|
|
@@ -181,12 +183,12 @@ function createSetLocale({
|
|
|
181
183
|
|
|
182
184
|
return validatedLocale;
|
|
183
185
|
};
|
|
184
|
-
// update locale and
|
|
186
|
+
// update locale and persist it in native store
|
|
185
187
|
const setLocale = (newLocale: string): void => {
|
|
186
188
|
newLocale = resolveAliasLocale(newLocale, customMapping);
|
|
187
|
-
|
|
188
|
-
const validatedLocale =
|
|
189
|
-
nativeStoreSet(
|
|
189
|
+
setLocaleWithoutPersist(newLocale);
|
|
190
|
+
const validatedLocale = setLocaleWithoutPersist(newLocale);
|
|
191
|
+
nativeStoreSet(localeCookieName, validatedLocale);
|
|
190
192
|
};
|
|
191
|
-
return [setLocale,
|
|
193
|
+
return [setLocale, setLocaleWithoutPersist];
|
|
192
194
|
}
|
|
@@ -3,33 +3,23 @@ import type {
|
|
|
3
3
|
UseRegionStateParams,
|
|
4
4
|
UseRegionStateReturn,
|
|
5
5
|
} from '@generaltranslation/react-core/types';
|
|
6
|
+
import { nativeStoreGet, nativeStoreSet } from '../../utils/nativeStore';
|
|
6
7
|
|
|
7
8
|
function getNewRegion({
|
|
8
9
|
_region,
|
|
10
|
+
regionCookieName,
|
|
9
11
|
}: {
|
|
10
12
|
_region: string | undefined;
|
|
11
13
|
regionCookieName: string;
|
|
12
14
|
}) {
|
|
13
|
-
// Check for region in
|
|
14
|
-
|
|
15
|
-
// typeof document !== 'undefined'
|
|
16
|
-
// ? document.cookie
|
|
17
|
-
// .split('; ')
|
|
18
|
-
// .find((row) => row.startsWith(`${regionCookieName}=`))
|
|
19
|
-
// ?.split('=')[1]
|
|
20
|
-
// : undefined;
|
|
21
|
-
const cookieRegion = undefined;
|
|
22
|
-
|
|
15
|
+
// Check for region in native store
|
|
16
|
+
const cookieRegion = nativeStoreGet(regionCookieName) || undefined;
|
|
23
17
|
const newRegion = _region || cookieRegion;
|
|
24
18
|
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// typeof document !== 'undefined'
|
|
30
|
-
// ) {
|
|
31
|
-
// document.cookie = `${regionCookieName}=${newRegion};path=/`;
|
|
32
|
-
// }
|
|
19
|
+
// if state not valid, change it to newRegion
|
|
20
|
+
if (cookieRegion && cookieRegion !== newRegion) {
|
|
21
|
+
nativeStoreSet(regionCookieName, newRegion || '');
|
|
22
|
+
}
|
|
33
23
|
|
|
34
24
|
return newRegion;
|
|
35
25
|
}
|
|
@@ -49,9 +39,7 @@ export function useRegionState({
|
|
|
49
39
|
);
|
|
50
40
|
const setRegion = (newRegion: string | undefined) => {
|
|
51
41
|
_setRegion(newRegion);
|
|
52
|
-
|
|
53
|
-
// document.cookie = `${regionCookieName}=${newRegion || ''};path=/`;
|
|
54
|
-
// }
|
|
42
|
+
nativeStoreSet(regionCookieName, newRegion || '');
|
|
55
43
|
};
|
|
56
44
|
useEffect(() => {
|
|
57
45
|
_setRegion(getNewRegion({ _region, regionCookieName }));
|
package/src/utils/utils.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// import Config from 'react-native-config';
|
|
2
1
|
import type {
|
|
3
2
|
AuthFromEnvParams,
|
|
4
3
|
AuthFromEnvReturn,
|
|
@@ -7,7 +6,7 @@ import type {
|
|
|
7
6
|
export function readAuthFromEnv(params: AuthFromEnvParams): AuthFromEnvReturn {
|
|
8
7
|
const { projectId, devApiKey } = params;
|
|
9
8
|
return {
|
|
10
|
-
projectId: projectId || '',
|
|
11
|
-
devApiKey: devApiKey,
|
|
9
|
+
projectId: projectId || '',
|
|
10
|
+
devApiKey: devApiKey,
|
|
12
11
|
};
|
|
13
12
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["LOCALE_KEY","REGION_KEY"],"sourceRoot":"../../../src","sources":["utils/constants.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,UAAU,GAAG,2BAA2B;;AAErD;AACA,OAAO,MAAMC,UAAU,GAAG,2BAA2B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,8BAA8B,CAAC;AAGtD,eAAO,MAAM,UAAU,8BAA8B,CAAC"}
|