react-native-seel-widget 0.1.21 → 0.1.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/README.md +388 -36
- package/lib/module/constants/index.js +1 -1
- package/lib/module/constants/network_request_status_enum.js +17 -0
- package/lib/module/constants/{network_request_statue_enum.js.map → network_request_status_enum.js.map} +1 -1
- package/lib/module/network/index.js +4 -0
- package/lib/module/network/index.js.map +1 -0
- package/lib/module/ui/seel-wfp-title-view.js +5 -5
- package/lib/module/ui/seel-wfp-title-view.js.map +1 -1
- package/lib/module/ui/seel-wfp-widget.js +6 -8
- package/lib/module/ui/seel-wfp-widget.js.map +1 -1
- package/lib/module/utils/http_util.js +1 -1
- package/lib/module/utils/http_util.js.map +1 -1
- package/lib/module/utils/index.js +7 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/typescript/src/constants/index.d.ts +1 -1
- package/lib/typescript/src/constants/{network_request_statue_enum.d.ts → network_request_status_enum.d.ts} +2 -2
- package/lib/typescript/src/constants/{network_request_statue_enum.d.ts.map → network_request_status_enum.d.ts.map} +1 -1
- package/lib/typescript/src/network/index.d.ts +2 -0
- package/lib/typescript/src/network/index.d.ts.map +1 -0
- package/lib/typescript/src/ui/seel-wfp-title-view.d.ts +2 -2
- package/lib/typescript/src/ui/seel-wfp-title-view.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +5 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/constants/index.ts +1 -1
- package/src/constants/{network_request_statue_enum.ts → network_request_status_enum.ts} +1 -1
- package/src/network/index.ts +1 -0
- package/src/ui/seel-wfp-title-view.tsx +6 -6
- package/src/ui/seel-wfp-widget.tsx +9 -9
- package/src/utils/http_util.ts +1 -1
- package/src/utils/index.ts +4 -0
- package/lib/module/constants/network_request_statue_enum.js +0 -17
package/README.md
CHANGED
|
@@ -1,60 +1,131 @@
|
|
|
1
1
|
# react-native-seel-widget
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/react-native-seel-widget)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Seel Widget SDK for React Native - Integrate Seel's Worry-Free Purchase (WFP) widget into your React Native applications for iOS, Android, and Web.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
## Features
|
|
8
9
|
|
|
10
|
+
- 🎯 **Cross-platform**: Works on iOS, Android, and Web
|
|
11
|
+
- 🔒 **Type-safe**: Full TypeScript support
|
|
12
|
+
- ⚡ **Easy Integration**: Simple API with minimal setup
|
|
13
|
+
- 🎨 **Customizable**: Flexible styling and configuration options
|
|
14
|
+
- 💾 **Persistent Storage**: Automatic opt-in/opt-out preference management
|
|
15
|
+
- 🌍 **Multi-domain Support**: Support for US and EU regions
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
### Using npm
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install react-native-seel-widget
|
|
9
23
|
```
|
|
24
|
+
|
|
25
|
+
### Using yarn
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
yarn add react-native-seel-widget
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Using Expo
|
|
32
|
+
|
|
33
|
+
```bash
|
|
10
34
|
npx expo install react-native-seel-widget
|
|
11
35
|
```
|
|
12
36
|
|
|
13
|
-
###
|
|
37
|
+
### iOS Setup (React Native CLI only)
|
|
38
|
+
|
|
39
|
+
If you're using React Native CLI (not Expo), you need to install iOS dependencies:
|
|
14
40
|
|
|
15
|
-
|
|
41
|
+
```bash
|
|
42
|
+
cd ios && pod install
|
|
43
|
+
```
|
|
16
44
|
|
|
17
|
-
|
|
18
|
-
yarn add react-native-seel-widget
|
|
19
|
-
```
|
|
45
|
+
### Additional Dependencies
|
|
20
46
|
|
|
21
|
-
|
|
47
|
+
This library requires `@react-native-async-storage/async-storage` for storing user preferences. It should be installed automatically, but if you encounter issues:
|
|
22
48
|
|
|
23
|
-
|
|
49
|
+
```bash
|
|
50
|
+
npm install @react-native-async-storage/async-storage
|
|
51
|
+
# or
|
|
52
|
+
yarn add @react-native-async-storage/async-storage
|
|
53
|
+
```
|
|
24
54
|
|
|
25
|
-
|
|
26
|
-
cd ios && pod install
|
|
27
|
-
```
|
|
55
|
+
## Quick Start
|
|
28
56
|
|
|
29
|
-
|
|
57
|
+
### Step 1: Configure the SDK
|
|
58
|
+
|
|
59
|
+
Configure the SDK in your app entry point (e.g., `App.tsx`):
|
|
30
60
|
|
|
31
61
|
```tsx
|
|
32
|
-
|
|
62
|
+
import { SeelWidgetSDK, SeelEnvironment } from 'react-native-seel-widget';
|
|
63
|
+
|
|
64
|
+
// Configure SDK before using any components
|
|
33
65
|
SeelWidgetSDK.shared.configure({
|
|
34
|
-
apiKey: '
|
|
35
|
-
environment: SeelEnvironment.Development,
|
|
66
|
+
apiKey: 'your-api-key-here',
|
|
67
|
+
environment: SeelEnvironment.Development, // or SeelEnvironment.Production
|
|
68
|
+
requestTimeout: 5000, // Optional: Request timeout in milliseconds (default: 5000)
|
|
69
|
+
optOutExpiredTime: 31536000000, // Optional: Opt-out expiration time in milliseconds (default: 365 days)
|
|
36
70
|
});
|
|
37
71
|
```
|
|
38
72
|
|
|
73
|
+
### Step 2: Use the Widget Component
|
|
74
|
+
|
|
39
75
|
```tsx
|
|
40
|
-
|
|
41
|
-
import {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
76
|
+
import React, { useRef, useEffect, useState } from 'react';
|
|
77
|
+
import { View } from 'react-native';
|
|
78
|
+
import {
|
|
79
|
+
SeelWFPWidget,
|
|
80
|
+
DomainEnum,
|
|
81
|
+
type IQuotesRequest,
|
|
82
|
+
type IQuotesResponse,
|
|
83
|
+
} from 'react-native-seel-widget';
|
|
84
|
+
|
|
85
|
+
export default function CheckoutPage() {
|
|
86
|
+
const [domain, setDomain] = useState<DomainEnum>(DomainEnum.US);
|
|
87
|
+
const [request, setRequest] = useState<IQuotesRequest>({
|
|
88
|
+
session_id: 'session-123',
|
|
89
|
+
type: 'checkout',
|
|
90
|
+
device_category: 'mobile',
|
|
91
|
+
device_platform: 'ios',
|
|
92
|
+
line_items: [
|
|
93
|
+
{
|
|
94
|
+
product_id: 'product-123',
|
|
95
|
+
product_title: 'Example Product',
|
|
96
|
+
price: 99.99,
|
|
97
|
+
quantity: 1,
|
|
98
|
+
image_urls: ['https://example.com/image.jpg'],
|
|
99
|
+
allocated_discounts: 0,
|
|
100
|
+
category_1: 'Electronics',
|
|
101
|
+
category_2: 'Mobile',
|
|
102
|
+
currency: 'USD',
|
|
103
|
+
final_price: 99.99,
|
|
104
|
+
is_final_sale: false,
|
|
105
|
+
line_item_id: 'line-item-123',
|
|
106
|
+
requires_shipping: true,
|
|
107
|
+
sales_tax: 0,
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
customer: {
|
|
111
|
+
customer_id: 'customer-123',
|
|
112
|
+
email: 'customer@example.com',
|
|
113
|
+
},
|
|
114
|
+
shipping_address: {
|
|
115
|
+
address1: '123 Main St',
|
|
116
|
+
city: 'New York',
|
|
117
|
+
state: 'NY',
|
|
118
|
+
zip: '10001',
|
|
119
|
+
country: 'US',
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
const seelWidgetRef = useRef<any>(null);
|
|
124
|
+
|
|
50
125
|
useEffect(() => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
seelWidgetRef.current.setup(request);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
setup();
|
|
126
|
+
if (seelWidgetRef.current) {
|
|
127
|
+
seelWidgetRef.current.setup(request);
|
|
128
|
+
}
|
|
58
129
|
}, [request]);
|
|
59
130
|
|
|
60
131
|
return (
|
|
@@ -62,18 +133,299 @@ export default function YourPage() {
|
|
|
62
133
|
<SeelWFPWidget
|
|
63
134
|
ref={seelWidgetRef}
|
|
64
135
|
domain={domain}
|
|
136
|
+
defaultOptedIn={false}
|
|
65
137
|
onChangeValue={({
|
|
66
138
|
optedIn,
|
|
67
139
|
quotesResponse,
|
|
68
140
|
}: {
|
|
69
141
|
optedIn: boolean;
|
|
70
142
|
quotesResponse?: IQuotesResponse;
|
|
71
|
-
})
|
|
72
|
-
console.log(
|
|
143
|
+
}) => {
|
|
144
|
+
console.log('Opt-in status:', optedIn);
|
|
145
|
+
console.log('Quote response:', quotesResponse);
|
|
73
146
|
}}
|
|
74
147
|
/>
|
|
75
148
|
</View>
|
|
76
149
|
);
|
|
77
150
|
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## API Reference
|
|
154
|
+
|
|
155
|
+
### SeelWidgetSDK
|
|
156
|
+
|
|
157
|
+
The main SDK class for configuration.
|
|
158
|
+
|
|
159
|
+
#### Methods
|
|
160
|
+
|
|
161
|
+
##### `configure(props: SeelWidgetSDKProps)`
|
|
162
|
+
|
|
163
|
+
Configure the SDK with your API key and settings.
|
|
164
|
+
|
|
165
|
+
**Parameters:**
|
|
166
|
+
|
|
167
|
+
- `apiKey` (string, required): Your Seel API key
|
|
168
|
+
- `environment` (SeelEnvironment, optional): `SeelEnvironment.Development` or `SeelEnvironment.Production` (default: `Production`)
|
|
169
|
+
- `apiVersion` (string, optional): API version (default: `'2.6.0'`)
|
|
170
|
+
- `requestTimeout` (number, optional): Request timeout in milliseconds (default: `5000`)
|
|
171
|
+
- `optOutExpiredTime` (number, optional): Opt-out expiration time in milliseconds (default: `31536000000` = 365 days)
|
|
172
|
+
|
|
173
|
+
**Example:**
|
|
174
|
+
|
|
175
|
+
```tsx
|
|
176
|
+
SeelWidgetSDK.shared.configure({
|
|
177
|
+
apiKey: 'your-api-key',
|
|
178
|
+
environment: SeelEnvironment.Development,
|
|
179
|
+
requestTimeout: 10000,
|
|
180
|
+
optOutExpiredTime: 86400000, // 1 day
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Properties
|
|
185
|
+
|
|
186
|
+
- `SeelWidgetSDK.shared.apiKey`: Get current API key
|
|
187
|
+
- `SeelWidgetSDK.shared.apiVersion`: Get current API version
|
|
188
|
+
- `SeelWidgetSDK.shared.environment`: Get current environment
|
|
189
|
+
- `SeelWidgetSDK.shared.requestTimeout`: Get current request timeout
|
|
190
|
+
- `SeelWidgetSDK.shared.optOutExpiredTime`: Get current opt-out expiration time
|
|
191
|
+
|
|
192
|
+
### SeelWFPWidget
|
|
193
|
+
|
|
194
|
+
The main widget component for displaying the Worry-Free Purchase option.
|
|
195
|
+
|
|
196
|
+
#### Props
|
|
197
|
+
|
|
198
|
+
| Prop | Type | Required | Description |
|
|
199
|
+
|------|------|----------|-------------|
|
|
200
|
+
| `domain` | `DomainEnum` | Yes | The domain/region (`DomainEnum.US` or `DomainEnum.EU`) |
|
|
201
|
+
| `defaultOptedIn` | `boolean` | No | Default opt-in state (default: `false`) |
|
|
202
|
+
| `onChangeValue` | `(params: { optedIn: boolean; quotesResponse?: IQuotesResponse }) => void` | No | Callback when opt-in status changes |
|
|
203
|
+
|
|
204
|
+
#### Ref Methods
|
|
205
|
+
|
|
206
|
+
##### `setup(quote: IQuotesRequest)`
|
|
207
|
+
|
|
208
|
+
Setup the widget with quote request data.
|
|
209
|
+
|
|
210
|
+
**Parameters:**
|
|
211
|
+
|
|
212
|
+
- `quote` (IQuotesRequest): The quote request containing line items
|
|
213
|
+
|
|
214
|
+
**Example:**
|
|
215
|
+
|
|
216
|
+
```tsx
|
|
217
|
+
const quote: IQuotesRequest = {
|
|
218
|
+
session_id: 'session-123',
|
|
219
|
+
type: 'checkout',
|
|
220
|
+
device_category: 'mobile',
|
|
221
|
+
device_platform: 'ios',
|
|
222
|
+
line_items: [
|
|
223
|
+
{
|
|
224
|
+
product_id: 'product-123',
|
|
225
|
+
product_title: 'Product Name',
|
|
226
|
+
price: 99.99,
|
|
227
|
+
quantity: 1,
|
|
228
|
+
image_urls: ['https://example.com/image.jpg'],
|
|
229
|
+
allocated_discounts: 0,
|
|
230
|
+
category_1: 'Electronics',
|
|
231
|
+
category_2: 'Mobile',
|
|
232
|
+
currency: 'USD',
|
|
233
|
+
final_price: 99.99,
|
|
234
|
+
is_final_sale: false,
|
|
235
|
+
line_item_id: 'line-item-123',
|
|
236
|
+
requires_shipping: true,
|
|
237
|
+
sales_tax: 0,
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
customer: {
|
|
241
|
+
customer_id: 'customer-123',
|
|
242
|
+
email: 'customer@example.com',
|
|
243
|
+
},
|
|
244
|
+
shipping_address: {
|
|
245
|
+
address1: '123 Main St',
|
|
246
|
+
city: 'New York',
|
|
247
|
+
state: 'NY',
|
|
248
|
+
zip: '10001',
|
|
249
|
+
country: 'US',
|
|
250
|
+
},
|
|
251
|
+
is_default_on: false, // Optional: Default opt-in state
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
seelWidgetRef.current?.setup(quote);
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### IQuotesRequest
|
|
258
|
+
|
|
259
|
+
Interface for quote request data.
|
|
260
|
+
|
|
261
|
+
```tsx
|
|
262
|
+
interface IQuotesRequest {
|
|
263
|
+
session_id: string;
|
|
264
|
+
type: string;
|
|
265
|
+
device_category: string;
|
|
266
|
+
device_platform: string;
|
|
267
|
+
line_items: IQuotesRequestLineItem[];
|
|
268
|
+
customer: IQuotesRequestCustomer;
|
|
269
|
+
shipping_address: IShippingAddress;
|
|
270
|
+
is_default_on?: boolean; // Optional: Default opt-in state
|
|
271
|
+
// ... other optional fields
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
interface IQuotesRequestLineItem {
|
|
275
|
+
product_id: string;
|
|
276
|
+
product_title: string;
|
|
277
|
+
price: number;
|
|
278
|
+
quantity: number;
|
|
279
|
+
image_urls?: string[];
|
|
280
|
+
allocated_discounts: number;
|
|
281
|
+
category_1: string;
|
|
282
|
+
category_2: string;
|
|
283
|
+
currency: string;
|
|
284
|
+
final_price: number | string;
|
|
285
|
+
is_final_sale: boolean;
|
|
286
|
+
line_item_id: string;
|
|
287
|
+
requires_shipping: boolean;
|
|
288
|
+
sales_tax: number;
|
|
289
|
+
// ... other optional fields
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
> **Note**: For a complete list of all available fields, refer to the TypeScript definitions in the package.
|
|
294
|
+
|
|
295
|
+
### DomainEnum
|
|
296
|
+
|
|
297
|
+
Enum for supported domains/regions.
|
|
298
|
+
|
|
299
|
+
```tsx
|
|
300
|
+
enum DomainEnum {
|
|
301
|
+
Idle = '',
|
|
302
|
+
US = 'US',
|
|
303
|
+
EU = 'EU',
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### SeelEnvironment
|
|
308
|
+
|
|
309
|
+
Enum for SDK environments.
|
|
310
|
+
|
|
311
|
+
```tsx
|
|
312
|
+
enum SeelEnvironment {
|
|
313
|
+
Development = 'development',
|
|
314
|
+
Production = 'production',
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Additional Components
|
|
319
|
+
|
|
320
|
+
### SeelWFPTitleView
|
|
321
|
+
|
|
322
|
+
A standalone title view component for displaying the widget title and price.
|
|
323
|
+
|
|
324
|
+
```tsx
|
|
325
|
+
import { SeelWFPTitleView, ResponseStatusEnum } from 'react-native-seel-widget';
|
|
326
|
+
|
|
327
|
+
<SeelWFPTitleView
|
|
328
|
+
status={ResponseStatusEnum.Accepted}
|
|
329
|
+
title="Worry-Free Purchase"
|
|
330
|
+
price={4.99}
|
|
331
|
+
optedIn={false}
|
|
332
|
+
onChangeOptedInValue={(optedIn) => {
|
|
333
|
+
console.log('Opt-in changed:', optedIn);
|
|
334
|
+
}}
|
|
335
|
+
/>
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### SeelWFPInfoView
|
|
339
|
+
|
|
340
|
+
A standalone info view component for displaying detailed widget information.
|
|
341
|
+
|
|
342
|
+
```tsx
|
|
343
|
+
import { SeelWFPInfoView, DomainEnum } from 'react-native-seel-widget';
|
|
344
|
+
|
|
345
|
+
<SeelWFPInfoView
|
|
346
|
+
domain={DomainEnum.US}
|
|
347
|
+
widgetTitle="Worry-Free Purchase"
|
|
348
|
+
termsUrl="https://example.com/terms"
|
|
349
|
+
privacyPolicyUrl="https://example.com/privacy"
|
|
350
|
+
onChangeOptedInValue={(optedIn) => {
|
|
351
|
+
console.log('Opt-in changed:', optedIn);
|
|
352
|
+
}}
|
|
353
|
+
/>
|
|
354
|
+
```
|
|
78
355
|
|
|
356
|
+
## Examples
|
|
357
|
+
|
|
358
|
+
Check out the [example](./example) directory for complete working examples including:
|
|
359
|
+
|
|
360
|
+
- Basic widget integration
|
|
361
|
+
- Cart page with widget
|
|
362
|
+
- Settlement page with widget
|
|
363
|
+
- Settings page
|
|
364
|
+
- Products page with waterfall layout
|
|
365
|
+
|
|
366
|
+
To run the example:
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
cd example
|
|
370
|
+
yarn install
|
|
371
|
+
yarn start
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
## TypeScript Support
|
|
375
|
+
|
|
376
|
+
This library is written in TypeScript and includes full type definitions. All exported types are available for import:
|
|
377
|
+
|
|
378
|
+
```tsx
|
|
379
|
+
import type {
|
|
380
|
+
IQuotesRequest,
|
|
381
|
+
IQuotesResponse,
|
|
382
|
+
IQuotesRequestLineItem,
|
|
383
|
+
SeelWFPWidgetRef,
|
|
384
|
+
SeelWFPTitleViewProps,
|
|
385
|
+
SeelWFPInfoViewProps,
|
|
386
|
+
} from 'react-native-seel-widget';
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
## Storage
|
|
390
|
+
|
|
391
|
+
The SDK uses `@react-native-async-storage/async-storage` to persist user opt-in/opt-out preferences. The preferences are automatically managed and respect the `optOutExpiredTime` configuration.
|
|
392
|
+
|
|
393
|
+
## Troubleshooting
|
|
394
|
+
|
|
395
|
+
### Widget not showing
|
|
396
|
+
|
|
397
|
+
1. Ensure the SDK is configured before rendering the widget
|
|
398
|
+
2. Check that `setup()` is called with valid quote data
|
|
399
|
+
3. Verify your API key is correct
|
|
400
|
+
4. Check network connectivity
|
|
401
|
+
|
|
402
|
+
### TypeScript errors
|
|
403
|
+
|
|
404
|
+
Make sure you have TypeScript 4.5+ installed and have enabled strict mode in your `tsconfig.json`.
|
|
405
|
+
|
|
406
|
+
### iOS build issues
|
|
407
|
+
|
|
408
|
+
If you encounter build issues on iOS:
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
cd ios
|
|
412
|
+
pod deintegrate
|
|
413
|
+
pod install
|
|
79
414
|
```
|
|
415
|
+
|
|
416
|
+
## Contributing
|
|
417
|
+
|
|
418
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
419
|
+
|
|
420
|
+
## License
|
|
421
|
+
|
|
422
|
+
MIT
|
|
423
|
+
|
|
424
|
+
## Support
|
|
425
|
+
|
|
426
|
+
For issues and feature requests, please use the [GitHub issue tracker](https://github.com/kover-ai/react-native-seel-widget/issues).
|
|
427
|
+
|
|
428
|
+
## Related Links
|
|
429
|
+
|
|
430
|
+
- [GitHub Repository](https://github.com/kover-ai/react-native-seel-widget)
|
|
431
|
+
- [NPM Package](https://www.npmjs.com/package/react-native-seel-widget)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export let NetworkRequestStatusEnum = /*#__PURE__*/function (NetworkRequestStatusEnum) {
|
|
4
|
+
/* eslint-disable no-bitwise */
|
|
5
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["Idle"] = 1] = "Idle";
|
|
6
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["Refreshing"] = 2] = "Refreshing";
|
|
7
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["LoadingMore"] = 4] = "LoadingMore";
|
|
8
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["Loading"] = 6] = "Loading";
|
|
9
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["RefreshSuccess"] = 8] = "RefreshSuccess";
|
|
10
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["LoadMoreSuccess"] = 16] = "LoadMoreSuccess";
|
|
11
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["Success"] = 24] = "Success";
|
|
12
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["RefreshFailed"] = 32] = "RefreshFailed";
|
|
13
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["LoadMoreFailed"] = 64] = "LoadMoreFailed";
|
|
14
|
+
NetworkRequestStatusEnum[NetworkRequestStatusEnum["Failed"] = 96] = "Failed";
|
|
15
|
+
return NetworkRequestStatusEnum;
|
|
16
|
+
}({});
|
|
17
|
+
//# sourceMappingURL=network_request_status_enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["NetworkRequestStatusEnum"],"sourceRoot":"../../../src","sources":["constants/network_request_status_enum.ts"],"mappings":";;AAAA,WAAYA,wBAAwB,0BAAxBA,wBAAwB;EAClC;EADUA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAxBA,wBAAwB,CAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["network/index.ts"],"mappings":";;AAAA,cAAc,cAAW","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { Image, Platform, StyleSheet, Text, TouchableOpacity, View, useColorSche
|
|
|
4
4
|
import { KeyValue } from "../constants/key_value.js";
|
|
5
5
|
import GradientAnimationText from "./gradient-animation-text.js";
|
|
6
6
|
import { useRef } from 'react';
|
|
7
|
-
import {
|
|
7
|
+
import { NetworkRequestStatusEnum } from "../constants/index.js";
|
|
8
8
|
import { ResponseStatusEnum } from "../constants/index.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
export function SeelWFPTitleView({
|
|
@@ -22,7 +22,7 @@ export function SeelWFPTitleView({
|
|
|
22
22
|
darkPriceStyle,
|
|
23
23
|
optedIn = false,
|
|
24
24
|
dictionary = {},
|
|
25
|
-
loadingStatue =
|
|
25
|
+
loadingStatue = NetworkRequestStatusEnum.Idle,
|
|
26
26
|
onClickInfoIcon,
|
|
27
27
|
onChangeOptedInValue = _ => {}
|
|
28
28
|
}) {
|
|
@@ -98,7 +98,7 @@ export function SeelWFPTitleView({
|
|
|
98
98
|
},
|
|
99
99
|
onPress: () => {
|
|
100
100
|
// eslint-disable-next-line no-bitwise
|
|
101
|
-
if ((loadingStatue &
|
|
101
|
+
if ((loadingStatue & NetworkRequestStatusEnum.Success) !== 0) {
|
|
102
102
|
onChangeOptedInValue(!optedIn);
|
|
103
103
|
}
|
|
104
104
|
},
|
|
@@ -118,7 +118,7 @@ export function SeelWFPTitleView({
|
|
|
118
118
|
style: _priceStyle,
|
|
119
119
|
adjustsFontSizeToFit: true,
|
|
120
120
|
children: "for"
|
|
121
|
-
}) : null, (loadingStatue &
|
|
121
|
+
}) : null, (loadingStatue & NetworkRequestStatusEnum.Loading) === 0 ? status === ResponseStatusEnum.Accepted ? /*#__PURE__*/_jsx(Text, {
|
|
122
122
|
style: _priceStyle,
|
|
123
123
|
adjustsFontSizeToFit: true,
|
|
124
124
|
children: price
|
|
@@ -128,7 +128,7 @@ export function SeelWFPTitleView({
|
|
|
128
128
|
containerStyle: gradientContainerStyle,
|
|
129
129
|
animationDuration: 5000
|
|
130
130
|
})
|
|
131
|
-
}), loadingStatue ===
|
|
131
|
+
}), loadingStatue === NetworkRequestStatusEnum.Success && status === ResponseStatusEnum.Accepted ? renderInfoButton() : null]
|
|
132
132
|
})
|
|
133
133
|
})]
|
|
134
134
|
}), /*#__PURE__*/_jsxs(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Image","Platform","StyleSheet","Text","TouchableOpacity","View","useColorScheme","KeyValue","GradientAnimationText","useRef","
|
|
1
|
+
{"version":3,"names":["Image","Platform","StyleSheet","Text","TouchableOpacity","View","useColorScheme","KeyValue","GradientAnimationText","useRef","NetworkRequestStatusEnum","ResponseStatusEnum","jsx","_jsx","jsxs","_jsxs","SeelWFPTitleView","status","title","price","containerStyle","lightContainerStyle","darkContainerStyle","titleStyle","lightTitleStyle","darkTitleStyle","priceStyle","lightPriceStyle","darkPriceStyle","optedIn","dictionary","loadingStatue","Idle","onClickInfoIcon","onChangeOptedInValue","_","gradientViewRef","colorScheme","isDark","_constainerStyle","defaultStyles","container","_titleStyle","_priceStyle","_poweredByText","poweredByText","dartPoweredByText","lightPoweredByText","renderInfoButton","style","infoIconButton","hitSlop","top","right","bottom","left","onPress","console","log","children","infoIcon","source","require","paddingTop","paddingBottom","paddingLeft","alignItems","renderTickView","value","rowContainer","tickIconContainer","tickIcon","tickText","gradientContainerStyle","marginLeft","width","height","borderRadius","backgroundColor","Success","checkboxIcon","middleContainer","titleContainer","adjustsFontSizeToFit","Accepted","Loading","ref","animationDuration","columnContainer","wfp_subtitle","wfp_description","Rejected","ineligible_title","poweredByContainer","powered_by","seelWordIcon","create","flexDirection","padding","checkboxContainer","justifyContent","seelIcon","flex","paddingRight","color","fontFamily","select","ios","fontSize","fontWeight","lineHeight"],"sourceRoot":"../../../src","sources":["ui/seel-wfp-title-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,8 @@ import { forwardRef, useEffect, useImperativeHandle, useState } from 'react';
|
|
|
4
4
|
import { Modal, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { SeelWFPTitleView } from "./seel-wfp-title-view.js";
|
|
6
6
|
import { SeelWFPInfoView, DomainEnum } from "./seel-wfp-info-view.js";
|
|
7
|
-
import { KeyValue,
|
|
8
|
-
import { createQuote } from "../utils/
|
|
9
|
-
import { moneyFormat } from "../utils/format_util.js";
|
|
10
|
-
import { readOptedIn, readOptOutExpiredTime, writeOptedIn } from "../utils/storage_util.js";
|
|
7
|
+
import { KeyValue, NetworkRequestStatusEnum, ResponseStatusEnum } from "../constants/index.js";
|
|
8
|
+
import { createQuote, moneyFormat, readOptedIn, readOptOutExpiredTime, writeOptedIn } from "../utils/index.js";
|
|
11
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
10
|
const SeelWFPWidget = ({
|
|
13
11
|
domain = DomainEnum.Idle,
|
|
@@ -29,7 +27,7 @@ const SeelWFPWidget = ({
|
|
|
29
27
|
const [dictionary, setDictionary] = useState({});
|
|
30
28
|
const [price, setPrice] = useState('');
|
|
31
29
|
const [status, setStatus] = useState('');
|
|
32
|
-
const [loadingStatue, setLoadingStatus] = useState(
|
|
30
|
+
const [loadingStatue, setLoadingStatus] = useState(NetworkRequestStatusEnum.Idle);
|
|
33
31
|
useImperativeHandle(ref, () => ({
|
|
34
32
|
async setup(quote) {
|
|
35
33
|
const optOutExpiredTime = await readOptOutExpiredTime();
|
|
@@ -42,10 +40,10 @@ const SeelWFPWidget = ({
|
|
|
42
40
|
}), [optedIn]);
|
|
43
41
|
async function fetchNetworkData(quote) {
|
|
44
42
|
try {
|
|
45
|
-
setLoadingStatus(
|
|
43
|
+
setLoadingStatus(NetworkRequestStatusEnum.Loading);
|
|
46
44
|
const response = await createQuote(quote);
|
|
47
45
|
console.log('response quote:', quote);
|
|
48
|
-
setLoadingStatus(
|
|
46
|
+
setLoadingStatus(NetworkRequestStatusEnum.Success);
|
|
49
47
|
setQuotesResponse(response);
|
|
50
48
|
let _status = response.status ?? '';
|
|
51
49
|
// _status = 'rejected';
|
|
@@ -84,7 +82,7 @@ const SeelWFPWidget = ({
|
|
|
84
82
|
}
|
|
85
83
|
} catch (error) {
|
|
86
84
|
console.warn(error);
|
|
87
|
-
setLoadingStatus(
|
|
85
|
+
setLoadingStatus(NetworkRequestStatusEnum.Failed);
|
|
88
86
|
setModalVisible(false);
|
|
89
87
|
setVisible(false);
|
|
90
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useState","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","SeelWFPTitleView","SeelWFPInfoView","DomainEnum","KeyValue","
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useState","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","SeelWFPTitleView","SeelWFPInfoView","DomainEnum","KeyValue","NetworkRequestStatusEnum","ResponseStatusEnum","createQuote","moneyFormat","readOptedIn","readOptOutExpiredTime","writeOptedIn","jsx","_jsx","jsxs","_jsxs","SeelWFPWidget","domain","Idle","defaultOptedIn","onChangeValue","optedIn","quotesResponse","console","log","ref","setQuotesResponse","termsUrl","setTermsUrl","privacyPolicyUrl","setPrivacyPolicyUrl","setOptedIn","visible","setVisible","modalVisible","setModalVisible","widgetTitle","setWidgetTitle","dictionary","setDictionary","price","setPrice","status","setStatus","loadingStatue","setLoadingStatus","setup","quote","optOutExpiredTime","is_default_on","Date","getTime","fetchNetworkData","Loading","response","Success","_status","Accepted","extraInfo","extra_info","currency","_title","widget_title","_price","toString","dict","i18n","texts","forEach","kv","key","wfp_title","value","replace","powered_by","pricing_message","error","warn","terms_url","privacy_policy_url","Failed","onChangeOptedInValue","renderEligibleModalView","onClickClose","renderIneligibleModalView","margin","style","defaultStyles","ineligibleModalViewContainer","onPress","children","ineligibleModalView","ineligibleText","marginBottom","ineligible_main_message","ineligible_reason_shipping","ineligible_reason_currency","ineligible_reason_value","ineligible_reason_items","ineligible_reason_system","marginTop","ineligible_support_message","ineligibleStyle","opacity","container","title","onClickInfoIcon","animationType","transparent","onRequestClose","Rejected","create","width","height","justifyContent","backgroundColor","padding","color","fontFamily","select","ios","fontSize","fontStyle","fontWeight","lineHeight"],"sourceRoot":"../../../src","sources":["ui/seel-wfp-widget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { SeelWidgetSDK } from "../core/SeelWidgetSDK.js";
|
|
4
|
-
import { post } from "../network/
|
|
4
|
+
import { post } from "../network/index.js";
|
|
5
5
|
export let NetworkErrorEnum = /*#__PURE__*/function (NetworkErrorEnum) {
|
|
6
6
|
NetworkErrorEnum[NetworkErrorEnum["InvalidURL"] = 0] = "InvalidURL";
|
|
7
7
|
NetworkErrorEnum[NetworkErrorEnum["NoData"] = 1] = "NoData";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SeelWidgetSDK","post","NetworkErrorEnum","createQuote","body","url","shared","baseURL","JSON","stringify","createEvent"],"sourceRoot":"../../../src","sources":["utils/http_util.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,0BAAuB;AAIrD,SAASC,IAAI,QAAQ,
|
|
1
|
+
{"version":3,"names":["SeelWidgetSDK","post","NetworkErrorEnum","createQuote","body","url","shared","baseURL","JSON","stringify","createEvent"],"sourceRoot":"../../../src","sources":["utils/http_util.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,0BAAuB;AAIrD,SAASC,IAAI,QAAQ,qBAAY;AAEjC,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAM1B;AACF;AACA;EARYA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAa5B,OAAO,MAAMC,WAAW,GAAIC,IAAoB,IAAK;EACnD,MAAMC,GAAG,GAAGL,aAAa,CAACM,MAAM,CAACC,OAAO,GAAG,sBAAsB;EACjE,OAAON,IAAI,CAAkBI,GAAG,EAAEG,IAAI,CAACC,SAAS,CAACL,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMM,WAAW,GAAIN,IAAa,IAAK;EAC5C,MAAMC,GAAG,GAAGL,aAAa,CAACM,MAAM,CAACC,OAAO,GAAG,sBAAsB;EACjE,OAAON,IAAI,CAAkBI,GAAG,EAAEG,IAAI,CAACC,SAAS,CAACL,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,kBAAe;AAC7B,cAAc,gBAAa;AAC3B,cAAc,mBAAgB;AAC9B,cAAc,WAAQ","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare enum
|
|
1
|
+
export declare enum NetworkRequestStatusEnum {
|
|
2
2
|
Idle = 1,
|
|
3
3
|
Refreshing = 2,
|
|
4
4
|
LoadingMore = 4,
|
|
@@ -10,4 +10,4 @@ export declare enum NetworkRequestStatueEnum {
|
|
|
10
10
|
LoadMoreFailed = 64,
|
|
11
11
|
Failed = 96
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=network_request_status_enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"network_request_status_enum.d.ts","sourceRoot":"","sources":["../../../../src/constants/network_request_status_enum.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAElC,IAAI,IAAS;IACb,UAAU,IAAS;IACnB,WAAW,IAAS;IACpB,OAAO,IAA2B;IAClC,cAAc,IAAS;IACvB,eAAe,KAAS;IACxB,OAAO,KAAmC;IAC1C,aAAa,KAAS;IACtB,cAAc,KAAS;IACvB,MAAM,KAAiC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TextStyle, ViewStyle } from 'react-native';
|
|
2
|
-
import {
|
|
2
|
+
import { NetworkRequestStatusEnum } from '../constants';
|
|
3
3
|
export interface SeelWFPTitleViewProps {
|
|
4
4
|
status: string;
|
|
5
5
|
/**
|
|
@@ -61,7 +61,7 @@ export interface SeelWFPTitleViewProps {
|
|
|
61
61
|
pressable?: boolean;
|
|
62
62
|
optedIn: boolean;
|
|
63
63
|
dictionary: any;
|
|
64
|
-
loadingStatue:
|
|
64
|
+
loadingStatue: NetworkRequestStatusEnum;
|
|
65
65
|
onChangeOptedInValue: (optedIn: boolean) => void;
|
|
66
66
|
}
|
|
67
67
|
export declare function SeelWFPTitleView({ status, title, price, containerStyle, lightContainerStyle, darkContainerStyle, titleStyle, lightTitleStyle, darkTitleStyle, priceStyle, lightPriceStyle, darkPriceStyle, optedIn, dictionary, loadingStatue, onClickInfoIcon, onChangeOptedInValue, }: SeelWFPTitleViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seel-wfp-title-view.d.ts","sourceRoot":"","sources":["../../../../src/ui/seel-wfp-title-view.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"seel-wfp-title-view.d.ts","sourceRoot":"","sources":["../../../../src/ui/seel-wfp-title-view.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACd,OAAe,EACf,UAAe,EACf,aAA6C,EAC7C,eAAe,EACf,oBAAyC,GAC1C,EAAE,qBAAqB,2CA8KvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
|
package/package.json
CHANGED
package/src/constants/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './request';
|
|
@@ -13,7 +13,7 @@ import GradientAnimationText, {
|
|
|
13
13
|
type GradientAnimationTextRef,
|
|
14
14
|
} from './gradient-animation-text';
|
|
15
15
|
import { useRef } from 'react';
|
|
16
|
-
import {
|
|
16
|
+
import { NetworkRequestStatusEnum } from '../constants';
|
|
17
17
|
import { ResponseStatusEnum } from '../constants';
|
|
18
18
|
|
|
19
19
|
export interface SeelWFPTitleViewProps {
|
|
@@ -77,7 +77,7 @@ export interface SeelWFPTitleViewProps {
|
|
|
77
77
|
pressable?: boolean;
|
|
78
78
|
optedIn: boolean;
|
|
79
79
|
dictionary: any;
|
|
80
|
-
loadingStatue:
|
|
80
|
+
loadingStatue: NetworkRequestStatusEnum;
|
|
81
81
|
onChangeOptedInValue: (optedIn: boolean) => void;
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -96,7 +96,7 @@ export function SeelWFPTitleView({
|
|
|
96
96
|
darkPriceStyle,
|
|
97
97
|
optedIn = false,
|
|
98
98
|
dictionary = {},
|
|
99
|
-
loadingStatue =
|
|
99
|
+
loadingStatue = NetworkRequestStatusEnum.Idle,
|
|
100
100
|
onClickInfoIcon,
|
|
101
101
|
onChangeOptedInValue = (_: boolean) => {},
|
|
102
102
|
}: SeelWFPTitleViewProps) {
|
|
@@ -189,7 +189,7 @@ export function SeelWFPTitleView({
|
|
|
189
189
|
hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}
|
|
190
190
|
onPress={() => {
|
|
191
191
|
// eslint-disable-next-line no-bitwise
|
|
192
|
-
if ((loadingStatue &
|
|
192
|
+
if ((loadingStatue & NetworkRequestStatusEnum.Success) !== 0) {
|
|
193
193
|
onChangeOptedInValue(!optedIn);
|
|
194
194
|
}
|
|
195
195
|
}}
|
|
@@ -215,7 +215,7 @@ export function SeelWFPTitleView({
|
|
|
215
215
|
) : null}
|
|
216
216
|
|
|
217
217
|
{/* eslint-disable-next-line no-bitwise */}
|
|
218
|
-
{(loadingStatue &
|
|
218
|
+
{(loadingStatue & NetworkRequestStatusEnum.Loading) === 0 ? (
|
|
219
219
|
status === ResponseStatusEnum.Accepted ? (
|
|
220
220
|
<Text style={_priceStyle} adjustsFontSizeToFit>
|
|
221
221
|
{price}
|
|
@@ -230,7 +230,7 @@ export function SeelWFPTitleView({
|
|
|
230
230
|
/>
|
|
231
231
|
</View>
|
|
232
232
|
)}
|
|
233
|
-
{loadingStatue ===
|
|
233
|
+
{loadingStatue === NetworkRequestStatusEnum.Success &&
|
|
234
234
|
status === ResponseStatusEnum.Accepted
|
|
235
235
|
? renderInfoButton()
|
|
236
236
|
: null}
|
|
@@ -11,19 +11,19 @@ import { SeelWFPTitleView } from './seel-wfp-title-view';
|
|
|
11
11
|
import { SeelWFPInfoView, DomainEnum } from './seel-wfp-info-view';
|
|
12
12
|
import {
|
|
13
13
|
KeyValue,
|
|
14
|
-
|
|
14
|
+
NetworkRequestStatusEnum,
|
|
15
15
|
ResponseStatusEnum,
|
|
16
16
|
} from '../constants';
|
|
17
17
|
|
|
18
18
|
import type { IQuotesRequest } from '../dto/IQuotesRequest';
|
|
19
19
|
import type { IQuotesResponse } from '../dto/IQuotesResponse';
|
|
20
|
-
import { createQuote } from '../utils/http_util';
|
|
21
|
-
import { moneyFormat } from '../utils/format_util';
|
|
22
20
|
import {
|
|
21
|
+
createQuote,
|
|
22
|
+
moneyFormat,
|
|
23
23
|
readOptedIn,
|
|
24
24
|
readOptOutExpiredTime,
|
|
25
25
|
writeOptedIn,
|
|
26
|
-
} from '../utils
|
|
26
|
+
} from '../utils';
|
|
27
27
|
|
|
28
28
|
export interface SeelWFPWidgetRef {
|
|
29
29
|
setup(quote: IQuotesRequest): void;
|
|
@@ -61,8 +61,8 @@ const SeelWFPWidget = (
|
|
|
61
61
|
const [dictionary, setDictionary] = useState<any>({});
|
|
62
62
|
const [price, setPrice] = useState('');
|
|
63
63
|
const [status, setStatus] = useState('');
|
|
64
|
-
const [loadingStatue, setLoadingStatus] = useState<
|
|
65
|
-
|
|
64
|
+
const [loadingStatue, setLoadingStatus] = useState<NetworkRequestStatusEnum>(
|
|
65
|
+
NetworkRequestStatusEnum.Idle
|
|
66
66
|
);
|
|
67
67
|
|
|
68
68
|
useImperativeHandle(
|
|
@@ -83,10 +83,10 @@ const SeelWFPWidget = (
|
|
|
83
83
|
);
|
|
84
84
|
async function fetchNetworkData(quote: IQuotesRequest) {
|
|
85
85
|
try {
|
|
86
|
-
setLoadingStatus(
|
|
86
|
+
setLoadingStatus(NetworkRequestStatusEnum.Loading);
|
|
87
87
|
const response = await createQuote(quote);
|
|
88
88
|
console.log('response quote:', quote);
|
|
89
|
-
setLoadingStatus(
|
|
89
|
+
setLoadingStatus(NetworkRequestStatusEnum.Success);
|
|
90
90
|
setQuotesResponse(response);
|
|
91
91
|
let _status = response.status ?? '';
|
|
92
92
|
// _status = 'rejected';
|
|
@@ -138,7 +138,7 @@ const SeelWFPWidget = (
|
|
|
138
138
|
}
|
|
139
139
|
} catch (error) {
|
|
140
140
|
console.warn(error);
|
|
141
|
-
setLoadingStatus(
|
|
141
|
+
setLoadingStatus(NetworkRequestStatusEnum.Failed);
|
|
142
142
|
setModalVisible(false);
|
|
143
143
|
setVisible(false);
|
|
144
144
|
}
|
package/src/utils/http_util.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { SeelWidgetSDK } from '../core/SeelWidgetSDK';
|
|
|
2
2
|
import type { IEvents } from '../dto/IEvents';
|
|
3
3
|
import type { IQuotesRequest } from '../dto/IQuotesRequest';
|
|
4
4
|
import type { IQuotesResponse } from '../dto/IQuotesResponse';
|
|
5
|
-
import { post } from '../network
|
|
5
|
+
import { post } from '../network';
|
|
6
6
|
|
|
7
7
|
export enum NetworkErrorEnum {
|
|
8
8
|
InvalidURL,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export let NetworkRequestStatueEnum = /*#__PURE__*/function (NetworkRequestStatueEnum) {
|
|
4
|
-
/* eslint-disable no-bitwise */
|
|
5
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["Idle"] = 1] = "Idle";
|
|
6
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["Refreshing"] = 2] = "Refreshing";
|
|
7
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["LoadingMore"] = 4] = "LoadingMore";
|
|
8
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["Loading"] = 6] = "Loading";
|
|
9
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["RefreshSuccess"] = 8] = "RefreshSuccess";
|
|
10
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["LoadMoreSuccess"] = 16] = "LoadMoreSuccess";
|
|
11
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["Success"] = 24] = "Success";
|
|
12
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["RefreshFailed"] = 32] = "RefreshFailed";
|
|
13
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["LoadMoreFailed"] = 64] = "LoadMoreFailed";
|
|
14
|
-
NetworkRequestStatueEnum[NetworkRequestStatueEnum["Failed"] = 96] = "Failed";
|
|
15
|
-
return NetworkRequestStatueEnum;
|
|
16
|
-
}({});
|
|
17
|
-
//# sourceMappingURL=network_request_statue_enum.js.map
|