@customerglu/react-native-customerglu 2.1.2-1.0-beta → 3.0.0-beta-1.1

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 (85) hide show
  1. package/LICENSE +20 -15
  2. package/README.md +2 -2
  3. package/ReactNativeCustomerglu.podspec +47 -0
  4. package/android/build.gradle +78 -33
  5. package/android/generated/java/com/customerglu/reactnativecustomerglu/NativeReactNativeCustomergluSpec.java +144 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNCustomergluSpec-generated.cpp +188 -0
  8. package/android/generated/jni/RNCustomergluSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNCustomergluSpec/RNCustomergluSpecJSI-generated.cpp +237 -0
  10. package/android/generated/jni/react/renderer/components/RNCustomergluSpec/RNCustomergluSpecJSI.h +305 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/src/main/AndroidManifest.xml +1 -6
  13. package/android/src/main/AndroidManifestNew.xml +2 -0
  14. package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerView.kt +76 -0
  15. package/android/src/main/java/com/customerglu/reactnativecustomerglu/BannerViewManager.kt +19 -0
  16. package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededView.kt +102 -0
  17. package/android/src/main/java/com/customerglu/reactnativecustomerglu/CGEmbededViewManager.kt +18 -0
  18. package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluModule.kt +698 -0
  19. package/android/src/main/java/com/customerglu/reactnativecustomerglu/RnCustomergluPackage.kt +41 -0
  20. package/ios/IosBannerView.h +16 -0
  21. package/ios/IosBannerView.mm +126 -0
  22. package/ios/IosBannerViewManager.mm +24 -0
  23. package/ios/ReactNativeCustomerglu-Bridging-Header.h +19 -0
  24. package/ios/Rncustomerglu.h +9 -0
  25. package/ios/Rncustomerglu.mm +499 -0
  26. package/ios/generated/RNCustomergluSpec/RNCustomergluSpec-generated.mm +221 -0
  27. package/ios/generated/RNCustomergluSpec/RNCustomergluSpec.h +106 -0
  28. package/ios/generated/RNCustomergluSpecJSI-generated.cpp +237 -0
  29. package/ios/generated/RNCustomergluSpecJSI.h +305 -0
  30. package/lib/commonjs/NativeReactNativeCustomerglu.js +9 -0
  31. package/lib/commonjs/NativeReactNativeCustomerglu.js.map +1 -0
  32. package/lib/commonjs/index.js +30 -193
  33. package/lib/commonjs/index.js.map +1 -1
  34. package/lib/module/NativeReactNativeCustomerglu.js +5 -0
  35. package/lib/module/NativeReactNativeCustomerglu.js.map +1 -0
  36. package/lib/module/index.js +32 -166
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/typescript/commonjs/package.json +1 -0
  39. package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts +33 -0
  40. package/lib/typescript/commonjs/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/src/index.d.ts +35 -0
  42. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  43. package/lib/typescript/module/package.json +1 -0
  44. package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts +33 -0
  45. package/lib/typescript/module/src/NativeReactNativeCustomerglu.d.ts.map +1 -0
  46. package/lib/typescript/module/src/index.d.ts +35 -0
  47. package/lib/typescript/module/src/index.d.ts.map +1 -0
  48. package/package.json +91 -45
  49. package/react-native.config.js +12 -0
  50. package/src/NativeReactNativeCustomerglu.ts +36 -0
  51. package/src/index.tsx +76 -216
  52. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  53. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  54. package/android/gradlew +0 -185
  55. package/android/gradlew.bat +0 -89
  56. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/BannerWidgetViewGroupManager.java +0 -40
  57. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/Bannerwidget/bannerWidget.java +0 -43
  58. package/android/src/main/java/com/reactnativerncustomerglu/Bannerwidget/wrapperview/WrapperView.java +0 -61
  59. package/android/src/main/java/com/reactnativerncustomerglu/CGUtils.java +0 -13
  60. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EWrapperview/EWrapperView.java +0 -61
  61. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidget.java +0 -35
  62. package/android/src/main/java/com/reactnativerncustomerglu/EmbedBannerwidget/EmbedBannerwidget/EBannerWidgetVGManager.java +0 -40
  63. package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluModule.java +0 -1033
  64. package/android/src/main/java/com/reactnativerncustomerglu/RncustomergluPackage.java +0 -35
  65. package/android/src/main/res/drawable/bottom_sheet_edges.xml +0 -7
  66. package/android/src/main/res/drawable/floating_close_layout.xml +0 -10
  67. package/android/src/main/res/drawable/ic_arrow_back.xml +0 -5
  68. package/android/src/main/res/drawable/ic_back.xml +0 -10
  69. package/android/src/main/res/drawable/ic_delete_bin.xml +0 -5
  70. package/android/src/main/res/drawable/ic_delete_bin_red.xml +0 -5
  71. package/android/src/main/res/drawable/ij.png +0 -0
  72. package/android/src/main/res/drawable/notification.png +0 -0
  73. package/android/src/main/res/drawable/progress_bg.xml +0 -33
  74. package/android/src/main/res/values/colors.xml +0 -13
  75. package/android/src/main/res/values/themes.xml +0 -15
  76. package/android/src/main/res/xml/provider_path.xml +0 -4
  77. package/ios/CustomPlayer.m +0 -30
  78. package/ios/Rncustomerglu-Bridging-Header.h +0 -4
  79. package/ios/Rncustomerglu.m +0 -83
  80. package/ios/Rncustomerglu.swift +0 -647
  81. package/ios/Rncustomerglu.xcodeproj/project.pbxproj +0 -293
  82. package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  83. package/ios/Rncustomerglu.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  84. package/lib/typescript/index.d.ts +0 -62
  85. package/react-native-customerglu.podspec +0 -23
@@ -0,0 +1,102 @@
1
+ package com.customerglu.reactnativecustomerglu
2
+
3
+ import android.widget.FrameLayout
4
+ import android.view.MotionEvent
5
+ import android.webkit.WebView
6
+ import com.customerglu.sdk.entrypoints.CGEmbedView
7
+ import com.facebook.react.uimanager.ThemedReactContext
8
+
9
+
10
+ class CGEmbededView(private val context: ThemedReactContext) : FrameLayout(context) {
11
+ private var banner: CGEmbedView? = null
12
+
13
+ override fun requestLayout() {
14
+ super.requestLayout()
15
+ post(measureAndLayout)
16
+ }
17
+
18
+ private val measureAndLayout = Runnable {
19
+ measure(
20
+ MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
21
+ MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
22
+ )
23
+ layout(left, top, right, bottom)
24
+ }
25
+
26
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
27
+ var maxWidth = 0
28
+ var maxHeight = 0
29
+
30
+ for (i in 0 until childCount) {
31
+ getChildAt(i)?.let { child ->
32
+ if (child.visibility != GONE) {
33
+ measureChild(child, widthMeasureSpec, MeasureSpec.UNSPECIFIED)
34
+ maxWidth = maxWidth.coerceAtLeast(child.measuredWidth)
35
+ maxHeight = maxHeight.coerceAtLeast(child.measuredHeight)
36
+ }
37
+ }
38
+ }
39
+
40
+ setMeasuredDimension(
41
+ maxWidth.coerceAtLeast(suggestedMinimumWidth),
42
+ maxHeight.coerceAtLeast(suggestedMinimumHeight)
43
+ )
44
+ }
45
+
46
+ // override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
47
+ // return false // Allow WebView to handle touch events properly
48
+ // }
49
+ // override fun onTouchEvent(event: MotionEvent?): Boolean {
50
+ // return banner?.dispatchTouchEvent(event) ?: super.onTouchEvent(event)
51
+ // }
52
+ fun setBannerId(id: String) {
53
+ try {
54
+ context.currentActivity?.let { activity ->
55
+ removeAllViews()
56
+
57
+ try {
58
+ banner = CGEmbedView(activity, id)
59
+ banner?.let { addView(it) }
60
+ // banner?.let { embedView ->
61
+ // (embedView.getChildAt(0) as? WebView)?.apply {
62
+ // settings.domStorageEnabled = true
63
+ // settings.javaScriptEnabled = true
64
+ // settings.setSupportZoom(true)
65
+ // settings.builtInZoomControls = true
66
+ // settings.displayZoomControls = false
67
+ //
68
+ // setOnTouchListener(null) // Ensure WebView handles its own touch events
69
+ //
70
+ // isClickable = true
71
+ // isFocusable = true
72
+ // isVerticalScrollBarEnabled = true
73
+ // isHorizontalScrollBarEnabled = true
74
+ // overScrollMode = OVER_SCROLL_NEVER
75
+ // }
76
+ // addView(embedView)
77
+ // }
78
+ } catch (e: Exception) {
79
+ android.util.Log.e("CGEmbedView", "Error creating Banner: ${e.message}")
80
+ e.printStackTrace()
81
+
82
+ val errorView = android.widget.TextView(context).apply {
83
+ text = "Banner initialization failed. Please ensure SDK is initialized."
84
+ layoutParams = android.widget.FrameLayout.LayoutParams(
85
+ android.widget.FrameLayout.LayoutParams.WRAP_CONTENT,
86
+ android.widget.FrameLayout.LayoutParams.WRAP_CONTENT
87
+ ).apply {
88
+ gravity = android.view.Gravity.CENTER
89
+ }
90
+ setTextColor(android.graphics.Color.RED)
91
+ }
92
+ addView(errorView)
93
+ }
94
+ }
95
+ } catch (e: Exception) {
96
+ android.util.Log.e("CGEmbedView", "Error in setBannerId: ${e.message}")
97
+ e.printStackTrace()
98
+ }
99
+ }
100
+ }
101
+
102
+
@@ -0,0 +1,18 @@
1
+ package com.customerglu.reactnativecustomerglu
2
+
3
+ import com.facebook.react.uimanager.SimpleViewManager
4
+ import com.facebook.react.uimanager.ThemedReactContext
5
+ import com.facebook.react.uimanager.annotations.ReactProp
6
+
7
+ class CGEmbededViewManager: SimpleViewManager<CGEmbededView>() {
8
+ override fun getName(): String = "CGEmbedView"
9
+
10
+ override fun createViewInstance(reactContext: ThemedReactContext): CGEmbededView {
11
+ return CGEmbededView(reactContext)
12
+ }
13
+
14
+ @ReactProp(name = "embedId")
15
+ fun setBannerId(view: CGEmbededView, bannerId: String?) {
16
+ bannerId?.let { view.setBannerId(it) }
17
+ }
18
+ }