react-native-flyy 1.4.23 → 1.4.24

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 +9 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/reactnativeflyy/FlyyModule.kt +72 -1
  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
@@ -3,20 +3,265 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.FlyyWidget = exports.default = void 0;
6
+ exports.FlyyWidget = exports.FlyyFloatingWidget = exports.FlyyCheckinView = exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
+ var _reactNativeDraggable = _interopRequireDefault(require("react-native-draggable"));
13
+
14
+ var _flyy_checkin_view = _interopRequireDefault(require("./flyy_checkin_view"));
15
+
16
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
17
+
12
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
19
 
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ // @ts-nocheck
14
25
  const {
15
26
  Flyy
16
27
  } = _reactNative.NativeModules;
17
- var _default = Flyy;
28
+ var _default = Flyy; // ****** Flyy CheckinView Widget ******
29
+
18
30
  exports.default = _default;
19
31
 
32
+ const FlyyCheckinView = props => {
33
+ return /*#__PURE__*/_react.default.createElement(_flyy_checkin_view.default, {
34
+ style: {
35
+ checkInBtnTextColor: props.checkInBtnTextColor,
36
+ checkInTitleColor: props.checkInTitleColor,
37
+ checkInDescriptionColor: props.checkInDescriptionColor,
38
+ checkInDaysColor: props.checkInDaysColor,
39
+ checkInEarnColor: props.checkInEarnColor,
40
+ fontFamily: props.fontFamily
41
+ }
42
+ });
43
+ };
44
+
45
+ exports.FlyyCheckinView = FlyyCheckinView;
46
+
47
+ const windowHeight = _reactNative.Dimensions.get('window').height;
48
+
49
+ const windowWidth = _reactNative.Dimensions.get('window').width; // ****** Flyy Floating Widget ******
50
+
51
+
52
+ const FlyyFloatingWidget = ({
53
+ props = {
54
+ backgroundColor: "#654EA3",
55
+ buttonHeight: 55,
56
+ buttonWidth: 55,
57
+ buttonCornerRadius: 40,
58
+ buttonIcon: require('./assets/images/rewardwidget.png'),
59
+ onPress: () => {},
60
+ x: windowWidth - 75,
61
+ y: windowHeight - 100,
62
+ minX: 5,
63
+ minY: 5,
64
+ maxX: windowWidth - 5,
65
+ maxY: windowHeight - 5,
66
+ show: true,
67
+ stick: false,
68
+ startDate: 0,
69
+ endDate: 0
70
+ }
71
+ }) => {
72
+ var _props$minX, _props$minY, _props$maxX, _props$maxY;
73
+
74
+ const [showWidget, setShowWidget] = (0, _react.useState)(false);
75
+ const [userData, setUserData] = (0, _react.useState)({});
76
+ const [iconUrl, setIconUrl] = (0, _react.useState)(require('./assets/images/rewardwidget.png'));
77
+ const [backgroundColor, setBackgroundColor] = (0, _react.useState)("#654EA3");
78
+ const [buttonSize, setButtonSize] = (0, _react.useState)(55);
79
+ const [buttonXPosition, setButtonXPosition] = (0, _react.useState)(windowWidth - 75);
80
+ const [buttonYPosition, setButtonYPosition] = (0, _react.useState)(windowHeight - 100);
81
+ const [deeplink, setDeeplink] = (0, _react.useState)(null);
82
+ const flyyConfigDate = "flyy_config_date";
83
+ var oldState = null;
84
+ var currentState = null;
85
+ var data = null;
86
+ (0, _react.useEffect)(() => {
87
+ fetchData();
88
+ }, []);
89
+
90
+ const fetchData = async () => {
91
+ const sdkInfo = await Flyy.getUserData();
92
+ const appData = await Flyy.getAppData();
93
+ const resp = await fetch(`https://${sdkInfo["environment"] == 0 ? "ghc-stage" : "ghc"}.theflyy.com/api/v8/flyy_app_info`, {
94
+ headers: {
95
+ "X-Key": sdkInfo["partner_id"],
96
+ "Content-Type": "application/json",
97
+ "X-App-Data": appData
98
+ }
99
+ });
100
+ data = await resp.json();
101
+ const widgetConfig = data.info.floating_widget_configuration;
102
+
103
+ if (widgetConfig.icon_url != null && widgetConfig.icon_url != '') {
104
+ setIconUrl({
105
+ uri: widgetConfig.icon_url
106
+ });
107
+ } else {
108
+ setIconUrl(props.buttonIcon);
109
+ }
110
+
111
+ if (widgetConfig.color != null && widgetConfig.color != '') {
112
+ setBackgroundColor(widgetConfig.color);
113
+ } else {
114
+ setBackgroundColor(props.backgroundColor);
115
+ }
116
+
117
+ if (widgetConfig.size != null && widgetConfig.color != 0) {
118
+ setButtonSize(parseInt(data.info.floating_widget_configuration.size));
119
+ } else {
120
+ setButtonSize(props.buttonHeight);
121
+ } //FloatingButton Position
122
+
123
+
124
+ if (widgetConfig.position == "bottom_left") {
125
+ setButtonXPosition(10);
126
+ } else if (widgetConfig.position == "bottom_right") {
127
+ setButtonXPosition(windowWidth - 75);
128
+ } else if (widgetConfig.position == "upper_left") {
129
+ setButtonXPosition(10);
130
+ setButtonYPosition(10);
131
+ } else if (widgetConfig.position == "upper_right") {
132
+ setButtonXPosition(windowWidth - 75);
133
+ setButtonYPosition(10);
134
+ } //Set DeepLink
135
+
136
+
137
+ if (widgetConfig.deeplink != null && widgetConfig.deeplink != "") {
138
+ setDeeplink(widgetConfig.deeplink);
139
+ } //Set Visibility of FloatingButton
140
+
141
+
142
+ var currentDate = new Date();
143
+ const getDate = await _asyncStorage.default.getItem(flyyConfigDate);
144
+ var date = new Date(parseInt(getDate));
145
+ const diffTime = Math.abs(getDate - currentDate);
146
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) - 1;
147
+
148
+ if (diffDays != 0) {
149
+ var data = await Flyy.getAppOccurence(1);
150
+ }
151
+
152
+ const occurrenceCount = await Flyy.getAppOccurence(0);
153
+
154
+ if (widgetConfig.show_to_user && occurrenceCount <= widgetConfig.num_times) {
155
+ // var numberOfDaysToAdd = widgetConfig.num_days+1;
156
+ // var result = currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd);
157
+ if (getDate === null) {
158
+ await _asyncStorage.default.setItem(flyyConfigDate, JSON.stringify(currentDate.getTime()));
159
+ }
160
+
161
+ const getDate2 = await _asyncStorage.default.getItem(flyyConfigDate);
162
+ var date = new Date(parseInt(getDate2));
163
+ const diffTime = Math.abs(getDate2 - currentDate);
164
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) - 1; //Show widget on same day
165
+
166
+ if (diffDays === 0) {
167
+ setShowWidget(true);
168
+ } else {
169
+ //reset occurrence on next day
170
+ await Flyy.getAppOccurence(1);
171
+
172
+ if (diffDays >= widgetConfig.num_days + 1) {
173
+ await _asyncStorage.default.setItem(flyyConfigDate, JSON.stringify(currentDate.getTime()));
174
+ setShowWidget(true);
175
+ }
176
+ }
177
+ } else {
178
+ const getDate2 = await _asyncStorage.default.getItem(flyyConfigDate);
179
+ var date = new Date(parseInt(getDate2));
180
+ const diffTime = Math.abs(getDate2 - currentDate);
181
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
182
+
183
+ if (diffDays != 1) {
184
+ var data = await Flyy.getAppOccurence(1);
185
+ }
186
+ }
187
+ }; // if(props.show){
188
+ // if(props.startDate != null && props.startDate != 0){
189
+ // var now = new Date().getTime();
190
+ // if(now >= props.startDate && now <= props.endDate){
191
+ // props.show = true
192
+ // }else{
193
+ // props.show = false
194
+ // }
195
+ // }
196
+ // }
197
+ // AppState.addEventListener('change', state =>{
198
+ // console.log('AppState updated to', AppState.currentState)
199
+ // oldState = currentState;
200
+ // currentState = state;
201
+ // if(oldState == null){
202
+ // console.log('App is newly start :::')
203
+ // }})
204
+
205
+
206
+ return (// @ts-ignore
207
+ props.show && showWidget ? /*#__PURE__*/_react.default.createElement(_reactNativeDraggable.default, {
208
+ x: buttonXPosition,
209
+ y: buttonYPosition,
210
+ minX: (_props$minX = props.minX) !== null && _props$minX !== void 0 ? _props$minX : 5,
211
+ minY: (_props$minY = props.minY) !== null && _props$minY !== void 0 ? _props$minY : 5,
212
+ maxX: (_props$maxX = props.maxX) !== null && _props$maxX !== void 0 ? _props$maxX : windowWidth - 5,
213
+ maxY: (_props$maxY = props.maxY) !== null && _props$maxY !== void 0 ? _props$maxY : windowHeight - 5,
214
+ renderSize: 56 // shouldReverse = {true}
215
+ ,
216
+ onDragRelease: props.stick ? () => {} : null,
217
+ isCircle: true
218
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
219
+ onPress: deeplink != null ? async () => {
220
+ const supported = await _reactNative.Linking.canOpenURL(deeplink);
221
+ await _reactNative.Linking.openURL(deeplink);
222
+ } : props.onPress,
223
+ style: {
224
+ height: buttonSize,
225
+ width: buttonSize,
226
+ backgroundColor: backgroundColor,
227
+ borderRadius: buttonSize / 2,
228
+ justifyContent: 'center',
229
+ alignItems: 'center'
230
+ }
231
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
232
+ source: iconUrl,
233
+ style: {
234
+ height: buttonSize * 55 / 100,
235
+ width: buttonSize * 55 / 100
236
+ }
237
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
238
+ onPress: () => {
239
+ props.show = false;
240
+ setShowWidget(false);
241
+ console.log("SHOW PROPS :::");
242
+ console.log(props.show);
243
+ },
244
+ style: {
245
+ height: 20,
246
+ width: 20,
247
+ backgroundColor: "transparent",
248
+ position: 'absolute',
249
+ left: buttonSize - 11,
250
+ bottom: buttonSize * 72 / 100
251
+ }
252
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
253
+ source: require('./assets/images/xmark.png'),
254
+ style: {
255
+ height: 18,
256
+ width: 18,
257
+ tintColor: "black"
258
+ }
259
+ })))) : /*#__PURE__*/_react.default.createElement(_reactNative.View, null)
260
+ );
261
+ };
262
+
263
+ exports.FlyyFloatingWidget = FlyyFloatingWidget;
264
+
20
265
  const FlyyWidget = ({
21
266
  widgetStyle = {
22
267
  rewardsButtonIcon: require('./assets/images/rewardwidget.png'),
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["Flyy","NativeModules","FlyyWidget","widgetStyle","rewardsButtonIcon","require","offersButtonIcon","walletButtonIcon","rewardButtonTitle","offerButtonTitle","walletButtonTitle","buttonTitleFontFamily","buttonBorderWidth","buttonTitleTextSize","iconCornerRadius","buttonCornerRadius","buttonTitleTextColor","buttonBorderColor","containerBackgroundColor","buttonIconBackgroundColor","buttonBackgroundColor","buttonStyle","backgroundColor","height","flex","elevation","borderRadius","borderColor","borderWidth","width","flexDirection","justifyContent","alignItems","openOffersScreen","openRewardsScreen","openWalletScreen","FlyyCardView","cardStyle","buttonTitle","buttonIcon","alignSelf","flexShrink","color","fontSize","fontFamily","textAlign","paddingLeft","paddingRight"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Image,\n NativeModules,\n Text,\n TouchableOpacity,\n View,\n} from 'react-native';\n\ntype FlyyType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { Flyy } = NativeModules;\n\nexport default Flyy as FlyyType;\nexport const FlyyWidget = ({\n widgetStyle = {\n rewardsButtonIcon: require('./assets/images/rewardwidget.png'),\n offersButtonIcon: require('./assets/images/offerswidget.png'),\n walletButtonIcon: require('./assets/images/walletwidget.png'),\n rewardButtonTitle: 'Rewards',\n offerButtonTitle: 'Offers',\n walletButtonTitle: 'Wallet',\n buttonTitleFontFamily: 'Montserrat-Bold',\n buttonBorderWidth: 0.5,\n buttonTitleTextSize: 16.0,\n iconCornerRadius: 30.0,\n buttonCornerRadius: 15.0,\n buttonTitleTextColor: 'black',\n buttonBorderColor: 'white',\n containerBackgroundColor: '#ebedeb',\n buttonIconBackgroundColor: '#654EA3',\n buttonBackgroundColor: 'white',\n },\n}) => {\n const buttonStyle = {\n backgroundColor: widgetStyle.buttonBackgroundColor ?? 'white',\n height: 110,\n flex: 1,\n elevation: 1,\n borderRadius: widgetStyle.buttonCornerRadius ?? 15.0,\n borderColor: widgetStyle.buttonBorderColor ?? 'white',\n borderWidth: widgetStyle.buttonBorderWidth ?? 0.5,\n };\n return (\n <View\n style={{\n backgroundColor: widgetStyle.containerBackgroundColor ?? '#ebedeb',\n height: 160,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <View style={{ width: 20 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openOffersScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.offerButtonTitle ?? 'Offers'}\n buttonIcon={\n widgetStyle.offersButtonIcon ??\n require('./assets/images/offerswidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 15 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openRewardsScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.rewardButtonTitle ?? 'Rewards'}\n buttonIcon={\n widgetStyle.rewardsButtonIcon ??\n require('./assets/images/rewardwidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 15 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openWalletScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.walletButtonTitle ?? 'Wallet'}\n buttonIcon={\n widgetStyle.walletButtonIcon ??\n require('./assets/images/walletwidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 20 }} />\n </View>\n );\n};\n\n// @ts-ignore\nconst FlyyCardView = ({ cardStyle, buttonTitle, buttonIcon }) => {\n return (\n <View>\n <View style={{ height: 10 }} />\n <View\n style={{\n backgroundColor: cardStyle.buttonIconBackgroundColor ?? '#654EA3',\n height: 50,\n width: 50,\n borderRadius: cardStyle.iconCornerRadius ?? 30.0,\n alignSelf: 'center',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Image source={buttonIcon} style={{ height: 28, width: 28 }} />\n </View>\n <View style={{ height: 10 }} />\n <Text\n style={{\n alignSelf: 'center',\n flexShrink: 1,\n color: cardStyle.buttonTitleTextColor ?? 'black',\n fontSize:\n cardStyle.buttonTitleTextSize != null\n ? cardStyle.buttonTitleTextSize < 30\n ? cardStyle.buttonTitleTextSize\n : 30\n : 16,\n fontFamily: cardStyle.buttonTitleFontFamily ?? 'Montserrat-Bold',\n textAlign: 'center',\n paddingLeft: 5,\n paddingRight: 5,\n }}\n numberOfLines={1}\n >\n {buttonTitle}\n </Text>\n <View style={{ height: 10 }} />\n </View>\n );\n};\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["Flyy","NativeModules","FlyyCheckinView","props","checkInBtnTextColor","checkInTitleColor","checkInDescriptionColor","checkInDaysColor","checkInEarnColor","fontFamily","windowHeight","Dimensions","get","height","windowWidth","width","FlyyFloatingWidget","backgroundColor","buttonHeight","buttonWidth","buttonCornerRadius","buttonIcon","require","onPress","x","y","minX","minY","maxX","maxY","show","stick","startDate","endDate","showWidget","setShowWidget","userData","setUserData","iconUrl","setIconUrl","setBackgroundColor","buttonSize","setButtonSize","buttonXPosition","setButtonXPosition","buttonYPosition","setButtonYPosition","deeplink","setDeeplink","flyyConfigDate","oldState","currentState","data","fetchData","sdkInfo","getUserData","appData","getAppData","resp","fetch","headers","json","widgetConfig","info","floating_widget_configuration","icon_url","uri","color","size","parseInt","position","currentDate","Date","getDate","AsyncStorage","getItem","date","diffTime","Math","abs","diffDays","ceil","getAppOccurence","occurrenceCount","show_to_user","num_times","setItem","JSON","stringify","getTime","getDate2","num_days","supported","Linking","canOpenURL","openURL","borderRadius","justifyContent","alignItems","console","log","left","bottom","tintColor","FlyyWidget","widgetStyle","rewardsButtonIcon","offersButtonIcon","walletButtonIcon","rewardButtonTitle","offerButtonTitle","walletButtonTitle","buttonTitleFontFamily","buttonBorderWidth","buttonTitleTextSize","iconCornerRadius","buttonTitleTextColor","buttonBorderColor","containerBackgroundColor","buttonIconBackgroundColor","buttonBackgroundColor","buttonStyle","flex","elevation","borderColor","borderWidth","flexDirection","openOffersScreen","openRewardsScreen","openWalletScreen","FlyyCardView","cardStyle","buttonTitle","alignSelf","flexShrink","fontSize","textAlign","paddingLeft","paddingRight"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React, { useEffect, useState } from 'react';\nimport {\n Image,\n NativeModules,\n Text,\n TouchableOpacity,\n View,\n Dimensions,\n AppState,\n Linking\n} from 'react-native';\nimport Draggable from 'react-native-draggable';\nimport FlyyCheckinComponent from './flyy_checkin_view';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\ntype FlyyType = {\n getUserId(arg0: (data: any) => void): unknown;\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { Flyy } = NativeModules;\n\nexport default Flyy as FlyyType;\n\n// ****** Flyy CheckinView Widget ******\nexport const FlyyCheckinView = (props: any) => {\n return (<FlyyCheckinComponent style={{\n checkInBtnTextColor: props.checkInBtnTextColor,\n checkInTitleColor: props.checkInTitleColor,\n checkInDescriptionColor: props.checkInDescriptionColor,\n checkInDaysColor: props.checkInDaysColor,\n checkInEarnColor: props.checkInEarnColor,\n fontFamily: props.fontFamily\n }} />)\n}\nconst windowHeight = Dimensions.get('window').height;\nconst windowWidth = Dimensions.get('window').width;\n\n// ****** Flyy Floating Widget ******\nexport const FlyyFloatingWidget = ({\n props = {\n backgroundColor: \"#654EA3\",\n buttonHeight: 55,\n buttonWidth: 55,\n buttonCornerRadius: 40,\n buttonIcon: require('./assets/images/rewardwidget.png'),\n onPress: () => { },\n x: windowWidth - 75,\n y: windowHeight - 100,\n minX: 5,\n minY: 5,\n maxX: windowWidth - 5,\n maxY: windowHeight - 5,\n show: true,\n stick: false,\n startDate: 0,\n endDate: 0\n } }) => {\n\n const [showWidget,setShowWidget] = useState(false);\n const [userData,setUserData] = useState({});\n const [iconUrl,setIconUrl] = useState(require('./assets/images/rewardwidget.png'));\n const [backgroundColor,setBackgroundColor] = useState(\"#654EA3\");\n const [buttonSize,setButtonSize] = useState(55); \n const [buttonXPosition,setButtonXPosition] = useState(windowWidth - 75);\n const [buttonYPosition,setButtonYPosition] = useState(windowHeight - 100);\n const [deeplink,setDeeplink] = useState(null);\n const flyyConfigDate = \"flyy_config_date\";\n var oldState = null;\n var currentState = null;\n var data = null;\n\n useEffect(()=>{\n fetchData();\n },[]);\n\n const fetchData = async() => {\n const sdkInfo = await Flyy.getUserData();\n const appData = await Flyy.getAppData();\n const resp = await fetch(`https://${sdkInfo[\"environment\"] == 0 ? \"ghc-stage\" : \"ghc\"}.theflyy.com/api/v8/flyy_app_info`, {\n headers: {\n \"X-Key\": sdkInfo[\"partner_id\"],\n \"Content-Type\": \"application/json\",\n \"X-App-Data\": appData\n }\n });\n data = await resp.json();\n const widgetConfig = data.info.floating_widget_configuration;\n\n if (widgetConfig.icon_url != null && widgetConfig.icon_url != '') {\n setIconUrl({ uri: widgetConfig.icon_url })\n } else {\n setIconUrl(props.buttonIcon)\n }\n\n if (widgetConfig.color != null && widgetConfig.color != '') {\n setBackgroundColor(widgetConfig.color)\n } else {\n setBackgroundColor(props.backgroundColor)\n }\n\n if (widgetConfig.size != null && widgetConfig.color != 0) {\n setButtonSize(parseInt(data.info.floating_widget_configuration.size))\n } else {\n setButtonSize(props.buttonHeight)\n }\n\n //FloatingButton Position \n if (widgetConfig.position == \"bottom_left\") {\n setButtonXPosition(10)\n } else if (widgetConfig.position == \"bottom_right\") {\n setButtonXPosition(windowWidth - 75)\n } else if (widgetConfig.position == \"upper_left\") {\n setButtonXPosition(10)\n setButtonYPosition(10)\n } else if (widgetConfig.position == \"upper_right\") {\n setButtonXPosition(windowWidth - 75)\n setButtonYPosition(10)\n }\n\n //Set DeepLink \n if (widgetConfig.deeplink != null && widgetConfig.deeplink != \"\") {\n setDeeplink(widgetConfig.deeplink)\n }\n //Set Visibility of FloatingButton\n var currentDate = new Date();\n const getDate = await AsyncStorage.getItem(flyyConfigDate);\n var date = new Date(parseInt(getDate));\n const diffTime = Math.abs(getDate - currentDate);\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))-1; \n if(diffDays != 0){\n var data = await Flyy.getAppOccurence(1);\n }\n const occurrenceCount = await Flyy.getAppOccurence(0);\n if (widgetConfig.show_to_user && occurrenceCount <= widgetConfig.num_times) {\n // var numberOfDaysToAdd = widgetConfig.num_days+1;\n // var result = currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd);\n if(getDate === null){\n await AsyncStorage.setItem(\n flyyConfigDate,\n JSON.stringify(currentDate.getTime())\n );\n }\n const getDate2 = await AsyncStorage.getItem(flyyConfigDate);\n var date = new Date(parseInt(getDate2));\n const diffTime = Math.abs(getDate2 - currentDate);\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))-1;\n //Show widget on same day\n if(diffDays === 0){\n setShowWidget(true)\n }else{\n //reset occurrence on next day\n await Flyy.getAppOccurence(1);\n if(diffDays >= widgetConfig.num_days+1){\n await AsyncStorage.setItem(\n flyyConfigDate,\n JSON.stringify(currentDate.getTime())\n );\n setShowWidget(true)\n }\n }\n }else{\n const getDate2 = await AsyncStorage.getItem(flyyConfigDate);\n var date = new Date(parseInt(getDate2));\n const diffTime = Math.abs(getDate2 - currentDate);\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); \n if(diffDays != 1){\n var data = await Flyy.getAppOccurence(1);\n }\n }\n }\n\n // if(props.show){\n // if(props.startDate != null && props.startDate != 0){\n // var now = new Date().getTime();\n // if(now >= props.startDate && now <= props.endDate){\n // props.show = true\n // }else{\n // props.show = false\n // }\n // }\n // }\n\n // AppState.addEventListener('change', state =>{\n // console.log('AppState updated to', AppState.currentState) \n // oldState = currentState;\n // currentState = state;\n // if(oldState == null){\n // console.log('App is newly start :::') \n // }})\n\n return (\n // @ts-ignore\n props.show && showWidget? <Draggable x={buttonXPosition}\n y={buttonYPosition}\n minX={props.minX ?? 5}\n minY={props.minY ?? 5}\n maxX={props.maxX ?? windowWidth - 5}\n maxY={props.maxY ?? windowHeight - 5}\n renderSize={56}\n // shouldReverse = {true}\n onDragRelease={props.stick ? () => {\n\n } : null} isCircle>\n <TouchableOpacity\n onPress={deeplink != null ? async()=>{\n const supported = await Linking.canOpenURL(deeplink);\n await Linking.openURL(deeplink);\n }:props.onPress}\n style={{\n height: buttonSize,\n width: buttonSize,\n backgroundColor: backgroundColor,\n borderRadius: buttonSize/2,\n justifyContent: 'center',\n alignItems: 'center',\n }}>\n <Image source={iconUrl} style={{ height: buttonSize*55/100, width: buttonSize*55/100 }} />\n <TouchableOpacity \n onPress={()=>{ \n props.show = false;\n setShowWidget(false);\n console.log(\"SHOW PROPS :::\");\n console.log(props.show);\n }}\n style = {{height: 20, width: 20, backgroundColor: \"transparent\",position:'absolute',left:buttonSize-11, bottom: buttonSize*72/100}}>\n <Image source={require('./assets/images/xmark.png')} style={{ height: 18, width: 18, tintColor: \"black\"}} />\n </TouchableOpacity>\n </TouchableOpacity>\n </Draggable> : <View/> \n );\n}\n\nexport const FlyyWidget = ({\n widgetStyle = {\n rewardsButtonIcon: require('./assets/images/rewardwidget.png'),\n offersButtonIcon: require('./assets/images/offerswidget.png'),\n walletButtonIcon: require('./assets/images/walletwidget.png'),\n rewardButtonTitle: 'Rewards',\n offerButtonTitle: 'Offers',\n walletButtonTitle: 'Wallet',\n buttonTitleFontFamily: 'Montserrat-Bold',\n buttonBorderWidth: 0.5,\n buttonTitleTextSize: 16.0,\n iconCornerRadius: 30.0,\n buttonCornerRadius: 15.0,\n buttonTitleTextColor: 'black',\n buttonBorderColor: 'white',\n containerBackgroundColor: '#ebedeb',\n buttonIconBackgroundColor: '#654EA3',\n buttonBackgroundColor: 'white',\n },\n}) => {\n const buttonStyle = {\n backgroundColor: widgetStyle.buttonBackgroundColor ?? 'white',\n height: 110,\n flex: 1,\n elevation: 1,\n borderRadius: widgetStyle.buttonCornerRadius ?? 15.0,\n borderColor: widgetStyle.buttonBorderColor ?? 'white',\n borderWidth: widgetStyle.buttonBorderWidth ?? 0.5,\n };\n return (\n <View\n style={{\n backgroundColor: widgetStyle.containerBackgroundColor ?? '#ebedeb',\n height: 160,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <View style={{ width: 20 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openOffersScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.offerButtonTitle ?? 'Offers'}\n buttonIcon={\n widgetStyle.offersButtonIcon ??\n require('./assets/images/offerswidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 15 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openRewardsScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.rewardButtonTitle ?? 'Rewards'}\n buttonIcon={\n widgetStyle.rewardsButtonIcon ??\n require('./assets/images/rewardwidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 15 }} />\n <TouchableOpacity\n onPress={() => {\n Flyy.openWalletScreen();\n }}\n style={buttonStyle}\n >\n <FlyyCardView\n cardStyle={widgetStyle}\n buttonTitle={widgetStyle.walletButtonTitle ?? 'Wallet'}\n buttonIcon={\n widgetStyle.walletButtonIcon ??\n require('./assets/images/walletwidget.png')\n }\n />\n </TouchableOpacity>\n <View style={{ width: 20 }} />\n </View>\n );\n};\n\n// @ts-ignore\nconst FlyyCardView = ({ cardStyle, buttonTitle, buttonIcon }) => {\n return (\n <View>\n <View style={{ height: 10 }} />\n <View\n style={{\n backgroundColor: cardStyle.buttonIconBackgroundColor ?? '#654EA3',\n height: 50,\n width: 50,\n borderRadius: cardStyle.iconCornerRadius ?? 30.0,\n alignSelf: 'center',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Image source={buttonIcon} style={{ height: 28, width: 28 }} />\n </View>\n <View style={{ height: 10 }} />\n <Text\n style={{\n alignSelf: 'center',\n flexShrink: 1,\n color: cardStyle.buttonTitleTextColor ?? 'black',\n fontSize:\n cardStyle.buttonTitleTextSize != null\n ? cardStyle.buttonTitleTextSize < 30\n ? cardStyle.buttonTitleTextSize\n : 30\n : 16,\n fontFamily: cardStyle.buttonTitleFontFamily ?? 'Montserrat-Bold',\n textAlign: 'center',\n paddingLeft: 5,\n paddingRight: 5,\n }}\n numberOfLines={1}\n >\n {buttonTitle}\n </Text>\n <View style={{ height: 10 }} />\n </View>\n );\n};\n"]}