react-native-flyy 1.4.23 → 1.4.25

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.
Files changed (36) hide show
  1. package/android/.project +2 -2
  2. package/android/.settings/org.eclipse.buildship.core.prefs +4 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/reactnativeflyy/FlyyModule.kt +72 -73
  5. package/android/src/main/java/com/reactnativeflyy/FlyyRouteActivity.java +4 -0
  6. package/ios/Montserrat-Bold.ttf +0 -0
  7. package/ios/ReactNativeFlyy.m +220 -117
  8. package/lib/commonjs/assets/images/check.png +0 -0
  9. package/lib/commonjs/assets/images/medal.png +0 -0
  10. package/lib/commonjs/assets/images/radio.png +0 -0
  11. package/lib/commonjs/assets/images/reward_flyy.png +0 -0
  12. package/lib/commonjs/assets/images/xmark.png +0 -0
  13. package/lib/commonjs/flyy_checkin_view.js +382 -0
  14. package/lib/commonjs/flyy_checkin_view.js.map +1 -0
  15. package/lib/commonjs/index.js +248 -3
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/module/assets/images/check.png +0 -0
  18. package/lib/module/assets/images/medal.png +0 -0
  19. package/lib/module/assets/images/radio.png +0 -0
  20. package/lib/module/assets/images/reward_flyy.png +0 -0
  21. package/lib/module/assets/images/xmark.png +0 -0
  22. package/lib/module/flyy_checkin_view.js +365 -0
  23. package/lib/module/flyy_checkin_view.js.map +1 -0
  24. package/lib/module/index.js +233 -3
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/typescript/flyy_checkin_view.d.ts +19 -0
  27. package/lib/typescript/index.d.ts +22 -0
  28. package/package.json +4 -1
  29. package/react-native-flyy.podspec +1 -1
  30. package/src/assets/images/check.png +0 -0
  31. package/src/assets/images/medal.png +0 -0
  32. package/src/assets/images/radio.png +0 -0
  33. package/src/assets/images/reward_flyy.png +0 -0
  34. package/src/assets/images/xmark.png +0 -0
  35. package/src/flyy_checkin_view.tsx +214 -0
  36. package/src/index.tsx +219 -1
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _reactNativeFlyy = _interopRequireDefault(require("react-native-flyy"));
13
+
14
+ var _reactNativeSimpleToast = _interopRequireDefault(require("react-native-simple-toast"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+
24
+ class FlyyCheckinComponent extends _react.Component {
25
+ constructor(...args) {
26
+ super(...args);
27
+
28
+ _defineProperty(this, "state", {
29
+ mileStoneData: [],
30
+ checkinOffer: [],
31
+ listItems: [],
32
+ persons: [1, 2, 3, 4, 5],
33
+ partnerId: "",
34
+ userId: "",
35
+ appData: "",
36
+ environment: 0
37
+ });
38
+ }
39
+
40
+ async componentDidMount() {
41
+ try {
42
+ const data = await _reactNativeFlyy.default.getUserData();
43
+ const appData = await _reactNativeFlyy.default.getAppData();
44
+ this.setState({
45
+ partnerId: data["partner_id"],
46
+ userId: data["user_id"],
47
+ environment: data["environment"],
48
+ appData: appData
49
+ });
50
+ } catch (e) {
51
+ console.error(e);
52
+ }
53
+
54
+ await this.fetchData();
55
+ }
56
+
57
+ async fetchData() {
58
+ this.setState({
59
+ listItems: []
60
+ });
61
+ const resp = await fetch(`https://${this.state.environment == 0 ? "ghc-stage" : "ghc"}.theflyy.com/api/v7/flyy_app_info`, {
62
+ headers: {
63
+ "X-Key": this.state.partnerId,
64
+ "Content-Type": "application/json",
65
+ "X-App-Data": this.state.appData
66
+ }
67
+ });
68
+ const data = await resp.json();
69
+
70
+ for (var key in data.info.offers) {
71
+ if (data.info.offers[key].offer_type_code === "checkin") {
72
+ this.setState({
73
+ checkinOffer: data.info.offers[key]
74
+ });
75
+ this.setState({
76
+ mileStoneData: data.info.offers[key].milestones
77
+ });
78
+ break;
79
+ }
80
+ }
81
+
82
+ var tempData = [];
83
+ var isRewardDay = false;
84
+ var isCheckedIn = false;
85
+
86
+ for (let i = 0; i < this.state.checkinOffer.total_streak; i++) {
87
+ for (let j = 0; j < this.state.mileStoneData.length; j++) {
88
+ if (i + 1 === parseInt(this.state.mileStoneData[j].value)) {
89
+ isRewardDay = true;
90
+ }
91
+ }
92
+
93
+ if (i + 1 <= this.state.checkinOffer.streak) {
94
+ isCheckedIn = true;
95
+ }
96
+
97
+ tempData.push({
98
+ "isRewardDay": isRewardDay,
99
+ "isCheckedIn": isCheckedIn
100
+ });
101
+ isRewardDay = false;
102
+ isCheckedIn = false;
103
+ }
104
+
105
+ this.setState({
106
+ listItems: tempData
107
+ });
108
+ }
109
+
110
+ async checkInApi() {
111
+ var url = `https://${this.state.environment == 0 ? "ghc-stage" : "ghc"}.theflyy.com/api/v1/checkin?offer_id=` + this.state.checkinOffer.id.toString();
112
+ const resp = await fetch(url, {
113
+ headers: {
114
+ "X-Key": this.state.partnerId,
115
+ "Content-Type": "application/json",
116
+ "X-App-Data": this.state.appData
117
+ }
118
+ });
119
+ const data = await resp.json();
120
+
121
+ if (data.success) {
122
+ this.fetchData();
123
+ } else {
124
+ this.notifyMessage(data.message);
125
+ }
126
+ }
127
+
128
+ notifyMessage(msg) {
129
+ if (_reactNative.Platform.OS === 'android') {
130
+ _reactNative.ToastAndroid.show(msg, _reactNative.ToastAndroid.SHORT);
131
+ } else {
132
+ _reactNativeSimpleToast.default.showWithGravity(msg, _reactNativeSimpleToast.default.SHORT, _reactNativeSimpleToast.default.BOTTOM);
133
+ }
134
+ }
135
+
136
+ render() {
137
+ var _this$props$style$che3, _this$props$style3, _this$props$style$fon, _this$props$style4, _this$state$checkinOf, _this$props$style$che4, _this$props$style5, _this$props$style$fon2, _this$props$style6, _this$props$style$che5, _this$props$style7;
138
+
139
+ const Divider = ({
140
+ color = "black",
141
+ index
142
+ }) => {
143
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
144
+ style: {
145
+ flexDirection: 'row'
146
+ }
147
+ }, _react.default.Children.toArray(this.state.persons.map(() => {
148
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
149
+ style: {
150
+ flexDirection: 'row'
151
+ }
152
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
153
+ style: {
154
+ height: 1,
155
+ width: 2,
156
+ backgroundColor: color,
157
+ borderRadius: 2
158
+ }
159
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
160
+ style: {
161
+ width: 1,
162
+ backgroundColor: "white",
163
+ borderRadius: 2
164
+ }
165
+ }));
166
+ })));
167
+ };
168
+
169
+ const getItemCount = () => this.state.listItems.length;
170
+
171
+ const getItem = (data, index) => ({
172
+ id: Math.random().toString(12).substring(0),
173
+ isRewardDay: data[index].isRewardDay,
174
+ isCheckedIn: data[index].isCheckedIn,
175
+ index: index
176
+ });
177
+
178
+ const Item = ({
179
+ title,
180
+ index
181
+ }) => {
182
+ var _this$props$style$che, _this$props$style, _this$props$style$che2, _this$props$style2;
183
+
184
+ const day = index + 1;
185
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
186
+ style: {
187
+ justifyContent: "center",
188
+ alignItems: 'center',
189
+ alignContent: 'center'
190
+ }
191
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
192
+ style: {
193
+ flexDirection: 'row',
194
+ height: 35,
195
+ justifyContent: 'center',
196
+ alignItems: 'center'
197
+ }
198
+ }, title.isCheckedIn ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
199
+ style: {
200
+ height: 1,
201
+ width: 15,
202
+ alignSelf: "center",
203
+ backgroundColor: index == 0 ? "white" : "black"
204
+ }
205
+ }) : /*#__PURE__*/_react.default.createElement(Divider, {
206
+ color: index == 0 ? "white" : "black",
207
+ index: index
208
+ }), title.isRewardDay ? title.isCheckedIn ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
209
+ source: require('./assets/images/reward_flyy.png'),
210
+ style: {
211
+ height: 20,
212
+ width: 15
213
+ }
214
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
215
+ source: {
216
+ uri: this.state.checkinOffer["currency_icon_url"]
217
+ },
218
+ style: {
219
+ height: 20,
220
+ width: 20
221
+ }
222
+ }) : title.isCheckedIn ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
223
+ style: {
224
+ height: 17,
225
+ width: 17,
226
+ backgroundColor: "black",
227
+ borderRadius: 15,
228
+ justifyContent: 'center',
229
+ alignItems: 'center'
230
+ }
231
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
232
+ style: {
233
+ color: "white",
234
+ fontSize: 10
235
+ }
236
+ }, "\u2713")) : /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
237
+ source: require('./assets/images/radio.png'),
238
+ style: {
239
+ height: 20,
240
+ width: 20
241
+ }
242
+ }), index != this.state.listItems.length - 1 ? this.state.listItems[index + 1].isCheckedIn ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
243
+ style: {
244
+ height: 1,
245
+ width: 15,
246
+ alignSelf: "center",
247
+ backgroundColor: index == this.state.listItems.length - 1 ? "white" : "black"
248
+ }
249
+ }) : /*#__PURE__*/_react.default.createElement(Divider, {
250
+ color: index == this.state.listItems.length - 1 ? "white" : "black",
251
+ index: index
252
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
253
+ style: {
254
+ width: 15
255
+ }
256
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
257
+ style: {
258
+ textAlign: 'center',
259
+ color: title.isRewardDay ? (_this$props$style$che = (_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.checkInEarnColor) !== null && _this$props$style$che !== void 0 ? _this$props$style$che : "black" : (_this$props$style$che2 = (_this$props$style2 = this.props.style) === null || _this$props$style2 === void 0 ? void 0 : _this$props$style2.checkInDaysColor) !== null && _this$props$style$che2 !== void 0 ? _this$props$style$che2 : "black"
260
+ }
261
+ }, title.isRewardDay ? title.isCheckedIn ? "Won" : "Earn" : title.isCheckedIn ? "Day " + day : "Day " + day));
262
+ };
263
+
264
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
265
+ style: styles.main,
266
+ onPress: () => {
267
+ _reactNativeFlyy.default.openFlyyCheckinPage();
268
+ }
269
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
270
+ style: {
271
+ height: 10
272
+ }
273
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
274
+ style: {
275
+ fontSize: 20,
276
+ color: (_this$props$style$che3 = (_this$props$style3 = this.props.style) === null || _this$props$style3 === void 0 ? void 0 : _this$props$style3.checkInTitleColor) !== null && _this$props$style$che3 !== void 0 ? _this$props$style$che3 : "black",
277
+ fontFamily: (_this$props$style$fon = (_this$props$style4 = this.props.style) === null || _this$props$style4 === void 0 ? void 0 : _this$props$style4.fontFamily) !== null && _this$props$style$fon !== void 0 ? _this$props$style$fon : "Montserrat-Regular"
278
+ }
279
+ }, (_this$state$checkinOf = this.state.checkinOffer["offer_type_title"]) !== null && _this$state$checkinOf !== void 0 ? _this$state$checkinOf : "N/A"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
280
+ style: {
281
+ height: 10
282
+ }
283
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
284
+ style: {
285
+ flexDirection: 'row',
286
+ width: 250,
287
+ justifyContent: 'center'
288
+ }
289
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
290
+ numberOfLines: 1,
291
+ style: {
292
+ fontSize: 18,
293
+ color: (_this$props$style$che4 = (_this$props$style5 = this.props.style) === null || _this$props$style5 === void 0 ? void 0 : _this$props$style5.checkInDescriptionColor) !== null && _this$props$style$che4 !== void 0 ? _this$props$style$che4 : "grey",
294
+ fontFamily: (_this$props$style$fon2 = (_this$props$style6 = this.props.style) === null || _this$props$style6 === void 0 ? void 0 : _this$props$style6.fontFamily) !== null && _this$props$style$fon2 !== void 0 ? _this$props$style$fon2 : "Montserrat-Regular",
295
+ textAlign: "center"
296
+ }
297
+ }, this.state.checkinOffer["description"] != null ? this.state.checkinOffer["description"].replace(/(<([^>]+)>)/ig, '') : "N/A")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
298
+ style: {
299
+ height: 10
300
+ }
301
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
302
+ style: styles.listContainer
303
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.VirtualizedList, {
304
+ data: this.state.listItems,
305
+ style: {
306
+ alignSelf: "center"
307
+ },
308
+ initialNumToRender: 4,
309
+ horizontal: true,
310
+ renderItem: ({
311
+ item,
312
+ index
313
+ }) => /*#__PURE__*/_react.default.createElement(Item, {
314
+ title: item,
315
+ index: index
316
+ }),
317
+ getItemCount: getItemCount,
318
+ getItem: getItem
319
+ }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
320
+ style: {
321
+ height: 10
322
+ }
323
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
324
+ style: styles.button,
325
+ onPress: async () => {
326
+ const eventId = this.state.checkinOffer["event_id"];
327
+ const url = this.state.checkinOffer["deeplink"];
328
+
329
+ if (eventId != null) {
330
+ if (url != "") {
331
+ const supported = await _reactNative.Linking.canOpenURL(url);
332
+
333
+ if (supported) {
334
+ await _reactNative.Linking.openURL(url);
335
+ }
336
+ }
337
+ } else {
338
+ this.checkInApi();
339
+ }
340
+ }
341
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
342
+ style: {
343
+ fontSize: 20,
344
+ color: (_this$props$style$che5 = (_this$props$style7 = this.props.style) === null || _this$props$style7 === void 0 ? void 0 : _this$props$style7.checkInBtnTextColor) !== null && _this$props$style$che5 !== void 0 ? _this$props$style$che5 : "white",
345
+ paddingLeft: 10,
346
+ paddingRight: 10,
347
+ fontFamily: "Montserrat-Regular"
348
+ }
349
+ }, this.state.checkinOffer["checked_in"] ? "Checked In" : this.state.checkinOffer["button_text"] != "" ? this.state.checkinOffer["button_text"] : "Check In")));
350
+ }
351
+
352
+ }
353
+
354
+ const styles = _reactNative.StyleSheet.create({
355
+ main: {
356
+ backgroundColor: "white",
357
+ elevation: 5,
358
+ height: 210,
359
+ width: "90%",
360
+ alignItems: "center",
361
+ borderRadius: 10
362
+ },
363
+ listContainer: {
364
+ height: 60,
365
+ flexDirection: "row",
366
+ justifyContent: "center",
367
+ width: "100%",
368
+ alignItems: 'center',
369
+ alignContent: 'center',
370
+ backgroundColor: "white"
371
+ },
372
+ button: {
373
+ backgroundColor: "#f57242",
374
+ height: 35,
375
+ borderRadius: 5,
376
+ justifyContent: "center"
377
+ }
378
+ });
379
+
380
+ var _default = FlyyCheckinComponent;
381
+ exports.default = _default;
382
+ //# sourceMappingURL=flyy_checkin_view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["flyy_checkin_view.tsx"],"names":["FlyyCheckinComponent","Component","mileStoneData","checkinOffer","listItems","persons","partnerId","userId","appData","environment","componentDidMount","data","Flyy","getUserData","getAppData","setState","e","console","error","fetchData","resp","fetch","state","headers","json","key","info","offers","offer_type_code","milestones","tempData","isRewardDay","isCheckedIn","i","total_streak","j","length","parseInt","value","streak","push","checkInApi","url","id","toString","success","notifyMessage","message","msg","Platform","OS","ToastAndroid","show","SHORT","Toast","showWithGravity","BOTTOM","render","Divider","color","index","flexDirection","React","Children","toArray","map","height","width","backgroundColor","borderRadius","getItemCount","getItem","Math","random","substring","Item","title","day","justifyContent","alignItems","alignContent","alignSelf","require","uri","fontSize","textAlign","props","style","checkInEarnColor","checkInDaysColor","styles","main","openFlyyCheckinPage","checkInTitleColor","fontFamily","checkInDescriptionColor","replace","listContainer","item","button","eventId","supported","Linking","canOpenURL","openURL","checkInBtnTextColor","paddingLeft","paddingRight","StyleSheet","create","elevation"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,oBAAN,SAAmCC,gBAAnC,CAA6C;AAAA;AAAA;;AAAA,mCAEjC;AACJC,MAAAA,aAAa,EAAE,EADX;AAEJC,MAAAA,YAAY,EAAE,EAFV;AAGJC,MAAAA,SAAS,EAAE,EAHP;AAIJC,MAAAA,OAAO,EAAE,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,CAJL;AAKJC,MAAAA,SAAS,EAAE,EALP;AAMJC,MAAAA,MAAM,EAAE,EANJ;AAOJC,MAAAA,OAAO,EAAE,EAPL;AAQJC,MAAAA,WAAW,EAAE;AART,KAFiC;AAAA;;AAalB,QAAjBC,iBAAiB,GAAE;AACvB,QAAI;AACF,YAAMC,IAAI,GAAG,MAAMC,yBAAKC,WAAL,EAAnB;AACA,YAAML,OAAO,GAAG,MAAMI,yBAAKE,UAAL,EAAtB;AACA,WAAKC,QAAL,CAAc;AACFT,QAAAA,SAAS,EAAGK,IAAI,CAAC,YAAD,CADd;AAEFJ,QAAAA,MAAM,EAAGI,IAAI,CAAC,SAAD,CAFX;AAGFF,QAAAA,WAAW,EAAGE,IAAI,CAAC,aAAD,CAHhB;AAIFH,QAAAA,OAAO,EAAEA;AAJP,OAAd;AAMD,KATD,CASE,OAAOQ,CAAP,EAAU;AACVC,MAAAA,OAAO,CAACC,KAAR,CAAcF,CAAd;AACD;;AAEC,UAAM,KAAKG,SAAL,EAAN;AACH;;AAGc,QAATA,SAAS,GAAE;AACb,SAAKJ,QAAL,CAAc;AAAEX,MAAAA,SAAS,EAAG;AAAd,KAAd;AACA,UAAMgB,IAAI,GAAG,MAAMC,KAAK,CAAE,WAAU,KAAKC,KAAL,CAAWb,WAAX,IAA0B,CAA1B,GAA8B,WAA9B,GAA4C,KAAM,mCAA9D,EAAkG;AACtHc,MAAAA,OAAO,EAAE;AACL,iBAAS,KAAKD,KAAL,CAAWhB,SADf;AAEL,wBAAgB,kBAFX;AAGL,sBAAc,KAAKgB,KAAL,CAAWd;AAHpB;AAD6G,KAAlG,CAAxB;AAOA,UAAMG,IAAI,GAAG,MAAMS,IAAI,CAACI,IAAL,EAAnB;;AACA,SAAK,IAAIC,GAAT,IAAgBd,IAAI,CAACe,IAAL,CAAUC,MAA1B,EAAkC;AAC9B,UAAIhB,IAAI,CAACe,IAAL,CAAUC,MAAV,CAAiBF,GAAjB,EAAsBG,eAAtB,KAA0C,SAA9C,EAAyD;AACrD,aAAKb,QAAL,CAAc;AAAEZ,UAAAA,YAAY,EAAGQ,IAAI,CAACe,IAAL,CAAUC,MAAV,CAAiBF,GAAjB;AAAjB,SAAd;AACA,aAAKV,QAAL,CAAc;AAAEb,UAAAA,aAAa,EAAGS,IAAI,CAACe,IAAL,CAAUC,MAAV,CAAiBF,GAAjB,EAAsBI;AAAxC,SAAd;AACA;AACH;AACJ;;AACD,QAAIC,QAAQ,GAAG,EAAf;AACA,QAAIC,WAAW,GAAG,KAAlB;AACA,QAAIC,WAAW,GAAG,KAAlB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKX,KAAL,CAAWnB,YAAX,CAAwB+B,YAA5C,EAA0DD,CAAC,EAA3D,EAA+D;AAC3D,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKb,KAAL,CAAWpB,aAAX,CAAyBkC,MAA7C,EAAqDD,CAAC,EAAtD,EAA0D;AACtD,YAAIF,CAAC,GAAG,CAAJ,KAAUI,QAAQ,CAAC,KAAKf,KAAL,CAAWpB,aAAX,CAAyBiC,CAAzB,EAA4BG,KAA7B,CAAtB,EAA2D;AACvDP,UAAAA,WAAW,GAAG,IAAd;AACH;AACJ;;AACD,UAAIE,CAAC,GAAC,CAAF,IAAO,KAAKX,KAAL,CAAWnB,YAAX,CAAwBoC,MAAnC,EAA2C;AACvCP,QAAAA,WAAW,GAAG,IAAd;AACH;;AACDF,MAAAA,QAAQ,CAACU,IAAT,CAAc;AAAE,uBAAeT,WAAjB;AAA8B,uBAAeC;AAA7C,OAAd;AACAD,MAAAA,WAAW,GAAG,KAAd;AACAC,MAAAA,WAAW,GAAG,KAAd;AACH;;AACD,SAAKjB,QAAL,CAAc;AAAEX,MAAAA,SAAS,EAAG0B;AAAd,KAAd;AACH;;AAGe,QAAVW,UAAU,GAAG;AACf,QAAIC,GAAG,GAAI,WAAU,KAAKpB,KAAL,CAAWb,WAAX,IAA0B,CAA1B,GAA8B,WAA9B,GAA4C,KAAM,uCAA7D,GAAsG,KAAKa,KAAL,CAAWnB,YAAX,CAAwBwC,EAAxB,CAA2BC,QAA3B,EAAhH;AACA,UAAMxB,IAAI,GAAG,MAAMC,KAAK,CAACqB,GAAD,EAAM;AAC1BnB,MAAAA,OAAO,EAAE;AACL,iBAAS,KAAKD,KAAL,CAAWhB,SADf;AAEL,wBAAgB,kBAFX;AAGL,sBAAc,KAAKgB,KAAL,CAAWd;AAHpB;AADiB,KAAN,CAAxB;AAOA,UAAMG,IAAI,GAAG,MAAMS,IAAI,CAACI,IAAL,EAAnB;;AACA,QAAIb,IAAI,CAACkC,OAAT,EAAkB;AACd,WAAK1B,SAAL;AACH,KAFD,MAEO;AACH,WAAK2B,aAAL,CAAmBnC,IAAI,CAACoC,OAAxB;AACH;AACJ;;AAEDD,EAAAA,aAAa,CAACE,GAAD,EAAa;AACtB,QAAIC,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BC,gCAAaC,IAAb,CAAkBJ,GAAlB,EAAuBG,0BAAaE,KAApC;AACD,KAFD,MAEO;AACHC,sCAAMC,eAAN,CAAsBP,GAAtB,EAA2BM,gCAAMD,KAAjC,EAAwCC,gCAAME,MAA9C;AACH;AACF;;AAELC,EAAAA,MAAM,GAAG;AAAA;;AACP,UAAMC,OAAO,GAAG,CAAC;AAACC,MAAAA,KAAK,GAAG,OAAT;AAAiBC,MAAAA;AAAjB,KAAD,KAAmD;AAC/D,0BACI,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAE;AAAEC,UAAAA,aAAa,EAAE;AAAjB;AAAb,SACKC,eAAMC,QAAN,CAAeC,OAAf,CACE,KAAK1C,KAAL,CAAWjB,OAAX,CAAmB4D,GAAnB,CAAuB,MAAM;AAC5B,4BACI,6BAAC,iBAAD;AAAM,UAAA,KAAK,EAAE;AAAEJ,YAAAA,aAAa,EAAE;AAAjB;AAAb,wBACI,6BAAC,iBAAD;AAAM,UAAA,KAAK,EAAE;AAAEK,YAAAA,MAAM,EAAE,CAAV;AAAaC,YAAAA,KAAK,EAAE,CAApB;AAAuBC,YAAAA,eAAe,EAAET,KAAxC;AAA+CU,YAAAA,YAAY,EAAE;AAA7D;AAAb,UADJ,eAEI,6BAAC,iBAAD;AAAM,UAAA,KAAK,EAAE;AAAEF,YAAAA,KAAK,EAAE,CAAT;AAAYC,YAAAA,eAAe,EAAE,OAA7B;AAAsCC,YAAAA,YAAY,EAAE;AAApD;AAAb,UAFJ,CADJ;AAMH,OAPE,CADF,CADL,CADJ;AAcH,KAfD;;AAgBA,UAAMC,YAAY,GAAG,MAAM,KAAKhD,KAAL,CAAWlB,SAAX,CAAqBgC,MAAhD;;AACA,UAAMmC,OAAO,GAAG,CAAC5D,IAAD,EAAWiD,KAAX,MAA0B;AACtCjB,MAAAA,EAAE,EAAE6B,IAAI,CAACC,MAAL,GAAc7B,QAAd,CAAuB,EAAvB,EAA2B8B,SAA3B,CAAqC,CAArC,CADkC;AAEtC3C,MAAAA,WAAW,EAAEpB,IAAI,CAACiD,KAAD,CAAJ,CAAY7B,WAFa;AAGtCC,MAAAA,WAAW,EAAErB,IAAI,CAACiD,KAAD,CAAJ,CAAY5B,WAHa;AAItC4B,MAAAA,KAAK,EAAEA;AAJ+B,KAA1B,CAAhB;;AAMA,UAAMe,IAAI,GAAG,CAAC;AAAEC,MAAAA,KAAF;AAAShB,MAAAA;AAAT,KAAD,KAA6C;AAAA;;AACtD,YAAMiB,GAAG,GAAGjB,KAAK,GAAG,CAApB;AACA,0BACA,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAI;AAACkB,UAAAA,cAAc,EAAE,QAAjB;AAA0BC,UAAAA,UAAU,EAAC,QAArC;AAA8CC,UAAAA,YAAY,EAAC;AAA3D;AAAf,sBACI,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAI;AAACnB,UAAAA,aAAa,EAAG,KAAjB;AAAuBK,UAAAA,MAAM,EAAE,EAA/B;AAAkCY,UAAAA,cAAc,EAAC,QAAjD;AAA0DC,UAAAA,UAAU,EAAC;AAArE;AAAf,SACCH,KAAK,CAAC5C,WAAN,gBAAmB,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAE;AAAEkC,UAAAA,MAAM,EAAE,CAAV;AAAaC,UAAAA,KAAK,EAAE,EAApB;AAAwBc,UAAAA,SAAS,EAAE,QAAnC;AAA8Cb,UAAAA,eAAe,EAAER,KAAK,IAAI,CAAT,GAAa,OAAb,GAAuB;AAAtF;AAAb,QAAnB,gBAAmI,6BAAC,OAAD;AAAS,QAAA,KAAK,EAAEA,KAAK,IAAI,CAAT,GAAa,OAAb,GAAuB,OAAvC;AAAgD,QAAA,KAAK,EAAEA;AAAvD,QADpI,EAECgB,KAAK,CAAC7C,WAAN,GACO6C,KAAK,CAAC5C,WAAN,gBAAoB,6BAAC,kBAAD;AAAO,QAAA,MAAM,EAAEkD,OAAO,CAAC,iCAAD,CAAtB;AAA2D,QAAA,KAAK,EAAE;AAAEhB,UAAAA,MAAM,EAAE,EAAV;AAAcC,UAAAA,KAAK,EAAE;AAArB;AAAlE,QAApB,gBAAsH,6BAAC,kBAAD;AAAO,QAAA,MAAM,EAAE;AAAEgB,UAAAA,GAAG,EAAE,KAAK7D,KAAL,CAAWnB,YAAX,CAAwB,mBAAxB;AAAP,SAAf;AAAsE,QAAA,KAAK,EAAE;AAAE+D,UAAAA,MAAM,EAAE,EAAV;AAAcC,UAAAA,KAAK,EAAE;AAArB;AAA7E,QAD7H,GAESS,KAAK,CAAC5C,WAAN,gBACD,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAI;AAACkC,UAAAA,MAAM,EAAC,EAAR;AAAWC,UAAAA,KAAK,EAAC,EAAjB;AAAoBC,UAAAA,eAAe,EAAC,OAApC;AAA4CC,UAAAA,YAAY,EAAC,EAAzD;AAA4DS,UAAAA,cAAc,EAAC,QAA3E;AAAoFC,UAAAA,UAAU,EAAC;AAA/F;AAAf,sBAAyH,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAE;AAACpB,UAAAA,KAAK,EAAC,OAAP;AAAeyB,UAAAA,QAAQ,EAAC;AAAxB;AAAb,kBAAzH,CADC,gBAEC,6BAAC,kBAAD;AAAO,QAAA,MAAM,EAAEF,OAAO,CAAC,2BAAD,CAAtB;AAAqD,QAAA,KAAK,EAAE;AAAEhB,UAAAA,MAAM,EAAE,EAAV;AAAcC,UAAAA,KAAK,EAAE;AAArB;AAA5D,QANX,EAOCP,KAAK,IAAI,KAAKtC,KAAL,CAAWlB,SAAX,CAAqBgC,MAArB,GAA4B,CAArC,GAAyC,KAAKd,KAAL,CAAWlB,SAAX,CAAqBwD,KAAK,GAAC,CAA3B,EAA8B5B,WAA9B,gBAA4C,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAE;AAAEkC,UAAAA,MAAM,EAAE,CAAV;AAAaC,UAAAA,KAAK,EAAE,EAApB;AAAwBc,UAAAA,SAAS,EAAE,QAAnC;AAA8Cb,UAAAA,eAAe,EAAER,KAAK,IAAI,KAAKtC,KAAL,CAAWlB,SAAX,CAAqBgC,MAArB,GAA4B,CAArC,GAAyC,OAAzC,GAAmD;AAAlH;AAAb,QAA5C,gBAAwL,6BAAC,OAAD;AAAS,QAAA,KAAK,EAAEwB,KAAK,IAAI,KAAKtC,KAAL,CAAWlB,SAAX,CAAqBgC,MAArB,GAA8B,CAAvC,GAA2C,OAA3C,GAAqD,OAArE;AAA8E,QAAA,KAAK,EAAEwB;AAArF,QAAjO,gBAAgU,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAI;AAACO,UAAAA,KAAK,EAAC;AAAP;AAAf,QAPjU,CADJ,eAUI,6BAAC,iBAAD;AAAM,QAAA,KAAK,EAAI;AAACkB,UAAAA,SAAS,EAAE,QAAZ;AAAqB1B,UAAAA,KAAK,EAAEiB,KAAK,CAAC7C,WAAN,iDAAoB,KAAKuD,KAAL,CAAWC,KAA/B,sDAAoB,kBAAkBC,gBAAtC,yEAA0D,OAA1D,mDAAoE,KAAKF,KAAL,CAAWC,KAA/E,uDAAoE,mBAAkBE,gBAAtF,2EAA0G;AAAtI;AAAf,SAAgKb,KAAK,CAAC7C,WAAN,GACxJ6C,KAAK,CAAC5C,WAAN,GAAoB,KAApB,GAA4B,MAD4H,GAEtJ4C,KAAK,CAAC5C,WAAN,GAAoB,SAAO6C,GAA3B,GAAiC,SAAOA,GAFlD,CAVJ,CADA;AAgBH,KAlBD;;AAmBA,wBACI,6BAAC,6BAAD;AAAkB,MAAA,KAAK,EAAEa,MAAM,CAACC,IAAhC;AAAsC,MAAA,OAAO,EAAI,MAAI;AACjD/E,iCAAKgF,mBAAL;AACH;AAFD,oBAGI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AAAE1B,QAAAA,MAAM,EAAE;AAAV;AAAb,MAHJ,eAII,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AAAEkB,QAAAA,QAAQ,EAAE,EAAZ;AAAgBzB,QAAAA,KAAK,kDAAE,KAAK2B,KAAL,CAAWC,KAAb,uDAAE,mBAAkBM,iBAApB,2EAAyC,OAA9D;AAAuEC,QAAAA,UAAU,iDAAE,KAAKR,KAAL,CAAWC,KAAb,uDAAE,mBAAkBO,UAApB,yEAAkC;AAAnH;AAAb,gCACK,KAAKxE,KAAL,CAAWnB,YAAX,CAAwB,kBAAxB,CADL,yEACoD,KADpD,CAJJ,eAOI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AAAE+D,QAAAA,MAAM,EAAE;AAAV;AAAb,MAPJ,eAQI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAI;AAACL,QAAAA,aAAa,EAAE,KAAhB;AAAsBM,QAAAA,KAAK,EAAC,GAA5B;AAAgCW,QAAAA,cAAc,EAAE;AAAhD;AAAf,oBACI,6BAAC,iBAAD;AAAO,MAAA,aAAa,EAAE,CAAtB;AAAyB,MAAA,KAAK,EAAE;AAAEM,QAAAA,QAAQ,EAAE,EAAZ;AAAgBzB,QAAAA,KAAK,kDAAE,KAAK2B,KAAL,CAAWC,KAAb,uDAAE,mBAAkBQ,uBAApB,2EAA+C,MAApE;AAA4ED,QAAAA,UAAU,kDAAE,KAAKR,KAAL,CAAWC,KAAb,uDAAE,mBAAkBO,UAApB,2EAAkC,oBAAxH;AAA6IT,QAAAA,SAAS,EAAE;AAAxJ;AAAhC,OACC,KAAK/D,KAAL,CAAWnB,YAAX,CAAwB,aAAxB,KAA0C,IAA1C,GAAiD,KAAKmB,KAAL,CAAWnB,YAAX,CAAwB,aAAxB,EAAuC6F,OAAvC,CAA+C,eAA/C,EAAgE,EAAhE,CAAjD,GAAuH,KADxH,CADJ,CARJ,eAaI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AAAE9B,QAAAA,MAAM,EAAE;AAAV;AAAb,MAbJ,eAcI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAEwB,MAAM,CAACO;AAApB,oBACI,6BAAC,iBAAD,qBACA,6BAAC,4BAAD;AACI,MAAA,IAAI,EAAE,KAAK3E,KAAL,CAAWlB,SADrB;AAEI,MAAA,KAAK,EAAI;AAAC6E,QAAAA,SAAS,EAAE;AAAZ,OAFb;AAGI,MAAA,kBAAkB,EAAE,CAHxB;AAII,MAAA,UAAU,EAAE,IAJhB;AAKI,MAAA,UAAU,EAAE,CAAC;AAAEiB,QAAAA,IAAF;AAAQtC,QAAAA;AAAR,OAAD,kBAAqB,6BAAC,IAAD;AAAM,QAAA,KAAK,EAAEsC,IAAb;AAAmB,QAAA,KAAK,EAAEtC;AAA1B,QALrC;AAMI,MAAA,YAAY,EAAEU,YANlB;AAOI,MAAA,OAAO,EAAEC;AAPb,MADA,CADJ,CAdJ,eA2BI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AAAEL,QAAAA,MAAM,EAAE;AAAV;AAAb,MA3BJ,eA4BI,6BAAC,6BAAD;AACI,MAAA,KAAK,EAAEwB,MAAM,CAACS,MADlB;AAEI,MAAA,OAAO,EAAE,YAAY;AACjB,cAAMC,OAAO,GAAG,KAAK9E,KAAL,CAAWnB,YAAX,CAAwB,UAAxB,CAAhB;AACA,cAAMuC,GAAG,GAAG,KAAKpB,KAAL,CAAWnB,YAAX,CAAwB,UAAxB,CAAZ;;AACA,YAAGiG,OAAO,IAAI,IAAd,EAAmB;AACf,cAAI1D,GAAG,IAAI,EAAX,EAAe;AACX,kBAAM2D,SAAS,GAAG,MAAMC,qBAAQC,UAAR,CAAmB7D,GAAnB,CAAxB;;AACA,gBAAI2D,SAAJ,EAAe;AACX,oBAAMC,qBAAQE,OAAR,CAAgB9D,GAAhB,CAAN;AACH;AACJ;AACJ,SAPD,MAOK;AACD,eAAKD,UAAL;AACH;AACJ;AAfL,oBAgBI,6BAAC,iBAAD;AAAM,MAAA,KAAK,EAAE;AACT2C,QAAAA,QAAQ,EAAE,EADD;AAETzB,QAAAA,KAAK,kDAAE,KAAK2B,KAAL,CAAWC,KAAb,uDAAE,mBAAkBkB,mBAApB,2EAA2C,OAFvC;AAGTC,QAAAA,WAAW,EAAE,EAHJ;AAITC,QAAAA,YAAY,EAAE,EAJL;AAKTb,QAAAA,UAAU,EAAE;AALH;AAAb,OAMI,KAAKxE,KAAL,CAAWnB,YAAX,CAAwB,YAAxB,IAAwC,YAAxC,GAAuD,KAAKmB,KAAL,CAAWnB,YAAX,CAAwB,aAAxB,KAA0C,EAA1C,GAA+C,KAAKmB,KAAL,CAAWnB,YAAX,CAAwB,aAAxB,CAA/C,GAAwF,UANnJ,CAhBJ,CA5BJ,CADJ;AAuDD;;AA/L0C;;AAkM7C,MAAMuF,MAAM,GAAGkB,wBAAWC,MAAX,CAAkB;AAC7BlB,EAAAA,IAAI,EAAE;AACFvB,IAAAA,eAAe,EAAE,OADf;AAEF0C,IAAAA,SAAS,EAAE,CAFT;AAGF5C,IAAAA,MAAM,EAAE,GAHN;AAIFC,IAAAA,KAAK,EAAE,KAJL;AAKFY,IAAAA,UAAU,EAAE,QALV;AAMFV,IAAAA,YAAY,EAAE;AANZ,GADuB;AAS7B4B,EAAAA,aAAa,EAAE;AAAE/B,IAAAA,MAAM,EAAE,EAAV;AAAaL,IAAAA,aAAa,EAAE,KAA5B;AAAkCiB,IAAAA,cAAc,EAAE,QAAlD;AAA2DX,IAAAA,KAAK,EAAC,MAAjE;AAAwEY,IAAAA,UAAU,EAAC,QAAnF;AAA4FC,IAAAA,YAAY,EAAC,QAAzG;AAAkHZ,IAAAA,eAAe,EAAE;AAAnI,GATc;AAU7B+B,EAAAA,MAAM,EAAE;AAAE/B,IAAAA,eAAe,EAAE,SAAnB;AAA8BF,IAAAA,MAAM,EAAE,EAAtC;AAA0CG,IAAAA,YAAY,EAAE,CAAxD;AAA2DS,IAAAA,cAAc,EAAE;AAA3E;AAVqB,CAAlB,CAAf;;eAae9E,oB","sourcesContent":["// @ts-nocheck\nimport React, { Component } from \"react\";\nimport { View, Text, TouchableOpacity,StyleSheet,Image, VirtualizedList, Platform, ToastAndroid, Alert, Linking } from \"react-native\";\nimport Flyy from 'react-native-flyy';\nimport Toast from 'react-native-simple-toast';\n\nclass FlyyCheckinComponent extends Component {\n\n state = {\n mileStoneData: [],\n checkinOffer: [],\n listItems: [],\n persons: [1,2,3,4,5],\n partnerId: \"\",\n userId: \"\",\n appData: \"\",\n environment: 0\n };\n\n async componentDidMount(){\n try {\n const data = await Flyy.getUserData();\n const appData = await Flyy.getAppData();\n this.setState({ \n partnerId : data[\"partner_id\"],\n userId : data[\"user_id\"],\n environment : data[\"environment\"],\n appData: appData\n })\n } catch (e) {\n console.error(e);\n }\n\n await this.fetchData();\n }\n\n\n async fetchData(){\n this.setState({ listItems : []})\n const resp = await fetch(`https://${this.state.environment == 0 ? \"ghc-stage\" : \"ghc\"}.theflyy.com/api/v7/flyy_app_info`, {\n headers: {\n \"X-Key\": this.state.partnerId,\n \"Content-Type\": \"application/json\",\n \"X-App-Data\": this.state.appData\n }\n });\n const data = await resp.json();\n for (var key in data.info.offers) {\n if (data.info.offers[key].offer_type_code === \"checkin\") {\n this.setState({ checkinOffer : data.info.offers[key] })\n this.setState({ mileStoneData : data.info.offers[key].milestones })\n break;\n }\n }\n var tempData = [];\n var isRewardDay = false;\n var isCheckedIn = false;\n for (let i = 0; i < this.state.checkinOffer.total_streak; i++) {\n for (let j = 0; j < this.state.mileStoneData.length; j++) {\n if (i + 1 === parseInt(this.state.mileStoneData[j].value)) {\n isRewardDay = true;\n }\n }\n if (i+1 <= this.state.checkinOffer.streak) {\n isCheckedIn = true;\n }\n tempData.push({ \"isRewardDay\": isRewardDay, \"isCheckedIn\": isCheckedIn })\n isRewardDay = false;\n isCheckedIn = false;\n }\n this.setState({ listItems : tempData })\n }\n\n\n async checkInApi() {\n var url = `https://${this.state.environment == 0 ? \"ghc-stage\" : \"ghc\"}.theflyy.com/api/v1/checkin?offer_id=` + this.state.checkinOffer.id.toString();\n const resp = await fetch(url, {\n headers: {\n \"X-Key\": this.state.partnerId,\n \"Content-Type\": \"application/json\",\n \"X-App-Data\": this.state.appData\n }\n });\n const data = await resp.json();\n if (data.success) {\n this.fetchData()\n } else {\n this.notifyMessage(data.message)\n }\n }\n\n notifyMessage(msg:string) {\n if (Platform.OS === 'android') {\n ToastAndroid.show(msg, ToastAndroid.SHORT)\n } else {\n Toast.showWithGravity(msg, Toast.SHORT, Toast.BOTTOM);\n }\n }\n\n render() {\n const Divider = ({color = \"black\",index}:{color:any,index:any}) => {\n return (\n <View style={{ flexDirection: 'row'}}>\n {React.Children.toArray(\n this.state.persons.map(() => {\n return (\n <View style={{ flexDirection: 'row' }}>\n <View style={{ height: 1, width: 2, backgroundColor: color, borderRadius: 2 }} />\n <View style={{ width: 1, backgroundColor: \"white\", borderRadius: 2 }} />\n </View>\n );\n })\n )}\n </View>\n )\n }\n const getItemCount = () => this.state.listItems.length;\n const getItem = (data:any, index:any) => ({\n id: Math.random().toString(12).substring(0),\n isRewardDay: data[index].isRewardDay,\n isCheckedIn: data[index].isCheckedIn,\n index: index\n });\n const Item = ({ title, index }: {title:any,index:any}) => {\n const day = index + 1;\n return (\n <View style = {{justifyContent: \"center\",alignItems:'center',alignContent:'center'}}>\n <View style = {{flexDirection : 'row',height: 35,justifyContent:'center',alignItems:'center'}}>\n {title.isCheckedIn? <View style={{ height: 1, width: 15, alignSelf: \"center\" , backgroundColor: index == 0 ? \"white\" : \"black\"}} />:<Divider color={index == 0 ? \"white\" : \"black\"} index={index}/>}\n {title.isRewardDay ?\n title.isCheckedIn ? <Image source={require('./assets/images/reward_flyy.png')} style={{ height: 20, width: 15 }} /> : <Image source={{ uri: this.state.checkinOffer[\"currency_icon_url\"] }} style={{ height: 20, width: 20 }} />\n : title.isCheckedIn ?\n <View style = {{height:17,width:17,backgroundColor:\"black\",borderRadius:15,justifyContent:'center',alignItems:'center'}}><Text style={{color:\"white\",fontSize:10}}>✓</Text></View>\n : <Image source={require('./assets/images/radio.png')} style={{ height: 20, width: 20 }} />}\n {index != this.state.listItems.length-1 ? this.state.listItems[index+1].isCheckedIn ? <View style={{ height: 1, width: 15, alignSelf: \"center\" , backgroundColor: index == this.state.listItems.length-1 ? \"white\" : \"black\"}} />:<Divider color={index == this.state.listItems.length - 1 ? \"white\" : \"black\"} index={index}/>: <View style = {{width:15}}/>}\n </View>\n <Text style = {{textAlign: 'center',color: title.isRewardDay ? this.props.style?.checkInEarnColor ?? \"black\" : this.props.style?.checkInDaysColor ?? \"black\"}}>{title.isRewardDay ?\n title.isCheckedIn ? \"Won\" : \"Earn\"\n : title.isCheckedIn ? \"Day \"+day : \"Day \"+day}</Text>\n </View>\n )\n }\n return (\n <TouchableOpacity style={styles.main} onPress = {()=>{\n Flyy.openFlyyCheckinPage();\n }}>\n <View style={{ height: 10 }} />\n <Text style={{ fontSize: 20, color: this.props.style?.checkInTitleColor ?? \"black\", fontFamily: this.props.style?.fontFamily ?? \"Montserrat-Regular\" }}>\n {this.state.checkinOffer[\"offer_type_title\"] ?? \"N/A\"}\n </Text>\n <View style={{ height: 10 }} />\n <View style = {{flexDirection: 'row',width:250,justifyContent: 'center'}}>\n <Text numberOfLines={1} style={{ fontSize: 18, color: this.props.style?.checkInDescriptionColor ?? \"grey\", fontFamily: this.props.style?.fontFamily ?? \"Montserrat-Regular\",textAlign: \"center\"}}>\n {this.state.checkinOffer[\"description\"] != null ? this.state.checkinOffer[\"description\"].replace(/(<([^>]+)>)/ig, '') : \"N/A\"}\n </Text>\n </View>\n <View style={{ height: 10 }} />\n <View style={styles.listContainer}>\n <View>\n <VirtualizedList\n data={this.state.listItems}\n style = {{alignSelf: \"center\"}}\n initialNumToRender={4}\n horizontal={true}\n renderItem={({ item, index }) => <Item title={item} index={index} />}\n getItemCount={getItemCount}\n getItem={getItem}\n />\n </View>\n </View>\n <View style={{ height: 10 }} />\n <TouchableOpacity\n style={styles.button}\n onPress={async () => {\n const eventId = this.state.checkinOffer[\"event_id\"];\n const url = this.state.checkinOffer[\"deeplink\"];\n if(eventId != null){\n if (url != \"\") {\n const supported = await Linking.canOpenURL(url);\n if (supported) {\n await Linking.openURL(url);\n }\n }\n }else{\n this.checkInApi();\n }\n }}>\n <Text style={{\n fontSize: 20,\n color: this.props.style?.checkInBtnTextColor ?? \"white\",\n paddingLeft: 10, \n paddingRight: 10,\n fontFamily: \"Montserrat-Regular\"\n }}>{this.state.checkinOffer[\"checked_in\"] ? \"Checked In\" : this.state.checkinOffer[\"button_text\"] != \"\" ? this.state.checkinOffer[\"button_text\"] : \"Check In\"}</Text>\n </TouchableOpacity>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n main: {\n backgroundColor: \"white\",\n elevation: 5,\n height: 210,\n width: \"90%\",\n alignItems: \"center\",\n borderRadius: 10\n },\n listContainer: { height: 60,flexDirection: \"row\",justifyContent: \"center\",width:\"100%\",alignItems:'center',alignContent:'center',backgroundColor: \"white\"},\n button: { backgroundColor: \"#f57242\", height: 35, borderRadius: 5, justifyContent: \"center\" },\n});\n\nexport default FlyyCheckinComponent;"]}