react-native-moengage-cards 2.0.1 → 3.0.0

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.
@@ -19,7 +19,8 @@ Pod::Spec.new do |s|
19
19
  s.source_files = "ios/**/*.{h,m,mm,swift}"
20
20
  s.dependency 'React'
21
21
 
22
- #Note update dependency
23
- s.dependency 'MoEngagePluginCards','>= 1.4.0','< 1.5.0'
22
+ s.dependency 'MoEngagePluginCards','>= 1.5.0','< 1.6.0'
23
+ install_modules_dependencies(s)
24
+
24
25
  end
25
26
 
@@ -14,9 +14,17 @@ buildscript {
14
14
  }
15
15
  }
16
16
 
17
+ ext {
18
+ //dependency version
19
+ moengageCoreVersion = "13.00.03"
20
+ moengageCardsCoreVersion = "2.0.2"
21
+ pluginBaseCardVersion = "2.0.0"
22
+ }
23
+
17
24
  apply plugin: 'com.android.library'
18
25
  apply plugin: 'kotlin-android'
19
26
  apply plugin: "org.jlleitschuh.gradle.ktlint"
27
+ apply plugin: 'com.facebook.react'
20
28
 
21
29
  android {
22
30
  compileSdk 33
@@ -25,6 +33,8 @@ android {
25
33
  minSdk 21
26
34
  versionCode 1
27
35
  versionName "1.0"
36
+
37
+ buildConfigField("boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString())
28
38
  }
29
39
 
30
40
  buildTypes {
@@ -43,6 +53,18 @@ android {
43
53
  kotlinOptions {
44
54
  freeCompilerArgs = ['-Xjvm-default=all']
45
55
  }
56
+ buildFeatures {
57
+ buildConfig true
58
+ }
59
+ sourceSets {
60
+ main {
61
+ if (isNewArchitectureEnabled()) {
62
+ java.srcDirs += ['src/newarch']
63
+ } else {
64
+ java.srcDirs += ['src/oldarch']
65
+ }
66
+ }
67
+ }
46
68
  }
47
69
 
48
70
  repositories {
@@ -53,9 +75,13 @@ repositories {
53
75
 
54
76
  dependencies {
55
77
  // noinspection GradleDynamicVersion
56
- compileOnly 'com.facebook.react:react-native:+'
78
+ compileOnly('com.facebook.react:react-native')
57
79
  compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
58
- compileOnly("com.moengage:moe-android-sdk:13.00.01")
59
- compileOnly("com.moengage:cards-core:2.0.1")
60
- implementation("com.moengage:plugin-base-cards:2.0.0")
80
+ compileOnly("com.moengage:moe-android-sdk:$moengageCoreVersion")
81
+ api("com.moengage:cards-core:$moengageCardsCoreVersion")
82
+ implementation("com.moengage:plugin-base-cards:$pluginBaseCardVersion")
61
83
  }
84
+
85
+ def isNewArchitectureEnabled() {
86
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
87
+ }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2014-2023 MoEngage Inc.
2
+ * Copyright (c) 2014-2024 MoEngage Inc.
3
3
  *
4
4
  * All rights reserved.
5
5
  *
@@ -10,14 +10,12 @@
10
10
  *
11
11
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
12
12
  */
13
-
13
+
14
14
  package com.moengage.react.cards
15
15
 
16
16
  import android.content.Context
17
17
  import com.facebook.react.bridge.Promise
18
18
  import com.facebook.react.bridge.ReactApplicationContext
19
- import com.facebook.react.bridge.ReactContextBaseJavaModule
20
- import com.facebook.react.bridge.ReactMethod
21
19
  import com.moengage.core.LogLevel
22
20
  import com.moengage.core.internal.logger.Logger
23
21
  import com.moengage.plugin.base.cards.CardsPluginHelper
@@ -26,34 +24,20 @@ import com.moengage.plugin.base.cards.internal.setCardsEventEmitter
26
24
  import org.json.JSONObject
27
25
 
28
26
  /**
29
- * Bridge to communicate with React-Native Cards Plugin
27
+ * Class to handle all the request from the [MoEngageCardsBridge] from both old and new arch
30
28
  *
31
29
  * @author Abhishek Kumar
32
- * @since 1.0.0
30
+ * @since Todo: Add Version
33
31
  */
34
- class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
35
- ReactContextBaseJavaModule(reactContext) {
32
+ internal class MoEngageCardsBridgeHandler(private val reactContext: ReactApplicationContext) {
36
33
 
37
- private val tag = "${MODULE_TAG}MoEngageCardsBridge"
34
+ private val tag = "${MODULE_TAG}MoEngageCardsBridgeHandler"
38
35
 
39
36
  private val context: Context = reactContext.applicationContext
40
37
  private val cardsPluginHelper = CardsPluginHelper()
41
38
 
42
- override fun getName(): String {
43
- return "MoEngageCardsBridge"
44
- }
45
-
46
- @ReactMethod
47
- fun addListener(eventName: String) {
48
- // Keep: Required for RN built in Event Emitter Calls.
49
- }
50
-
51
- @ReactMethod
52
- fun removeListeners(count: Int) {
53
- // Keep: Required for RN built in Event Emitter Calls.
54
- }
55
-
56
- @ReactMethod
39
+ fun getName() = NAME
40
+
57
41
  fun initialize(payload: String) {
58
42
  try {
59
43
  Logger.print { "$tag initialize() : $payload" }
@@ -64,7 +48,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
64
48
  }
65
49
  }
66
50
 
67
- @ReactMethod
68
51
  fun refreshCards(payload: String) {
69
52
  try {
70
53
  Logger.print { "$tag refreshCards() : $payload" }
@@ -74,7 +57,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
74
57
  }
75
58
  }
76
59
 
77
- @ReactMethod
78
60
  fun onCardSectionLoaded(payload: String) {
79
61
  try {
80
62
  Logger.print { "$tag onCardSectionLoaded() : $payload" }
@@ -84,7 +66,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
84
66
  }
85
67
  }
86
68
 
87
- @ReactMethod
88
69
  fun onCardSectionUnLoaded(payload: String) {
89
70
  try {
90
71
  Logger.print { "$tag onCardSectionUnLoaded() : $payload" }
@@ -93,8 +74,7 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
93
74
  Logger.print(LogLevel.ERROR, t) { "$tag onCardSectionUnLoaded() : " }
94
75
  }
95
76
  }
96
-
97
- @ReactMethod
77
+
98
78
  fun getCardsCategories(payload: String, promise: Promise) {
99
79
  try {
100
80
  Logger.print { "$tag getCardsCategories() : $payload" }
@@ -105,8 +85,7 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
105
85
  promise.reject(t)
106
86
  }
107
87
  }
108
-
109
- @ReactMethod
88
+
110
89
  fun getCardsInfo(payload: String, promise: Promise) {
111
90
  try {
112
91
  Logger.print { "$tag getCardsInfo() : $payload" }
@@ -118,7 +97,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
118
97
  }
119
98
  }
120
99
 
121
- @ReactMethod
122
100
  fun cardClicked(payload: String) {
123
101
  try {
124
102
  Logger.print { "$tag cardClicked() : $payload" }
@@ -128,7 +106,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
128
106
  }
129
107
  }
130
108
 
131
- @ReactMethod
132
109
  fun cardDelivered(payload: String) {
133
110
  try {
134
111
  Logger.print { "$tag cardDelivered() : $payload" }
@@ -138,7 +115,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
138
115
  }
139
116
  }
140
117
 
141
- @ReactMethod
142
118
  fun cardShown(payload: String) {
143
119
  try {
144
120
  Logger.print { "$tag cardShown() : $payload" }
@@ -147,8 +123,7 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
147
123
  Logger.print(LogLevel.ERROR, t) { "$tag cardShown() : " }
148
124
  }
149
125
  }
150
-
151
- @ReactMethod
126
+
152
127
  fun getCardsForCategory(payload: String, promise: Promise) {
153
128
  try {
154
129
  Logger.print { "$tag getCardsForCategory() : $payload" }
@@ -160,7 +135,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
160
135
  }
161
136
  }
162
137
 
163
- @ReactMethod
164
138
  fun deleteCards(payload: String) {
165
139
  try {
166
140
  Logger.print { "$tag deleteCards() : $payload" }
@@ -170,7 +144,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
170
144
  }
171
145
  }
172
146
 
173
- @ReactMethod
174
147
  fun isAllCategoryEnabled(payload: String, promise: Promise) {
175
148
  try {
176
149
  Logger.print { "$tag isAllCategoryEnabled() : $payload" }
@@ -181,8 +154,7 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
181
154
  promise.reject(t)
182
155
  }
183
156
  }
184
-
185
- @ReactMethod
157
+
186
158
  fun getNewCardsCount(payload: String, promise: Promise) {
187
159
  try {
188
160
  Logger.print { "$tag getNewCardsCount() : $payload" }
@@ -194,7 +166,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
194
166
  }
195
167
  }
196
168
 
197
- @ReactMethod
198
169
  fun getUnClickedCardsCount(payload: String, promise: Promise) {
199
170
  try {
200
171
  Logger.print { "$tag getUnClickedCardsCount() : $payload" }
@@ -206,7 +177,6 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
206
177
  }
207
178
  }
208
179
 
209
- @ReactMethod
210
180
  fun fetchCards(payload: String, promise: Promise) {
211
181
  try {
212
182
  Logger.print { "$tag fetchCards() : $payload" }
@@ -225,4 +195,8 @@ class MoEngageCardsBridge(private val reactContext: ReactApplicationContext) :
225
195
  promise.reject(t)
226
196
  }
227
197
  }
198
+
199
+ companion object {
200
+ const val NAME = "MoEngageCardsBridge"
201
+ }
228
202
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2014-2023 MoEngage Inc.
2
+ * Copyright (c) 2014-2024 MoEngage Inc.
3
3
  *
4
4
  * All rights reserved.
5
5
  *
@@ -13,10 +13,11 @@
13
13
 
14
14
  package com.moengage.react.cards
15
15
 
16
- import com.facebook.react.ReactPackage
16
+ import com.facebook.react.TurboReactPackage
17
17
  import com.facebook.react.bridge.NativeModule
18
18
  import com.facebook.react.bridge.ReactApplicationContext
19
- import com.facebook.react.uimanager.ViewManager
19
+ import com.facebook.react.module.model.ReactModuleInfo
20
+ import com.facebook.react.module.model.ReactModuleInfoProvider
20
21
 
21
22
  /**
22
23
  * MoEngage Card Plugin React-Native Package
@@ -24,12 +25,29 @@ import com.facebook.react.uimanager.ViewManager
24
25
  * @author Abhishek Kumar
25
26
  * @since 1.0.0
26
27
  */
27
- class MoEngageCardsPackage : ReactPackage {
28
- override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
29
- return listOf(MoEngageCardsBridge(reactContext))
28
+ class MoEngageCardsPackage : TurboReactPackage() {
29
+
30
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
31
+ return if (name == MoEngageCardsBridgeHandler.NAME) {
32
+ MoEngageCardsBridge(reactContext)
33
+ } else {
34
+ null
35
+ }
30
36
  }
31
37
 
32
- override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
33
- return emptyList()
38
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
39
+ return ReactModuleInfoProvider {
40
+ val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
41
+ val isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
42
+ moduleInfos[MoEngageCardsBridgeHandler.NAME] = ReactModuleInfo(
43
+ MoEngageCardsBridgeHandler.NAME,
44
+ MoEngageCardsBridgeHandler.NAME,
45
+ false, // canOverrideExistingModule
46
+ false, // needsEagerInit
47
+ false, // isCxxModule
48
+ isTurboModule // isTurboModule
49
+ )
50
+ moduleInfos
51
+ }
34
52
  }
35
53
  }
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Copyright (c) 2014-2024 MoEngage Inc.
3
+ *
4
+ * All rights reserved.
5
+ *
6
+ * Use of source code or binaries contained within MoEngage SDK is permitted only to enable use of the MoEngage platform by customers of MoEngage.
7
+ * Modification of source code and inclusion in mobile apps is explicitly allowed provided that all other conditions are met.
8
+ * Neither the name of MoEngage nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9
+ * Redistribution of source code or binaries is disallowed except with specific prior written permission. Any such redistribution must retain the above copyright notice, this list of conditions and the following disclaimer.
10
+ *
11
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
12
+ */
13
+
14
+ package com.moengage.react.cards
15
+
16
+ import com.facebook.react.bridge.Promise
17
+ import com.facebook.react.bridge.ReactApplicationContext
18
+
19
+ /**
20
+ * Bridge to communicate with React-Native Cards Plugin in new arch
21
+ *
22
+ * @author Abhishek Kumar
23
+ * @since Todo: Add Version
24
+ */
25
+ class MoEngageCardsBridge(reactContext: ReactApplicationContext) :
26
+ NativeMoEngageCardsSpec(reactContext) {
27
+
28
+ private val bridgeHandler = MoEngageCardsBridgeHandler(reactContext)
29
+
30
+ override fun getName() = bridgeHandler.getName()
31
+
32
+ override fun addListener(eventName: String) {
33
+ }
34
+
35
+ override fun removeListeners(count: Double) {
36
+ }
37
+
38
+ override fun initialize(payload: String) {
39
+ bridgeHandler.initialize(payload)
40
+ }
41
+
42
+ override fun refreshCards(payload: String) {
43
+ bridgeHandler.refreshCards(payload)
44
+ }
45
+
46
+ override fun onCardSectionLoaded(payload: String) {
47
+ bridgeHandler.onCardSectionLoaded(payload)
48
+ }
49
+
50
+ override fun onCardSectionUnLoaded(payload: String) {
51
+ bridgeHandler.onCardSectionUnLoaded(payload)
52
+ }
53
+
54
+ override fun getCardsCategories(payload: String, promise: Promise) {
55
+ bridgeHandler.getCardsCategories(payload, promise)
56
+ }
57
+
58
+ override fun getCardsInfo(payload: String, promise: Promise) {
59
+ bridgeHandler.getCardsInfo(payload, promise)
60
+ }
61
+
62
+ override fun cardClicked(payload: String) {
63
+ bridgeHandler.cardClicked(payload)
64
+ }
65
+
66
+ override fun cardDelivered(payload: String) {
67
+ bridgeHandler.cardDelivered(payload)
68
+ }
69
+
70
+ override fun cardShown(payload: String) {
71
+ bridgeHandler.cardShown(payload)
72
+ }
73
+
74
+ override fun getCardsForCategory(payload: String, promise: Promise) {
75
+ bridgeHandler.getCardsForCategory(payload, promise)
76
+ }
77
+
78
+ override fun deleteCards(payload: String) {
79
+ bridgeHandler.deleteCards(payload)
80
+ }
81
+
82
+ override fun isAllCategoryEnabled(payload: String, promise: Promise) {
83
+ bridgeHandler.isAllCategoryEnabled(payload, promise)
84
+ }
85
+
86
+ override fun getNewCardsCount(payload: String, promise: Promise) {
87
+ bridgeHandler.getNewCardsCount(payload, promise)
88
+ }
89
+
90
+ override fun getUnClickedCardsCount(payload: String, promise: Promise) {
91
+ bridgeHandler.getUnClickedCardsCount(payload, promise)
92
+ }
93
+
94
+ override fun fetchCards(payload: String, promise: Promise) {
95
+ bridgeHandler.fetchCards(payload, promise)
96
+ }
97
+ }
@@ -0,0 +1,126 @@
1
+ /*
2
+ * Copyright (c) 2014-2024 MoEngage Inc.
3
+ *
4
+ * All rights reserved.
5
+ *
6
+ * Use of source code or binaries contained within MoEngage SDK is permitted only to enable use of the MoEngage platform by customers of MoEngage.
7
+ * Modification of source code and inclusion in mobile apps is explicitly allowed provided that all other conditions are met.
8
+ * Neither the name of MoEngage nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9
+ * Redistribution of source code or binaries is disallowed except with specific prior written permission. Any such redistribution must retain the above copyright notice, this list of conditions and the following disclaimer.
10
+ *
11
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
12
+ */
13
+
14
+ package com.moengage.react.cards
15
+
16
+ import android.content.Context
17
+ import com.facebook.react.bridge.Promise
18
+ import com.facebook.react.bridge.ReactApplicationContext
19
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
20
+ import com.facebook.react.bridge.ReactMethod
21
+ import com.moengage.core.LogLevel
22
+ import com.moengage.core.internal.logger.Logger
23
+ import com.moengage.plugin.base.cards.CardsPluginHelper
24
+ import com.moengage.plugin.base.cards.internal.cardListToJson
25
+ import com.moengage.plugin.base.cards.internal.setCardsEventEmitter
26
+ import org.json.JSONObject
27
+
28
+ /**
29
+ * Bridge to communicate with React-Native Cards Plugin in old arch
30
+ *
31
+ * @author Abhishek Kumar
32
+ * @since Todo: Add Version
33
+ */
34
+ class MoEngageCardsBridge(
35
+ private val reactContext: ReactApplicationContext
36
+ ) : ReactContextBaseJavaModule(reactContext) {
37
+
38
+ private val bridgeHandler = MoEngageCardsBridgeHandler(reactContext)
39
+
40
+ override fun getName() = bridgeHandler.getName()
41
+
42
+ @ReactMethod
43
+ fun addListener(eventName: String) {
44
+ // Keep: Required for RN built in Event Emitter Calls.
45
+ }
46
+
47
+ @ReactMethod
48
+ fun removeListeners(count: Int) {
49
+ // Keep: Required for RN built in Event Emitter Calls.
50
+ }
51
+
52
+ @ReactMethod
53
+ fun initialize(payload: String) {
54
+ bridgeHandler.initialize(payload)
55
+ }
56
+
57
+ @ReactMethod
58
+ fun refreshCards(payload: String) {
59
+ bridgeHandler.refreshCards(payload)
60
+ }
61
+
62
+ @ReactMethod
63
+ fun onCardSectionLoaded(payload: String) {
64
+ bridgeHandler.onCardSectionLoaded(payload)
65
+ }
66
+
67
+ @ReactMethod
68
+ fun onCardSectionUnLoaded(payload: String) {
69
+ bridgeHandler.onCardSectionUnLoaded(payload)
70
+ }
71
+
72
+ @ReactMethod
73
+ fun getCardsCategories(payload: String, promise: Promise) {
74
+ bridgeHandler.getCardsCategories(payload, promise)
75
+ }
76
+
77
+ @ReactMethod
78
+ fun getCardsInfo(payload: String, promise: Promise) {
79
+ bridgeHandler.getCardsInfo(payload, promise)
80
+ }
81
+
82
+ @ReactMethod
83
+ fun cardClicked(payload: String) {
84
+ bridgeHandler.cardClicked(payload)
85
+ }
86
+
87
+ @ReactMethod
88
+ fun cardDelivered(payload: String) {
89
+ bridgeHandler.cardDelivered(payload)
90
+ }
91
+
92
+ @ReactMethod
93
+ fun cardShown(payload: String) {
94
+ bridgeHandler.cardShown(payload)
95
+ }
96
+
97
+ @ReactMethod
98
+ fun getCardsForCategory(payload: String, promise: Promise) {
99
+ bridgeHandler.getCardsForCategory(payload, promise)
100
+ }
101
+
102
+ @ReactMethod
103
+ fun deleteCards(payload: String) {
104
+ bridgeHandler.deleteCards(payload)
105
+ }
106
+
107
+ @ReactMethod
108
+ fun isAllCategoryEnabled(payload: String, promise: Promise) {
109
+ bridgeHandler.isAllCategoryEnabled(payload, promise)
110
+ }
111
+
112
+ @ReactMethod
113
+ fun getNewCardsCount(payload: String, promise: Promise) {
114
+ bridgeHandler.getNewCardsCount(payload, promise)
115
+ }
116
+
117
+ @ReactMethod
118
+ fun getUnClickedCardsCount(payload: String, promise: Promise) {
119
+ bridgeHandler.getUnClickedCardsCount(payload, promise)
120
+ }
121
+
122
+ @ReactMethod
123
+ fun fetchCards(payload: String, promise: Promise) {
124
+ bridgeHandler.fetchCards(payload, promise)
125
+ }
126
+ }
@@ -0,0 +1,34 @@
1
+ //
2
+ // MoEReactNativeCardsHandler.h
3
+ // Pods
4
+ //
5
+ // Created by Rakshitha on 15/03/24.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <UIKit/UIKit.h>
10
+ #import <React/RCTEventEmitter.h>
11
+
12
+ @interface MoEReactNativeCardsHandler : NSObject
13
+ +(instancetype)sharedInstance;
14
+
15
+ @property (nonatomic, weak) RCTEventEmitter *eventEmitter;
16
+
17
+ -(void)initialize:(NSString*)payload;
18
+
19
+ -(void)isAllCategoryEnabled:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
20
+ -(void)getCardsCategories:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
21
+ -(void)getCardsInfo:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
22
+ -(void)getCardsForCategory:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
23
+ -(void)fetchCards:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
24
+ -(void)getNewCardsCount:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
25
+ -(void)getUnClickedCardsCount:(NSString *) payload resolve:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject;
26
+
27
+ -(void)refreshCards:(NSString *) payload;
28
+ -(void)onCardSectionLoaded:(NSString *) payload;
29
+ -(void)onCardSectionUnLoaded:(NSString *) payload;
30
+ -(void)cardClicked:(NSString *) payload;
31
+ -(void)cardDelivered:(NSString *) payload;
32
+ -(void)cardShown:(NSString *) payload;
33
+ -(void)deleteCards:(NSString *) payload;
34
+ @end