@umituz/react-native-subscription 2.2.24 → 2.2.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-subscription",
3
- "version": "2.2.24",
3
+ "version": "2.2.26",
4
4
  "description": "Complete subscription management with RevenueCat, paywall UI, and credits system for React Native apps",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -63,4 +63,4 @@
63
63
  "README.md",
64
64
  "LICENSE"
65
65
  ]
66
- }
66
+ }
@@ -29,6 +29,15 @@ export const PaywallLegalFooter: React.FC<PaywallLegalFooterProps> = React.memo(
29
29
  }) => {
30
30
  const tokens = useAppDesignTokens();
31
31
 
32
+ if (__DEV__) {
33
+ console.log("[PaywallLegalFooter] Rendering with props:", {
34
+ hasPrivacyUrl: !!privacyUrl,
35
+ hasTermsUrl: !!termsUrl,
36
+ privacyText,
37
+ termsText: termsText?.substring(0, 20) + "...",
38
+ });
39
+ }
40
+
32
41
  const handlePrivacyPress = () => {
33
42
  if (privacyUrl) {
34
43
  Linking.openURL(privacyUrl).catch(console.error);
@@ -135,18 +135,22 @@ SubscriptionModal.displayName = "SubscriptionModal";
135
135
  const styles = StyleSheet.create({
136
136
  container: {
137
137
  flex: 1,
138
+ width: "100%",
138
139
  },
139
140
  scrollView: {
140
141
  flex: 1,
142
+ width: "100%",
141
143
  },
142
144
  scrollContent: {
143
145
  paddingHorizontal: 24,
144
- paddingBottom: 24,
146
+ paddingBottom: 32,
145
147
  flexGrow: 1,
146
148
  },
147
149
  featuresSection: {
148
- borderRadius: 20,
149
- padding: 20,
150
- marginTop: 8,
150
+ borderRadius: 24,
151
+ padding: 24,
152
+ marginTop: 12,
153
+ borderWidth: 1,
154
+ borderColor: "rgba(255, 255, 255, 0.05)",
151
155
  },
152
156
  });
@@ -61,7 +61,7 @@ export const SubscriptionModalOverlay: React.FC<SubscriptionModalOverlayProps> =
61
61
  animationType="fade"
62
62
  onRequestClose={onClose}
63
63
  >
64
- <View style={styles.overlay}>
64
+ <View style={[styles.overlay, variant === "dialog" && styles.overlayCentered]}>
65
65
  <TouchableOpacity
66
66
  style={styles.backdrop}
67
67
  activeOpacity={1}
@@ -83,7 +83,11 @@ export const SubscriptionModalOverlay: React.FC<SubscriptionModalOverlayProps> =
83
83
  const styles = StyleSheet.create({
84
84
  overlay: {
85
85
  flex: 1,
86
- justifyContent: "flex-end", // Bottom-sheet default
86
+ justifyContent: "flex-end",
87
+ },
88
+ overlayCentered: {
89
+ justifyContent: "center",
90
+ paddingHorizontal: 20,
87
91
  },
88
92
  backdrop: {
89
93
  ...StyleSheet.absoluteFillObject,
@@ -101,21 +105,21 @@ const styles = StyleSheet.create({
101
105
  },
102
106
  dialog: {
103
107
  alignSelf: "center",
104
- marginBottom: "auto",
105
- marginTop: "auto",
106
- width: Math.min(SCREEN_WIDTH * 0.9, 450),
107
- maxHeight: SCREEN_HEIGHT * 0.8,
108
- borderRadius: 24,
108
+ width: Math.min(SCREEN_WIDTH * 0.94, 500),
109
+ maxHeight: SCREEN_HEIGHT * 0.85,
110
+ borderRadius: 32,
109
111
  overflow: "hidden",
112
+ borderWidth: 1,
113
+ borderColor: "rgba(255, 255, 255, 0.1)", // Subtle premium border
110
114
  ...Platform.select({
111
115
  ios: {
112
116
  shadowColor: "#000",
113
- shadowOffset: { width: 0, height: 10 },
114
- shadowOpacity: 0.3,
115
- shadowRadius: 20,
117
+ shadowOffset: { width: 0, height: 12 },
118
+ shadowOpacity: 0.4,
119
+ shadowRadius: 24,
116
120
  },
117
121
  android: {
118
- elevation: 10,
122
+ elevation: 12,
119
123
  },
120
124
  }),
121
125
  },