react-native-salespanda 0.1.1 → 0.3.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.
- package/lib/module/SalespandaApp.js +56 -0
- package/lib/module/SalespandaApp.js.map +1 -0
- package/lib/module/config/SalespandaConfig.js +68 -0
- package/lib/module/config/SalespandaConfig.js.map +1 -0
- package/lib/module/index.js +35 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigation/AppNavigator.js +18 -0
- package/lib/module/navigation/AppNavigator.js.map +1 -0
- package/lib/module/navigation/BottomTabNavigator.js +97 -0
- package/lib/module/navigation/BottomTabNavigator.js.map +1 -0
- package/lib/module/navigation/DrawerNavigator.js +223 -0
- package/lib/module/navigation/DrawerNavigator.js.map +1 -0
- package/lib/module/screens/HomeScreen.js +68 -152
- package/lib/module/screens/HomeScreen.js.map +1 -1
- package/lib/module/screens/NotificationsScreen.js +127 -0
- package/lib/module/screens/NotificationsScreen.js.map +1 -0
- package/lib/module/screens/PremiumScreen.js +222 -0
- package/lib/module/screens/PremiumScreen.js.map +1 -0
- package/lib/module/screens/ProfileScreen.js +147 -0
- package/lib/module/screens/ProfileScreen.js.map +1 -0
- package/lib/module/screens/ReportsScreen.js +217 -0
- package/lib/module/screens/ReportsScreen.js.map +1 -0
- package/lib/typescript/src/SalespandaApp.d.ts +39 -0
- package/lib/typescript/src/SalespandaApp.d.ts.map +1 -0
- package/lib/typescript/src/config/SalespandaConfig.d.ts +52 -0
- package/lib/typescript/src/config/SalespandaConfig.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +24 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigation/AppNavigator.d.ts +2 -0
- package/lib/typescript/src/navigation/AppNavigator.d.ts.map +1 -0
- package/lib/typescript/src/navigation/BottomTabNavigator.d.ts +2 -0
- package/lib/typescript/src/navigation/BottomTabNavigator.d.ts.map +1 -0
- package/lib/typescript/src/navigation/DrawerNavigator.d.ts +2 -0
- package/lib/typescript/src/navigation/DrawerNavigator.d.ts.map +1 -0
- package/lib/typescript/src/screens/HomeScreen.d.ts.map +1 -1
- package/lib/typescript/src/screens/NotificationsScreen.d.ts +2 -0
- package/lib/typescript/src/screens/NotificationsScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/PremiumScreen.d.ts +2 -0
- package/lib/typescript/src/screens/PremiumScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/ProfileScreen.d.ts +2 -0
- package/lib/typescript/src/screens/ProfileScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/ReportsScreen.d.ts +2 -0
- package/lib/typescript/src/screens/ReportsScreen.d.ts.map +1 -0
- package/package.json +18 -2
- package/src/SalespandaApp.tsx +92 -0
- package/src/config/SalespandaConfig.ts +105 -0
- package/src/index.tsx +42 -5
- package/src/navigation/AppNavigator.tsx +13 -0
- package/src/navigation/BottomTabNavigator.tsx +68 -0
- package/src/navigation/DrawerNavigator.tsx +242 -0
- package/src/screens/HomeScreen.tsx +39 -117
- package/src/screens/NotificationsScreen.tsx +135 -0
- package/src/screens/PremiumScreen.tsx +250 -0
- package/src/screens/ProfileScreen.tsx +121 -0
- package/src/screens/ReportsScreen.tsx +191 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
View,
|
|
4
|
+
Text,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
SafeAreaView,
|
|
7
|
+
ScrollView,
|
|
8
|
+
TouchableOpacity,
|
|
9
|
+
} from 'react-native';
|
|
10
|
+
|
|
11
|
+
interface StatCardProps {
|
|
12
|
+
title: string;
|
|
13
|
+
value: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
color: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const StatCard: React.FC<StatCardProps> = ({ title, value, icon, color }) => {
|
|
19
|
+
return (
|
|
20
|
+
<View style={[styles.statCard, { backgroundColor: color }]}>
|
|
21
|
+
<Text style={styles.statIcon}>{icon}</Text>
|
|
22
|
+
<Text style={styles.statValue}>{value}</Text>
|
|
23
|
+
<Text style={styles.statTitle}>{title}</Text>
|
|
24
|
+
</View>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function ReportsScreen() {
|
|
29
|
+
return (
|
|
30
|
+
<SafeAreaView style={styles.container}>
|
|
31
|
+
<View style={styles.header}>
|
|
32
|
+
<Text style={styles.headerTitle}>Reports</Text>
|
|
33
|
+
</View>
|
|
34
|
+
<ScrollView style={styles.scrollView}>
|
|
35
|
+
<View style={styles.statsGrid}>
|
|
36
|
+
<StatCard
|
|
37
|
+
title="Total Campaigns"
|
|
38
|
+
value="24"
|
|
39
|
+
icon="📧"
|
|
40
|
+
color="#e3f2fd"
|
|
41
|
+
/>
|
|
42
|
+
<StatCard
|
|
43
|
+
title="Active Contacts"
|
|
44
|
+
value="1,234"
|
|
45
|
+
icon="👥"
|
|
46
|
+
color="#f3e5f5"
|
|
47
|
+
/>
|
|
48
|
+
<StatCard
|
|
49
|
+
title="Total Views"
|
|
50
|
+
value="5,678"
|
|
51
|
+
icon="👁️"
|
|
52
|
+
color="#e8f5e9"
|
|
53
|
+
/>
|
|
54
|
+
<StatCard title="Conversions" value="89" icon="✅" color="#fff3e0" />
|
|
55
|
+
</View>
|
|
56
|
+
|
|
57
|
+
<View style={styles.section}>
|
|
58
|
+
<Text style={styles.sectionTitle}>Recent Activity</Text>
|
|
59
|
+
|
|
60
|
+
<TouchableOpacity style={styles.activityItem}>
|
|
61
|
+
<View style={styles.activityIcon}>
|
|
62
|
+
<Text style={styles.activityIconText}>📊</Text>
|
|
63
|
+
</View>
|
|
64
|
+
<View style={styles.activityContent}>
|
|
65
|
+
<Text style={styles.activityTitle}>Campaign Analytics</Text>
|
|
66
|
+
<Text style={styles.activityDescription}>
|
|
67
|
+
View detailed analytics for your campaigns
|
|
68
|
+
</Text>
|
|
69
|
+
</View>
|
|
70
|
+
</TouchableOpacity>
|
|
71
|
+
|
|
72
|
+
<TouchableOpacity style={styles.activityItem}>
|
|
73
|
+
<View style={styles.activityIcon}>
|
|
74
|
+
<Text style={styles.activityIconText}>📈</Text>
|
|
75
|
+
</View>
|
|
76
|
+
<View style={styles.activityContent}>
|
|
77
|
+
<Text style={styles.activityTitle}>Performance Report</Text>
|
|
78
|
+
<Text style={styles.activityDescription}>
|
|
79
|
+
Monthly performance summary
|
|
80
|
+
</Text>
|
|
81
|
+
</View>
|
|
82
|
+
</TouchableOpacity>
|
|
83
|
+
|
|
84
|
+
<TouchableOpacity style={styles.activityItem}>
|
|
85
|
+
<View style={styles.activityIcon}>
|
|
86
|
+
<Text style={styles.activityIconText}>💰</Text>
|
|
87
|
+
</View>
|
|
88
|
+
<View style={styles.activityContent}>
|
|
89
|
+
<Text style={styles.activityTitle}>Revenue Report</Text>
|
|
90
|
+
<Text style={styles.activityDescription}>
|
|
91
|
+
Track your earnings and revenue
|
|
92
|
+
</Text>
|
|
93
|
+
</View>
|
|
94
|
+
</TouchableOpacity>
|
|
95
|
+
</View>
|
|
96
|
+
</ScrollView>
|
|
97
|
+
</SafeAreaView>
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const styles = StyleSheet.create({
|
|
102
|
+
container: {
|
|
103
|
+
flex: 1,
|
|
104
|
+
backgroundColor: '#f5f5f5',
|
|
105
|
+
},
|
|
106
|
+
header: {
|
|
107
|
+
backgroundColor: '#fff',
|
|
108
|
+
padding: 16,
|
|
109
|
+
borderBottomWidth: 1,
|
|
110
|
+
borderBottomColor: '#e0e0e0',
|
|
111
|
+
},
|
|
112
|
+
headerTitle: {
|
|
113
|
+
fontSize: 20,
|
|
114
|
+
fontWeight: '600',
|
|
115
|
+
color: '#333',
|
|
116
|
+
textAlign: 'center',
|
|
117
|
+
},
|
|
118
|
+
scrollView: {
|
|
119
|
+
flex: 1,
|
|
120
|
+
},
|
|
121
|
+
statsGrid: {
|
|
122
|
+
flexDirection: 'row',
|
|
123
|
+
flexWrap: 'wrap',
|
|
124
|
+
padding: 8,
|
|
125
|
+
justifyContent: 'space-between',
|
|
126
|
+
},
|
|
127
|
+
statCard: {
|
|
128
|
+
width: '48%',
|
|
129
|
+
padding: 20,
|
|
130
|
+
borderRadius: 12,
|
|
131
|
+
alignItems: 'center',
|
|
132
|
+
marginBottom: 16,
|
|
133
|
+
},
|
|
134
|
+
statIcon: {
|
|
135
|
+
fontSize: 32,
|
|
136
|
+
marginBottom: 8,
|
|
137
|
+
},
|
|
138
|
+
statValue: {
|
|
139
|
+
fontSize: 24,
|
|
140
|
+
fontWeight: '700',
|
|
141
|
+
color: '#333',
|
|
142
|
+
marginBottom: 4,
|
|
143
|
+
},
|
|
144
|
+
statTitle: {
|
|
145
|
+
fontSize: 12,
|
|
146
|
+
color: '#666',
|
|
147
|
+
textAlign: 'center',
|
|
148
|
+
},
|
|
149
|
+
section: {
|
|
150
|
+
padding: 16,
|
|
151
|
+
},
|
|
152
|
+
sectionTitle: {
|
|
153
|
+
fontSize: 18,
|
|
154
|
+
fontWeight: '600',
|
|
155
|
+
color: '#333',
|
|
156
|
+
marginBottom: 16,
|
|
157
|
+
},
|
|
158
|
+
activityItem: {
|
|
159
|
+
backgroundColor: '#fff',
|
|
160
|
+
flexDirection: 'row',
|
|
161
|
+
padding: 16,
|
|
162
|
+
borderRadius: 12,
|
|
163
|
+
marginBottom: 12,
|
|
164
|
+
alignItems: 'center',
|
|
165
|
+
},
|
|
166
|
+
activityIcon: {
|
|
167
|
+
width: 48,
|
|
168
|
+
height: 48,
|
|
169
|
+
borderRadius: 24,
|
|
170
|
+
backgroundColor: '#f5f5f5',
|
|
171
|
+
justifyContent: 'center',
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
marginRight: 16,
|
|
174
|
+
},
|
|
175
|
+
activityIconText: {
|
|
176
|
+
fontSize: 24,
|
|
177
|
+
},
|
|
178
|
+
activityContent: {
|
|
179
|
+
flex: 1,
|
|
180
|
+
},
|
|
181
|
+
activityTitle: {
|
|
182
|
+
fontSize: 16,
|
|
183
|
+
fontWeight: '600',
|
|
184
|
+
color: '#333',
|
|
185
|
+
marginBottom: 4,
|
|
186
|
+
},
|
|
187
|
+
activityDescription: {
|
|
188
|
+
fontSize: 14,
|
|
189
|
+
color: '#666',
|
|
190
|
+
},
|
|
191
|
+
});
|