react-native-salespanda 0.3.0 → 0.4.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.
Files changed (89) hide show
  1. package/Salespanda.podspec +4 -0
  2. package/android/build.gradle +2 -0
  3. package/lib/module/SalespandaApp.js +22 -8
  4. package/lib/module/SalespandaApp.js.map +1 -1
  5. package/lib/module/assets/images/bottomtabs/analytics.png +0 -0
  6. package/lib/module/assets/images/bottomtabs/analyticsactive.png +0 -0
  7. package/lib/module/assets/images/bottomtabs/crm.png +0 -0
  8. package/lib/module/assets/images/bottomtabs/crmactive.png +0 -0
  9. package/lib/module/assets/images/bottomtabs/diary.png +0 -0
  10. package/lib/module/assets/images/bottomtabs/diaryactive.png +0 -0
  11. package/lib/module/assets/images/bottomtabs/home.png +0 -0
  12. package/lib/module/assets/images/bottomtabs/homeactive.png +0 -0
  13. package/lib/module/assets/images/bottomtabs/notification.png +0 -0
  14. package/lib/module/assets/images/bottomtabs/notificationactive.png +0 -0
  15. package/lib/module/assets/images/index.js +35 -0
  16. package/lib/module/assets/images/index.js.map +1 -0
  17. package/lib/module/constants/Colors.js +17 -0
  18. package/lib/module/constants/Colors.js.map +1 -0
  19. package/lib/module/constants/GetPlatorm.js +23 -0
  20. package/lib/module/constants/GetPlatorm.js.map +1 -0
  21. package/lib/module/index.js +1 -1
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/navigation/AppNavigator.js +3 -1
  24. package/lib/module/navigation/AppNavigator.js.map +1 -1
  25. package/lib/module/navigation/BottomTabNavigator.js +71 -53
  26. package/lib/module/navigation/BottomTabNavigator.js.map +1 -1
  27. package/lib/module/navigation/DrawerNavigator.js +210 -129
  28. package/lib/module/navigation/DrawerNavigator.js.map +1 -1
  29. package/lib/module/screens/CRMScreen.js +41 -0
  30. package/lib/module/screens/CRMScreen.js.map +1 -0
  31. package/lib/module/screens/HomeScreen.js +82 -88
  32. package/lib/module/screens/HomeScreen.js.map +1 -1
  33. package/lib/module/screens/NotificationsScreen.js +11 -97
  34. package/lib/module/screens/NotificationsScreen.js.map +1 -1
  35. package/lib/module/screens/ProfileScreen.js +13 -119
  36. package/lib/module/screens/ProfileScreen.js.map +1 -1
  37. package/lib/module/screens/ReportsScreen.js +11 -187
  38. package/lib/module/screens/ReportsScreen.js.map +1 -1
  39. package/lib/typescript/src/SalespandaApp.d.ts +1 -1
  40. package/lib/typescript/src/SalespandaApp.d.ts.map +1 -1
  41. package/lib/typescript/src/assets/images/index.d.ts +17 -0
  42. package/lib/typescript/src/assets/images/index.d.ts.map +1 -0
  43. package/lib/typescript/src/constants/Colors.d.ts +15 -0
  44. package/lib/typescript/src/constants/Colors.d.ts.map +1 -0
  45. package/lib/typescript/src/constants/GetPlatorm.d.ts +11 -0
  46. package/lib/typescript/src/constants/GetPlatorm.d.ts.map +1 -0
  47. package/lib/typescript/src/index.d.ts +1 -1
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/lib/typescript/src/navigation/AppNavigator.d.ts.map +1 -1
  50. package/lib/typescript/src/navigation/BottomTabNavigator.d.ts.map +1 -1
  51. package/lib/typescript/src/navigation/DrawerNavigator.d.ts.map +1 -1
  52. package/lib/typescript/src/screens/CRMScreen.d.ts +2 -0
  53. package/lib/typescript/src/screens/CRMScreen.d.ts.map +1 -0
  54. package/lib/typescript/src/screens/HomeScreen.d.ts.map +1 -1
  55. package/lib/typescript/src/screens/NotificationsScreen.d.ts.map +1 -1
  56. package/lib/typescript/src/screens/ProfileScreen.d.ts.map +1 -1
  57. package/lib/typescript/src/screens/ReportsScreen.d.ts +1 -1
  58. package/lib/typescript/src/screens/ReportsScreen.d.ts.map +1 -1
  59. package/package.json +3 -1
  60. package/react-native.config.js +9 -0
  61. package/src/SalespandaApp.tsx +28 -8
  62. package/src/assets/images/bottomtabs/analytics.png +0 -0
  63. package/src/assets/images/bottomtabs/analyticsactive.png +0 -0
  64. package/src/assets/images/bottomtabs/crm.png +0 -0
  65. package/src/assets/images/bottomtabs/crmactive.png +0 -0
  66. package/src/assets/images/bottomtabs/diary.png +0 -0
  67. package/src/assets/images/bottomtabs/diaryactive.png +0 -0
  68. package/src/assets/images/bottomtabs/home.png +0 -0
  69. package/src/assets/images/bottomtabs/homeactive.png +0 -0
  70. package/src/assets/images/bottomtabs/notification.png +0 -0
  71. package/src/assets/images/bottomtabs/notificationactive.png +0 -0
  72. package/src/assets/images/index.js +11 -0
  73. package/src/assets/images/index.ts +40 -0
  74. package/src/constants/Colors.ts +16 -0
  75. package/src/constants/GetPlatorm.ts +29 -0
  76. package/src/index.tsx +1 -1
  77. package/src/navigation/AppNavigator.tsx +5 -1
  78. package/src/navigation/BottomTabNavigator.tsx +79 -24
  79. package/src/navigation/DrawerNavigator.tsx +176 -127
  80. package/src/screens/CRMScreen.tsx +34 -0
  81. package/src/screens/HomeScreen.tsx +94 -81
  82. package/src/screens/NotificationsScreen.tsx +9 -110
  83. package/src/screens/ProfileScreen.tsx +10 -97
  84. package/src/screens/ReportsScreen.tsx +9 -166
  85. package/lib/module/screens/PremiumScreen.js +0 -222
  86. package/lib/module/screens/PremiumScreen.js.map +0 -1
  87. package/lib/typescript/src/screens/PremiumScreen.d.ts +0 -2
  88. package/lib/typescript/src/screens/PremiumScreen.d.ts.map +0 -1
  89. package/src/screens/PremiumScreen.tsx +0 -250
@@ -1,217 +1,41 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
4
- import { View, Text, StyleSheet, SafeAreaView, ScrollView, TouchableOpacity } from 'react-native';
3
+ import { View, Text, StyleSheet, ScrollView } from 'react-native';
4
+ import { SafeAreaView } from 'react-native-safe-area-context';
5
+ import { Colors } from "../constants/Colors.js";
5
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- const StatCard = ({
7
- title,
8
- value,
9
- icon,
10
- color
11
- }) => {
12
- return /*#__PURE__*/_jsxs(View, {
13
- style: [styles.statCard, {
14
- backgroundColor: color
15
- }],
16
- children: [/*#__PURE__*/_jsx(Text, {
17
- style: styles.statIcon,
18
- children: icon
19
- }), /*#__PURE__*/_jsx(Text, {
20
- style: styles.statValue,
21
- children: value
22
- }), /*#__PURE__*/_jsx(Text, {
23
- style: styles.statTitle,
24
- children: title
25
- })]
26
- });
27
- };
28
- export default function ReportsScreen() {
7
+ export default function NotificationsScreen() {
29
8
  return /*#__PURE__*/_jsxs(SafeAreaView, {
30
9
  style: styles.container,
10
+ edges: ['bottom'],
31
11
  children: [/*#__PURE__*/_jsx(View, {
32
12
  style: styles.header,
33
13
  children: /*#__PURE__*/_jsx(Text, {
34
14
  style: styles.headerTitle,
35
15
  children: "Reports"
36
16
  })
37
- }), /*#__PURE__*/_jsxs(ScrollView, {
38
- style: styles.scrollView,
39
- children: [/*#__PURE__*/_jsxs(View, {
40
- style: styles.statsGrid,
41
- children: [/*#__PURE__*/_jsx(StatCard, {
42
- title: "Total Campaigns",
43
- value: "24",
44
- icon: "\uD83D\uDCE7",
45
- color: "#e3f2fd"
46
- }), /*#__PURE__*/_jsx(StatCard, {
47
- title: "Active Contacts",
48
- value: "1,234",
49
- icon: "\uD83D\uDC65",
50
- color: "#f3e5f5"
51
- }), /*#__PURE__*/_jsx(StatCard, {
52
- title: "Total Views",
53
- value: "5,678",
54
- icon: "\uD83D\uDC41\uFE0F",
55
- color: "#e8f5e9"
56
- }), /*#__PURE__*/_jsx(StatCard, {
57
- title: "Conversions",
58
- value: "89",
59
- icon: "\u2705",
60
- color: "#fff3e0"
61
- })]
62
- }), /*#__PURE__*/_jsxs(View, {
63
- style: styles.section,
64
- children: [/*#__PURE__*/_jsx(Text, {
65
- style: styles.sectionTitle,
66
- children: "Recent Activity"
67
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
68
- style: styles.activityItem,
69
- children: [/*#__PURE__*/_jsx(View, {
70
- style: styles.activityIcon,
71
- children: /*#__PURE__*/_jsx(Text, {
72
- style: styles.activityIconText,
73
- children: "\uD83D\uDCCA"
74
- })
75
- }), /*#__PURE__*/_jsxs(View, {
76
- style: styles.activityContent,
77
- children: [/*#__PURE__*/_jsx(Text, {
78
- style: styles.activityTitle,
79
- children: "Campaign Analytics"
80
- }), /*#__PURE__*/_jsx(Text, {
81
- style: styles.activityDescription,
82
- children: "View detailed analytics for your campaigns"
83
- })]
84
- })]
85
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
86
- style: styles.activityItem,
87
- children: [/*#__PURE__*/_jsx(View, {
88
- style: styles.activityIcon,
89
- children: /*#__PURE__*/_jsx(Text, {
90
- style: styles.activityIconText,
91
- children: "\uD83D\uDCC8"
92
- })
93
- }), /*#__PURE__*/_jsxs(View, {
94
- style: styles.activityContent,
95
- children: [/*#__PURE__*/_jsx(Text, {
96
- style: styles.activityTitle,
97
- children: "Performance Report"
98
- }), /*#__PURE__*/_jsx(Text, {
99
- style: styles.activityDescription,
100
- children: "Monthly performance summary"
101
- })]
102
- })]
103
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
104
- style: styles.activityItem,
105
- children: [/*#__PURE__*/_jsx(View, {
106
- style: styles.activityIcon,
107
- children: /*#__PURE__*/_jsx(Text, {
108
- style: styles.activityIconText,
109
- children: "\uD83D\uDCB0"
110
- })
111
- }), /*#__PURE__*/_jsxs(View, {
112
- style: styles.activityContent,
113
- children: [/*#__PURE__*/_jsx(Text, {
114
- style: styles.activityTitle,
115
- children: "Revenue Report"
116
- }), /*#__PURE__*/_jsx(Text, {
117
- style: styles.activityDescription,
118
- children: "Track your earnings and revenue"
119
- })]
120
- })]
121
- })]
122
- })]
17
+ }), /*#__PURE__*/_jsx(ScrollView, {
18
+ style: styles.scrollView
123
19
  })]
124
20
  });
125
21
  }
126
22
  const styles = StyleSheet.create({
127
23
  container: {
128
24
  flex: 1,
129
- backgroundColor: '#f5f5f5'
25
+ backgroundColor: Colors.background
130
26
  },
131
27
  header: {
132
- backgroundColor: '#fff',
133
- padding: 16,
134
- borderBottomWidth: 1,
135
- borderBottomColor: '#e0e0e0'
28
+ backgroundColor: Colors.white,
29
+ padding: 16
136
30
  },
137
31
  headerTitle: {
138
32
  fontSize: 20,
139
33
  fontWeight: '600',
140
- color: '#333',
34
+ color: Colors.black,
141
35
  textAlign: 'center'
142
36
  },
143
37
  scrollView: {
144
38
  flex: 1
145
- },
146
- statsGrid: {
147
- flexDirection: 'row',
148
- flexWrap: 'wrap',
149
- padding: 8,
150
- justifyContent: 'space-between'
151
- },
152
- statCard: {
153
- width: '48%',
154
- padding: 20,
155
- borderRadius: 12,
156
- alignItems: 'center',
157
- marginBottom: 16
158
- },
159
- statIcon: {
160
- fontSize: 32,
161
- marginBottom: 8
162
- },
163
- statValue: {
164
- fontSize: 24,
165
- fontWeight: '700',
166
- color: '#333',
167
- marginBottom: 4
168
- },
169
- statTitle: {
170
- fontSize: 12,
171
- color: '#666',
172
- textAlign: 'center'
173
- },
174
- section: {
175
- padding: 16
176
- },
177
- sectionTitle: {
178
- fontSize: 18,
179
- fontWeight: '600',
180
- color: '#333',
181
- marginBottom: 16
182
- },
183
- activityItem: {
184
- backgroundColor: '#fff',
185
- flexDirection: 'row',
186
- padding: 16,
187
- borderRadius: 12,
188
- marginBottom: 12,
189
- alignItems: 'center'
190
- },
191
- activityIcon: {
192
- width: 48,
193
- height: 48,
194
- borderRadius: 24,
195
- backgroundColor: '#f5f5f5',
196
- justifyContent: 'center',
197
- alignItems: 'center',
198
- marginRight: 16
199
- },
200
- activityIconText: {
201
- fontSize: 24
202
- },
203
- activityContent: {
204
- flex: 1
205
- },
206
- activityTitle: {
207
- fontSize: 16,
208
- fontWeight: '600',
209
- color: '#333',
210
- marginBottom: 4
211
- },
212
- activityDescription: {
213
- fontSize: 14,
214
- color: '#666'
215
39
  }
216
40
  });
217
41
  //# sourceMappingURL=ReportsScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","SafeAreaView","ScrollView","TouchableOpacity","jsx","_jsx","jsxs","_jsxs","StatCard","title","value","icon","color","style","styles","statCard","backgroundColor","children","statIcon","statValue","statTitle","ReportsScreen","container","header","headerTitle","scrollView","statsGrid","section","sectionTitle","activityItem","activityIcon","activityIconText","activityContent","activityTitle","activityDescription","create","flex","padding","borderBottomWidth","borderBottomColor","fontSize","fontWeight","textAlign","flexDirection","flexWrap","justifyContent","width","borderRadius","alignItems","marginBottom","height","marginRight"],"sourceRoot":"../../../src","sources":["screens/ReportsScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Text","StyleSheet","ScrollView","SafeAreaView","Colors","jsx","_jsx","jsxs","_jsxs","NotificationsScreen","style","styles","container","edges","children","header","headerTitle","scrollView","create","flex","backgroundColor","background","white","padding","fontSize","fontWeight","color","black","textAlign"],"sourceRoot":"../../../src","sources":["screens/ReportsScreen.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AACjE,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,eAAe,SAASC,mBAAmBA,CAAA,EAAG;EAC5C,oBACED,KAAA,CAACL,YAAY;IAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACvDR,IAAA,CAACP,IAAI;MAACW,KAAK,EAAEC,MAAM,CAACI,MAAO;MAAAD,QAAA,eACzBR,IAAA,CAACN,IAAI;QAACU,KAAK,EAAEC,MAAM,CAACK,WAAY;QAAAF,QAAA,EAAC;MAAO,CAAM;IAAC,CAC3C,CAAC,eACPR,IAAA,CAACJ,UAAU;MAACQ,KAAK,EAAEC,MAAM,CAACM;IAAW,CAAa,CAAC;EAAA,CACvC,CAAC;AAEnB;AAEA,MAAMN,MAAM,GAAGV,UAAU,CAACiB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEhB,MAAM,CAACiB;EAC1B,CAAC;EACDN,MAAM,EAAE;IACNK,eAAe,EAAEhB,MAAM,CAACkB,KAAK;IAC7BC,OAAO,EAAE;EACX,CAAC;EACDP,WAAW,EAAE;IACXQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAEtB,MAAM,CAACuB,KAAK;IACnBC,SAAS,EAAE;EACb,CAAC;EACDX,UAAU,EAAE;IACVE,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -35,5 +35,5 @@ export interface SalespandaAppProps {
35
35
  * Main Salespanda App Component
36
36
  * Can be used as a standalone app or embedded in another React Native app
37
37
  */
38
- export default function SalespandaApp({ navigationRef, theme, standalone, onReady, useDrawer, wrapWithGestureHandler, }?: SalespandaAppProps): import("react/jsx-runtime").JSX.Element;
38
+ export default function SalespandaApp({ navigationRef, theme: customTheme, standalone, onReady, useDrawer, wrapWithGestureHandler, }?: SalespandaAppProps): import("react/jsx-runtime").JSX.Element;
39
39
  //# sourceMappingURL=SalespandaApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SalespandaApp.d.ts","sourceRoot":"","sources":["../../../src/SalespandaApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,aAAa,EACb,KAAK,EACL,UAAkB,EAClB,OAAO,EACP,SAAgB,EAChB,sBAA8B,GAC/B,GAAE,kBAAuB,2CAmCzB"}
1
+ {"version":3,"file":"SalespandaApp.d.ts","sourceRoot":"","sources":["../../../src/SalespandaApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,UAAkB,EAClB,OAAO,EACP,SAAgB,EAChB,sBAA8B,GAC/B,GAAE,kBAAuB,2CAmDzB"}
@@ -0,0 +1,17 @@
1
+ import type { ImageSourcePropType } from 'react-native';
2
+ export declare const homeIcon: ImageSourcePropType;
3
+ export declare const homeIconActive: ImageSourcePropType;
4
+ export declare const analyticsIcon: ImageSourcePropType;
5
+ export declare const analyticsIconActive: ImageSourcePropType;
6
+ export declare const crmIcon: ImageSourcePropType;
7
+ export declare const crmIconActive: ImageSourcePropType;
8
+ export declare const diaryIcon: ImageSourcePropType;
9
+ export declare const diaryIconActive: ImageSourcePropType;
10
+ export declare const notificationIcon: ImageSourcePropType;
11
+ export declare const notificationIconActive: ImageSourcePropType;
12
+ export type IconPair = {
13
+ default: ImageSourcePropType;
14
+ active: ImageSourcePropType;
15
+ };
16
+ export declare const bottomTabIcons: Record<string, IconPair>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,QAAQ,EAAE,mBAAsD,CAAC;AAC9E,eAAO,MAAM,cAAc,EAAE,mBAA4D,CAAC;AAC1F,eAAO,MAAM,aAAa,EAAE,mBAA2D,CAAC;AACxF,eAAO,MAAM,mBAAmB,EAAE,mBAAiE,CAAC;AACpG,eAAO,MAAM,OAAO,EAAE,mBAAqD,CAAC;AAC5E,eAAO,MAAM,aAAa,EAAE,mBAA2D,CAAC;AACxF,eAAO,MAAM,SAAS,EAAE,mBAAuD,CAAC;AAChF,eAAO,MAAM,eAAe,EAAE,mBAA6D,CAAC;AAC5F,eAAO,MAAM,gBAAgB,EAAE,mBAA8D,CAAC;AAC9F,eAAO,MAAM,sBAAsB,EAAE,mBAAoE,CAAC;AAE1G,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAqBnD,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Colors: {
2
+ readonly primary: "#46bdd3";
3
+ readonly white: "#ffffff";
4
+ readonly black: "#322F2F";
5
+ readonly background: "#ffffff";
6
+ readonly border: "#e0e0e0";
7
+ readonly divider: "#e0e0e0";
8
+ readonly white50: "rgba(255, 255, 255, 0.5)";
9
+ readonly black50: "rgba(0, 0, 0, 0.2)";
10
+ readonly black30: "rgba(0, 0, 0, 0.3)";
11
+ readonly black20: "rgba(0, 0, 0, 0.2)";
12
+ readonly black10: "rgba(0, 0, 0, 0.1)";
13
+ };
14
+ export type ColorKey = keyof typeof Colors;
15
+ //# sourceMappingURL=Colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../../src/constants/Colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;CAaT,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns different values based on the platform
3
+ * @param value - Single value to use for both platforms, or object with platform specific values
4
+ * @param androidValue - Optional value for Android (if not provided, uses the same value for both platforms)
5
+ * @returns Platform specific value
6
+ */
7
+ export declare const GetPlatform: <T>(value: T | {
8
+ ios: T;
9
+ android: T;
10
+ }, androidValue?: T) => T;
11
+ //# sourceMappingURL=GetPlatorm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetPlatorm.d.ts","sourceRoot":"","sources":["../../../../src/constants/GetPlatorm.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,OAAO,CAAC,GAAG;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,EACjC,eAAe,CAAC,KACf,CAiBF,CAAC"}
@@ -22,5 +22,5 @@ export { default as HomeScreen } from './screens/HomeScreen';
22
22
  export { default as ProfileScreen } from './screens/ProfileScreen';
23
23
  export { default as NotificationsScreen } from './screens/NotificationsScreen';
24
24
  export { default as ReportsScreen } from './screens/ReportsScreen';
25
- export { default as PremiumScreen } from './screens/PremiumScreen';
25
+ export { default as PremiumScreen } from './screens/CRMScreen';
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/AppNavigator.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,YAAY,4CAQnC"}
1
+ {"version":3,"file":"AppNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/AppNavigator.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,YAAY,4CAWnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/BottomTabNavigator.tsx"],"names":[],"mappings":"AAUA,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAyDzC"}
1
+ {"version":3,"file":"BottomTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/BottomTabNavigator.tsx"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAkGzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/DrawerNavigator.tsx"],"names":[],"mappings":"AA4IA,MAAM,CAAC,OAAO,UAAU,eAAe,4CAoCtC"}
1
+ {"version":3,"file":"DrawerNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/DrawerNavigator.tsx"],"names":[],"mappings":"AA8JA,MAAM,CAAC,OAAO,UAAU,eAAe,4CAuCtC"}
@@ -0,0 +1,2 @@
1
+ export default function CRMScreen(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CRMScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CRMScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/CRMScreen.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,SAAS,4CAShC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/HomeScreen.tsx"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,UAAU,UAAU,4CAkDjC"}
1
+ {"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/HomeScreen.tsx"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,UAAU,UAAU,4CA6FjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/NotificationsScreen.tsx"],"names":[],"mappings":"AAqCA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAqC1C"}
1
+ {"version":3,"file":"NotificationsScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/NotificationsScreen.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAS1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/ProfileScreen.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,aAAa,4CA6CpC"}
1
+ {"version":3,"file":"ProfileScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/ProfileScreen.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,aAAa,4CASpC"}
@@ -1,2 +1,2 @@
1
- export default function ReportsScreen(): import("react/jsx-runtime").JSX.Element;
1
+ export default function NotificationsScreen(): import("react/jsx-runtime").JSX.Element;
2
2
  //# sourceMappingURL=ReportsScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/ReportsScreen.tsx"],"names":[],"mappings":"AA2BA,MAAM,CAAC,OAAO,UAAU,aAAa,4CAuEpC"}
1
+ {"version":3,"file":"ReportsScreen.d.ts","sourceRoot":"","sources":["../../../../src/screens/ReportsScreen.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAS1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-salespanda",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "sdk",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -68,6 +68,8 @@
68
68
  "@react-native-community/cli": "20.0.1",
69
69
  "@react-native/babel-preset": "0.81.1",
70
70
  "@react-native/eslint-config": "^0.81.1",
71
+ "@react-native/metro-babel-transformer": "0.81.1",
72
+ "@react-native/metro-config": "0.81.1",
71
73
  "@react-navigation/bottom-tabs": "^7.8.2",
72
74
  "@react-navigation/drawer": "^7.7.2",
73
75
  "@react-navigation/native": "^7.1.19",
@@ -0,0 +1,9 @@
1
+ module.exports = {
2
+ project: {
3
+ ios: {
4
+ automaticPodsInstallation: true,
5
+ },
6
+ },
7
+ // Assets configuration for the library
8
+ assets: ['./src/assets'],
9
+ };
@@ -1,9 +1,13 @@
1
1
  import React from 'react';
2
- import { NavigationContainer } from '@react-navigation/native';
2
+ import { NavigationContainer, DefaultTheme } from '@react-navigation/native';
3
3
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
4
4
  import DrawerNavigator from './navigation/DrawerNavigator';
5
5
  import BottomTabNavigator from './navigation/BottomTabNavigator';
6
- import { SafeAreaProvider } from 'react-native-safe-area-context';
6
+ import {
7
+ SafeAreaProvider,
8
+ initialWindowMetrics,
9
+ } from 'react-native-safe-area-context';
10
+ import { Colors } from './constants/Colors';
7
11
 
8
12
  export interface SalespandaAppProps {
9
13
  /**
@@ -49,7 +53,7 @@ export interface SalespandaAppProps {
49
53
  */
50
54
  export default function SalespandaApp({
51
55
  navigationRef,
52
- theme,
56
+ theme: customTheme,
53
57
  standalone = false,
54
58
  onReady,
55
59
  useDrawer = true,
@@ -57,7 +61,7 @@ export default function SalespandaApp({
57
61
  }: SalespandaAppProps = {}) {
58
62
  // TODO: Apply theme to app (future enhancement)
59
63
  // Currently theme is managed through SalespandaConfig
60
- void theme;
64
+ void customTheme;
61
65
 
62
66
  // Use drawer navigation by default, or bottom tabs only if specified
63
67
  const AppContent = () =>
@@ -70,12 +74,28 @@ export default function SalespandaApp({
70
74
  }
71
75
 
72
76
  // Navigation content with SafeAreaProvider
77
+ const navTheme = {
78
+ ...DefaultTheme,
79
+ colors: {
80
+ ...DefaultTheme.colors,
81
+ background: Colors.background,
82
+ primary: Colors.primary,
83
+ card: Colors.white,
84
+ text: Colors.black,
85
+ border: Colors.border,
86
+ },
87
+ };
88
+
73
89
  const NavigationContent = (
74
- <NavigationContainer ref={navigationRef} onReady={onReady}>
75
- <SafeAreaProvider>
90
+ <SafeAreaProvider initialMetrics={initialWindowMetrics}>
91
+ <NavigationContainer
92
+ ref={navigationRef}
93
+ onReady={onReady}
94
+ theme={navTheme}
95
+ >
76
96
  <AppContent />
77
- </SafeAreaProvider>
78
- </NavigationContainer>
97
+ </NavigationContainer>
98
+ </SafeAreaProvider>
79
99
  );
80
100
 
81
101
  // Wrap with GestureHandlerRootView only if requested
@@ -0,0 +1,11 @@
1
+ // Bottom Tab Icons
2
+ export const homeIcon = require('./bottomtabs/home.png');
3
+ export const homeIconActive = require('./bottomtabs/homeactive.png');
4
+ export const analyticsIcon = require('./bottomtabs/analytics.png');
5
+ export const analyticsIconActive = require('./bottomtabs/analyticsactive.png');
6
+ export const crmIcon = require('./bottomtabs/crm.png');
7
+ export const crmIconActive = require('./bottomtabs/crmactive.png');
8
+ export const diaryIcon = require('./bottomtabs/diary.png');
9
+ export const diaryIconActive = require('./bottomtabs/diaryactive.png');
10
+ export const notificationIcon = require('./bottomtabs/notification.png');
11
+ export const notificationIconActive = require('./bottomtabs/notificationactive.png');
@@ -0,0 +1,40 @@
1
+ import type { ImageSourcePropType } from 'react-native';
2
+
3
+ export const homeIcon: ImageSourcePropType = require('./bottomtabs/home.png');
4
+ export const homeIconActive: ImageSourcePropType = require('./bottomtabs/homeactive.png');
5
+ export const analyticsIcon: ImageSourcePropType = require('./bottomtabs/analytics.png');
6
+ export const analyticsIconActive: ImageSourcePropType = require('./bottomtabs/analyticsactive.png');
7
+ export const crmIcon: ImageSourcePropType = require('./bottomtabs/crm.png');
8
+ export const crmIconActive: ImageSourcePropType = require('./bottomtabs/crmactive.png');
9
+ export const diaryIcon: ImageSourcePropType = require('./bottomtabs/diary.png');
10
+ export const diaryIconActive: ImageSourcePropType = require('./bottomtabs/diaryactive.png');
11
+ export const notificationIcon: ImageSourcePropType = require('./bottomtabs/notification.png');
12
+ export const notificationIconActive: ImageSourcePropType = require('./bottomtabs/notificationactive.png');
13
+
14
+ export type IconPair = {
15
+ default: ImageSourcePropType;
16
+ active: ImageSourcePropType;
17
+ };
18
+
19
+ export const bottomTabIcons: Record<string, IconPair> = {
20
+ home: {
21
+ default: homeIcon,
22
+ active: homeIconActive,
23
+ },
24
+ analytics: {
25
+ default: analyticsIcon,
26
+ active: analyticsIconActive,
27
+ },
28
+ crm: {
29
+ default: crmIcon,
30
+ active: crmIconActive,
31
+ },
32
+ diary: {
33
+ default: diaryIcon,
34
+ active: diaryIconActive,
35
+ },
36
+ notification: {
37
+ default: notificationIcon,
38
+ active: notificationIconActive,
39
+ },
40
+ };
@@ -0,0 +1,16 @@
1
+ export const Colors = {
2
+ // Minimal palette as requested
3
+ primary: '#46bdd3',
4
+ white: '#ffffff',
5
+ black: '#322F2F',
6
+ background: '#ffffff',
7
+ border: '#e0e0e0',
8
+ divider: '#e0e0e0',
9
+ white50: 'rgba(255, 255, 255, 0.5)',
10
+ black50: 'rgba(0, 0, 0, 0.2)',
11
+ black30: 'rgba(0, 0, 0, 0.3)',
12
+ black20: 'rgba(0, 0, 0, 0.2)',
13
+ black10: 'rgba(0, 0, 0, 0.1)',
14
+ } as const;
15
+
16
+ export type ColorKey = keyof typeof Colors;
@@ -0,0 +1,29 @@
1
+ import { Platform } from 'react-native';
2
+
3
+ /**
4
+ * Returns different values based on the platform
5
+ * @param value - Single value to use for both platforms, or object with platform specific values
6
+ * @param androidValue - Optional value for Android (if not provided, uses the same value for both platforms)
7
+ * @returns Platform specific value
8
+ */
9
+ export const GetPlatform = <T>(
10
+ value: T | { ios: T; android: T },
11
+ androidValue?: T
12
+ ): T => {
13
+ if (
14
+ value &&
15
+ typeof value === 'object' &&
16
+ 'ios' in value &&
17
+ 'android' in value
18
+ ) {
19
+ return Platform.select({
20
+ ios: value.ios,
21
+ android: value.android,
22
+ }) as T;
23
+ }
24
+
25
+ return Platform.select({
26
+ ios: value as T,
27
+ android: androidValue ?? (value as T),
28
+ }) as T;
29
+ };
package/src/index.tsx CHANGED
@@ -42,4 +42,4 @@ export { default as HomeScreen } from './screens/HomeScreen';
42
42
  export { default as ProfileScreen } from './screens/ProfileScreen';
43
43
  export { default as NotificationsScreen } from './screens/NotificationsScreen';
44
44
  export { default as ReportsScreen } from './screens/ReportsScreen';
45
- export { default as PremiumScreen } from './screens/PremiumScreen';
45
+ export { default as PremiumScreen } from './screens/CRMScreen';
@@ -1,11 +1,15 @@
1
1
  import { NavigationContainer } from '@react-navigation/native';
2
2
  import BottomTabNavigator from './BottomTabNavigator';
3
3
  import { SafeAreaView } from 'react-native-safe-area-context';
4
+ import { Colors } from '../constants/Colors';
4
5
 
5
6
  export default function AppNavigator() {
6
7
  return (
7
8
  <NavigationContainer>
8
- <SafeAreaView style={{ flex: 1 }} edges={['bottom', 'top']}>
9
+ <SafeAreaView
10
+ style={{ flex: 1, backgroundColor: Colors.background }}
11
+ edges={['bottom', 'top']}
12
+ >
9
13
  <BottomTabNavigator />
10
14
  </SafeAreaView>
11
15
  </NavigationContainer>