@oxyhq/services 5.13.21 → 5.13.23
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/lib/commonjs/core/OxyServices.base.js +34 -21
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/ui/components/ErrorBoundary.js +145 -0
- package/lib/commonjs/ui/components/ErrorBoundary.js.map +1 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js +83 -30
- package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +19 -14
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +90 -77
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
- package/lib/module/core/OxyServices.base.js +34 -21
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/ui/components/ErrorBoundary.js +139 -0
- package/lib/module/ui/components/ErrorBoundary.js.map +1 -0
- package/lib/module/ui/navigation/OxyRouter.js +83 -31
- package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +19 -14
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js +91 -78
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInScreen.js +1 -1
- package/lib/module/ui/screens/SignInScreen.js.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts +16 -10
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.language.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.location.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.totp.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.totp.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts +0 -2
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +0 -26
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/ui/components/ErrorBoundary.d.ts +31 -0
- package/lib/typescript/ui/components/ErrorBoundary.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/OxyRouter.d.ts +3 -1
- package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/OxyServices.base.ts +37 -22
- package/src/ui/components/ErrorBoundary.tsx +154 -0
- package/src/ui/navigation/OxyRouter.tsx +90 -29
- package/src/ui/screens/AccountCenterScreen.tsx +17 -14
- package/src/ui/screens/SessionManagementScreen.tsx +81 -69
- package/src/ui/screens/SignInScreen.tsx +1 -1
|
@@ -105,8 +105,6 @@ export declare function OxyServicesPrivacyMixin<T extends typeof OxyServicesBase
|
|
|
105
105
|
hasValidToken(): boolean;
|
|
106
106
|
getAccessToken(): string | null;
|
|
107
107
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
108
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
109
|
-
hasAccessToken(): boolean;
|
|
110
108
|
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
111
109
|
maxRetries?: number;
|
|
112
110
|
retryDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyServices.privacy.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.privacy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;mCAC+B,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM;QAIvG;;WAEG;iCACiC,WAAW,GAAG,cAAc,UACtD,MAAM,eACD,MAAM,OAAO,CAAC,GAAC,EAAE,CAAC,cACnB,CAAC,IAAI,EAAE,GAAC,KAAK,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GACpF,OAAO,CAAC,OAAO,CAAC;QAuBnB;;;WAGG;2BACsB,OAAO,CAAC,WAAW,EAAE,CAAC;QAW/C;;;;WAIG;0BACqB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa7D;;;;WAIG;4BACuB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa/D;;;;WAIG;8BACyB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAYrD;;;WAGG;8BACyB,OAAO,CAAC,cAAc,EAAE,CAAC;QAWrD;;;;WAIG;6BACwB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAahE;;;;WAIG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAalE;;;;WAIG;iCAC4B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"OxyServices.privacy.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.privacy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;mCAC+B,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM;QAIvG;;WAEG;iCACiC,WAAW,GAAG,cAAc,UACtD,MAAM,eACD,MAAM,OAAO,CAAC,GAAC,EAAE,CAAC,cACnB,CAAC,IAAI,EAAE,GAAC,KAAK,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GACpF,OAAO,CAAC,OAAO,CAAC;QAuBnB;;;WAGG;2BACsB,OAAO,CAAC,WAAW,EAAE,CAAC;QAW/C;;;;WAIG;0BACqB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa7D;;;;WAIG;4BACuB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa/D;;;;WAIG;8BACyB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAYrD;;;WAGG;8BACyB,OAAO,CAAC,cAAc,EAAE,CAAC;QAWrD;;;;WAIG;6BACwB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAahE;;;;WAIG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAalE;;;;WAIG;iCAC4B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUye,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;MAFz3G"}
|
|
@@ -48,8 +48,6 @@ export declare function OxyServicesTotpMixin<T extends typeof OxyServicesBase>(B
|
|
|
48
48
|
hasValidToken(): boolean;
|
|
49
49
|
getAccessToken(): string | null;
|
|
50
50
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
51
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
52
|
-
hasAccessToken(): boolean;
|
|
53
51
|
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
54
52
|
maxRetries?: number;
|
|
55
53
|
retryDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyServices.totp.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.totp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAErD,GAAG,EAAE;uCAGW,MAAM,GAAG,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;wCAQtF,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;+BAQ3G,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC
|
|
1
|
+
{"version":3,"file":"OxyServices.totp.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.totp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAErD,GAAG,EAAE;uCAGW,MAAM,GAAG,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;wCAQtF,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;+BAQ3G,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUupJ,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;MAFjkP"}
|
|
@@ -168,8 +168,6 @@ export declare function OxyServicesUserMixin<T extends typeof OxyServicesBase>(B
|
|
|
168
168
|
hasValidToken(): boolean;
|
|
169
169
|
getAccessToken(): string | null;
|
|
170
170
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
171
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
172
|
-
hasAccessToken(): boolean;
|
|
173
171
|
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
174
172
|
maxRetries?: number;
|
|
175
173
|
retryDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyServices.user.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.user.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OxyServices.user.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.user.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,8 +76,6 @@ export declare function OxyServicesUtilityMixin<T extends typeof OxyServicesBase
|
|
|
76
76
|
hasValidToken(): boolean;
|
|
77
77
|
getAccessToken(): string | null;
|
|
78
78
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
79
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
80
|
-
hasAccessToken(): boolean;
|
|
81
79
|
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
82
80
|
maxRetries?: number;
|
|
83
81
|
retryDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyServices.utility.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.utility.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAC5C,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;uBACW;YACZ,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;YACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,IAIS,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"OxyServices.utility.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.utility.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAC5C,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;uBACW;YACZ,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;YACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,IAIS,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAwGsB,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;MAFr5F"}
|
|
@@ -57,8 +57,6 @@ export declare function composeOxyServices(): {
|
|
|
57
57
|
hasValidToken(): boolean;
|
|
58
58
|
getAccessToken(): string | null;
|
|
59
59
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
60
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
61
|
-
hasAccessToken(): boolean;
|
|
62
60
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
63
61
|
maxRetries?: number;
|
|
64
62
|
retryDelay?: number;
|
|
@@ -112,8 +110,6 @@ export declare function composeOxyServices(): {
|
|
|
112
110
|
hasValidToken(): boolean;
|
|
113
111
|
getAccessToken(): string | null;
|
|
114
112
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
115
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
116
|
-
hasAccessToken(): boolean;
|
|
117
113
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
118
114
|
maxRetries?: number;
|
|
119
115
|
retryDelay?: number;
|
|
@@ -163,8 +159,6 @@ export declare function composeOxyServices(): {
|
|
|
163
159
|
hasValidToken(): boolean;
|
|
164
160
|
getAccessToken(): string | null;
|
|
165
161
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
166
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
167
|
-
hasAccessToken(): boolean;
|
|
168
162
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
169
163
|
maxRetries?: number;
|
|
170
164
|
retryDelay?: number;
|
|
@@ -214,8 +208,6 @@ export declare function composeOxyServices(): {
|
|
|
214
208
|
hasValidToken(): boolean;
|
|
215
209
|
getAccessToken(): string | null;
|
|
216
210
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
217
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
218
|
-
hasAccessToken(): boolean;
|
|
219
211
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
220
212
|
maxRetries?: number;
|
|
221
213
|
retryDelay?: number;
|
|
@@ -281,8 +273,6 @@ export declare function composeOxyServices(): {
|
|
|
281
273
|
hasValidToken(): boolean;
|
|
282
274
|
getAccessToken(): string | null;
|
|
283
275
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
284
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
285
|
-
hasAccessToken(): boolean;
|
|
286
276
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
287
277
|
maxRetries?: number;
|
|
288
278
|
retryDelay?: number;
|
|
@@ -363,8 +353,6 @@ export declare function composeOxyServices(): {
|
|
|
363
353
|
hasValidToken(): boolean;
|
|
364
354
|
getAccessToken(): string | null;
|
|
365
355
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
366
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
367
|
-
hasAccessToken(): boolean;
|
|
368
356
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
369
357
|
maxRetries?: number;
|
|
370
358
|
retryDelay?: number;
|
|
@@ -418,8 +406,6 @@ export declare function composeOxyServices(): {
|
|
|
418
406
|
hasValidToken(): boolean;
|
|
419
407
|
getAccessToken(): string | null;
|
|
420
408
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
421
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
422
|
-
hasAccessToken(): boolean;
|
|
423
409
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
424
410
|
maxRetries?: number;
|
|
425
411
|
retryDelay?: number;
|
|
@@ -470,8 +456,6 @@ export declare function composeOxyServices(): {
|
|
|
470
456
|
hasValidToken(): boolean;
|
|
471
457
|
getAccessToken(): string | null;
|
|
472
458
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
473
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
474
|
-
hasAccessToken(): boolean;
|
|
475
459
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
476
460
|
maxRetries?: number;
|
|
477
461
|
retryDelay?: number;
|
|
@@ -528,8 +512,6 @@ export declare function composeOxyServices(): {
|
|
|
528
512
|
hasValidToken(): boolean;
|
|
529
513
|
getAccessToken(): string | null;
|
|
530
514
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
531
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
532
|
-
hasAccessToken(): boolean;
|
|
533
515
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
534
516
|
maxRetries?: number;
|
|
535
517
|
retryDelay?: number;
|
|
@@ -603,8 +585,6 @@ export declare function composeOxyServices(): {
|
|
|
603
585
|
hasValidToken(): boolean;
|
|
604
586
|
getAccessToken(): string | null;
|
|
605
587
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
606
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
607
|
-
hasAccessToken(): boolean;
|
|
608
588
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
609
589
|
maxRetries?: number;
|
|
610
590
|
retryDelay?: number;
|
|
@@ -666,8 +646,6 @@ export declare function composeOxyServices(): {
|
|
|
666
646
|
hasValidToken(): boolean;
|
|
667
647
|
getAccessToken(): string | null;
|
|
668
648
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
669
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
670
|
-
hasAccessToken(): boolean;
|
|
671
649
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
672
650
|
maxRetries?: number;
|
|
673
651
|
retryDelay?: number;
|
|
@@ -773,8 +751,6 @@ export declare function composeOxyServices(): {
|
|
|
773
751
|
hasValidToken(): boolean;
|
|
774
752
|
getAccessToken(): string | null;
|
|
775
753
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
776
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
777
|
-
hasAccessToken(): boolean;
|
|
778
754
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
779
755
|
maxRetries?: number;
|
|
780
756
|
retryDelay?: number;
|
|
@@ -884,8 +860,6 @@ export declare function composeOxyServices(): {
|
|
|
884
860
|
hasValidToken(): boolean;
|
|
885
861
|
getAccessToken(): string | null;
|
|
886
862
|
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
887
|
-
waitForAuthentication(timeoutMs?: number): Promise<boolean>;
|
|
888
|
-
hasAccessToken(): boolean;
|
|
889
863
|
withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
|
|
890
864
|
maxRetries?: number;
|
|
891
865
|
retryDelay?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAetD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;aA4Bwe,QAAQ,EAAC,QAAS,EAAC,SAAU
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAetD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;aA4Bwe,QAAQ,EAAC,QAAS,EAAC,SAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAm4G,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAr1F,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAiwF,CAAC;qBAAwB,CAAC;;;;;2BAF9vN"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { Component, ErrorInfo, ReactNode } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
fallback?: ReactNode;
|
|
5
|
+
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
6
|
+
}
|
|
7
|
+
interface State {
|
|
8
|
+
hasError: boolean;
|
|
9
|
+
error: Error | null;
|
|
10
|
+
errorInfo: ErrorInfo | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Error Boundary Component
|
|
14
|
+
*
|
|
15
|
+
* Catches JavaScript errors anywhere in the child component tree,
|
|
16
|
+
* logs those errors, and displays a fallback UI instead of crashing.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* <ErrorBoundary>
|
|
20
|
+
* <YourComponent />
|
|
21
|
+
* </ErrorBoundary>
|
|
22
|
+
*/
|
|
23
|
+
export declare class ErrorBoundary extends Component<Props, State> {
|
|
24
|
+
constructor(props: Props);
|
|
25
|
+
static getDerivedStateFromError(error: Error): Partial<State>;
|
|
26
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
27
|
+
handleReset: () => void;
|
|
28
|
+
render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
29
|
+
}
|
|
30
|
+
export default ErrorBoundary;
|
|
31
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG/D,UAAU,KAAK;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CAC1D;AAED,UAAU,KAAK;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC1C,KAAK,EAAE,KAAK;IASxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ7D,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAkBpD,WAAW,aAMT;IAEF,MAAM;CAiCT;AAiDD,eAAe,aAAa,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { OxyRouterProps } from './types';
|
|
3
3
|
declare const OxyRouter: React.FC<OxyRouterProps>;
|
|
4
|
-
|
|
4
|
+
declare const MemoizedOxyRouter: React.NamedExoticComponent<OxyRouterProps>;
|
|
5
|
+
export { OxyRouter };
|
|
6
|
+
export default MemoizedOxyRouter;
|
|
5
7
|
//# sourceMappingURL=OxyRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyRouter.d.ts","sourceRoot":"","sources":["../../../../src/ui/navigation/OxyRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyRouter.d.ts","sourceRoot":"","sources":["../../../../src/ui/navigation/OxyRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAsC9C,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuJvC,CAAC;AAGF,QAAA,MAAM,iBAAiB,4CAAkB,CAAC;AAe1C,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAc3D,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4PlD,CAAC;AA6BF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/SessionManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"SessionManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/SessionManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkStD,CAAC;AAuFF,eAAe,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.13.
|
|
3
|
+
"version": "5.13.23",
|
|
4
4
|
"description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -164,37 +164,52 @@ export class OxyServicesBase {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
|
-
* Wait for authentication to be ready
|
|
168
|
-
*
|
|
167
|
+
* Wait for authentication to be ready
|
|
168
|
+
*
|
|
169
|
+
* Optimized for high-scale usage with immediate synchronous check and adaptive polling.
|
|
170
|
+
* Returns immediately if token is already available (0ms delay), otherwise uses
|
|
171
|
+
* adaptive polling that starts fast (50ms) and gradually increases to reduce CPU usage.
|
|
172
|
+
*
|
|
173
|
+
* @param timeoutMs Maximum time to wait in milliseconds (default: 5000ms)
|
|
174
|
+
* @returns Promise that resolves to true if authentication is ready, false if timeout
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const isReady = await oxyServices.waitForAuth(3000);
|
|
179
|
+
* if (isReady) {
|
|
180
|
+
* // Proceed with authenticated operations
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
169
183
|
*/
|
|
170
184
|
public async waitForAuth(timeoutMs = 5000): Promise<boolean> {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
* Wait for authentication to be ready with timeout
|
|
176
|
-
*/
|
|
177
|
-
public async waitForAuthentication(timeoutMs = 5000): Promise<boolean> {
|
|
178
|
-
const startTime = Date.now();
|
|
179
|
-
const checkInterval = 100; // Check every 100ms
|
|
185
|
+
// Immediate synchronous check - no delay if token is ready
|
|
186
|
+
if (this.httpClient.hasAccessToken()) {
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
180
189
|
|
|
181
|
-
|
|
190
|
+
const startTime = performance.now();
|
|
191
|
+
const maxTime = startTime + timeoutMs;
|
|
192
|
+
|
|
193
|
+
// Adaptive polling: start fast, then slow down to reduce CPU usage
|
|
194
|
+
let pollInterval = 50; // Start with 50ms
|
|
195
|
+
|
|
196
|
+
while (performance.now() < maxTime) {
|
|
197
|
+
await new Promise(resolve => setTimeout(resolve, pollInterval));
|
|
198
|
+
|
|
182
199
|
if (this.httpClient.hasAccessToken()) {
|
|
183
200
|
return true;
|
|
184
201
|
}
|
|
185
|
-
|
|
202
|
+
|
|
203
|
+
// Increase interval after first few checks (adaptive polling)
|
|
204
|
+
// This reduces CPU usage for long waits while maintaining responsiveness
|
|
205
|
+
if (pollInterval < 200) {
|
|
206
|
+
pollInterval = Math.min(pollInterval * 1.5, 200);
|
|
207
|
+
}
|
|
186
208
|
}
|
|
187
209
|
|
|
188
210
|
return false;
|
|
189
211
|
}
|
|
190
212
|
|
|
191
|
-
/**
|
|
192
|
-
* Check if the client has a valid access token
|
|
193
|
-
*/
|
|
194
|
-
public hasAccessToken(): boolean {
|
|
195
|
-
return this.httpClient.hasAccessToken();
|
|
196
|
-
}
|
|
197
|
-
|
|
198
213
|
/**
|
|
199
214
|
* Execute a function with automatic authentication retry logic
|
|
200
215
|
* This handles the common case where API calls are made before authentication completes
|
|
@@ -220,7 +235,7 @@ export class OxyServicesBase {
|
|
|
220
235
|
if (!this.httpClient.hasAccessToken()) {
|
|
221
236
|
if (attempt === 0) {
|
|
222
237
|
// On first attempt, wait briefly for authentication to complete
|
|
223
|
-
const authReady = await this.
|
|
238
|
+
const authReady = await this.waitForAuth(authTimeoutMs);
|
|
224
239
|
|
|
225
240
|
if (!authReady) {
|
|
226
241
|
throw new OxyAuthenticationTimeoutError(operationName, authTimeoutMs);
|
|
@@ -265,7 +280,7 @@ export class OxyServicesBase {
|
|
|
265
280
|
* Validate the current access token with the server
|
|
266
281
|
*/
|
|
267
282
|
async validate(): Promise<boolean> {
|
|
268
|
-
if (!this.
|
|
283
|
+
if (!this.hasValidToken()) {
|
|
269
284
|
return false;
|
|
270
285
|
}
|
|
271
286
|
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import React, { Component, ErrorInfo, ReactNode } from 'react';
|
|
2
|
+
import { View, Text, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
fallback?: ReactNode;
|
|
7
|
+
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface State {
|
|
11
|
+
hasError: boolean;
|
|
12
|
+
error: Error | null;
|
|
13
|
+
errorInfo: ErrorInfo | null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Error Boundary Component
|
|
18
|
+
*
|
|
19
|
+
* Catches JavaScript errors anywhere in the child component tree,
|
|
20
|
+
* logs those errors, and displays a fallback UI instead of crashing.
|
|
21
|
+
*
|
|
22
|
+
* Usage:
|
|
23
|
+
* <ErrorBoundary>
|
|
24
|
+
* <YourComponent />
|
|
25
|
+
* </ErrorBoundary>
|
|
26
|
+
*/
|
|
27
|
+
export class ErrorBoundary extends Component<Props, State> {
|
|
28
|
+
constructor(props: Props) {
|
|
29
|
+
super(props);
|
|
30
|
+
this.state = {
|
|
31
|
+
hasError: false,
|
|
32
|
+
error: null,
|
|
33
|
+
errorInfo: null,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static getDerivedStateFromError(error: Error): Partial<State> {
|
|
38
|
+
// Update state so the next render will show the fallback UI
|
|
39
|
+
return {
|
|
40
|
+
hasError: true,
|
|
41
|
+
error,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo) {
|
|
46
|
+
// Log error to console in development
|
|
47
|
+
if (__DEV__) {
|
|
48
|
+
console.error('ErrorBoundary caught an error:', error, errorInfo);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Call optional error handler
|
|
52
|
+
if (this.props.onError) {
|
|
53
|
+
this.props.onError(error, errorInfo);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Update state with error info
|
|
57
|
+
this.setState({
|
|
58
|
+
error,
|
|
59
|
+
errorInfo,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
handleReset = () => {
|
|
64
|
+
this.setState({
|
|
65
|
+
hasError: false,
|
|
66
|
+
error: null,
|
|
67
|
+
errorInfo: null,
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
render() {
|
|
72
|
+
if (this.state.hasError) {
|
|
73
|
+
// Use custom fallback if provided
|
|
74
|
+
if (this.props.fallback) {
|
|
75
|
+
return this.props.fallback;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Default fallback UI
|
|
79
|
+
return (
|
|
80
|
+
<View style={styles.container}>
|
|
81
|
+
<View style={styles.errorContainer}>
|
|
82
|
+
<Text style={styles.errorTitle}>Something went wrong</Text>
|
|
83
|
+
<Text style={styles.errorMessage}>
|
|
84
|
+
{this.state.error?.message || 'An unexpected error occurred'}
|
|
85
|
+
</Text>
|
|
86
|
+
{__DEV__ && this.state.errorInfo && (
|
|
87
|
+
<Text style={styles.errorDetails}>
|
|
88
|
+
{this.state.errorInfo.componentStack}
|
|
89
|
+
</Text>
|
|
90
|
+
)}
|
|
91
|
+
<TouchableOpacity
|
|
92
|
+
style={styles.resetButton}
|
|
93
|
+
onPress={this.handleReset}
|
|
94
|
+
>
|
|
95
|
+
<Text style={styles.resetButtonText}>Try Again</Text>
|
|
96
|
+
</TouchableOpacity>
|
|
97
|
+
</View>
|
|
98
|
+
</View>
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return this.props.children;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const styles = StyleSheet.create({
|
|
107
|
+
container: {
|
|
108
|
+
flex: 1,
|
|
109
|
+
justifyContent: 'center',
|
|
110
|
+
alignItems: 'center',
|
|
111
|
+
padding: 20,
|
|
112
|
+
backgroundColor: '#fff',
|
|
113
|
+
},
|
|
114
|
+
errorContainer: {
|
|
115
|
+
maxWidth: 400,
|
|
116
|
+
width: '100%',
|
|
117
|
+
padding: 20,
|
|
118
|
+
borderRadius: 8,
|
|
119
|
+
backgroundColor: '#f5f5f5',
|
|
120
|
+
borderWidth: 1,
|
|
121
|
+
borderColor: '#e0e0e0',
|
|
122
|
+
},
|
|
123
|
+
errorTitle: {
|
|
124
|
+
fontSize: 20,
|
|
125
|
+
fontWeight: 'bold',
|
|
126
|
+
marginBottom: 10,
|
|
127
|
+
color: '#d32f2f',
|
|
128
|
+
},
|
|
129
|
+
errorMessage: {
|
|
130
|
+
fontSize: 14,
|
|
131
|
+
marginBottom: 15,
|
|
132
|
+
color: '#666',
|
|
133
|
+
},
|
|
134
|
+
errorDetails: {
|
|
135
|
+
fontSize: 12,
|
|
136
|
+
marginBottom: 15,
|
|
137
|
+
color: '#999',
|
|
138
|
+
fontFamily: 'monospace',
|
|
139
|
+
},
|
|
140
|
+
resetButton: {
|
|
141
|
+
backgroundColor: '#007AFF',
|
|
142
|
+
padding: 12,
|
|
143
|
+
borderRadius: 6,
|
|
144
|
+
alignItems: 'center',
|
|
145
|
+
},
|
|
146
|
+
resetButtonText: {
|
|
147
|
+
color: '#fff',
|
|
148
|
+
fontSize: 16,
|
|
149
|
+
fontWeight: '600',
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
export default ErrorBoundary;
|
|
154
|
+
|