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.
Files changed (55) hide show
  1. package/lib/module/SalespandaApp.js +56 -0
  2. package/lib/module/SalespandaApp.js.map +1 -0
  3. package/lib/module/config/SalespandaConfig.js +68 -0
  4. package/lib/module/config/SalespandaConfig.js.map +1 -0
  5. package/lib/module/index.js +35 -5
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/navigation/AppNavigator.js +18 -0
  8. package/lib/module/navigation/AppNavigator.js.map +1 -0
  9. package/lib/module/navigation/BottomTabNavigator.js +97 -0
  10. package/lib/module/navigation/BottomTabNavigator.js.map +1 -0
  11. package/lib/module/navigation/DrawerNavigator.js +223 -0
  12. package/lib/module/navigation/DrawerNavigator.js.map +1 -0
  13. package/lib/module/screens/HomeScreen.js +68 -152
  14. package/lib/module/screens/HomeScreen.js.map +1 -1
  15. package/lib/module/screens/NotificationsScreen.js +127 -0
  16. package/lib/module/screens/NotificationsScreen.js.map +1 -0
  17. package/lib/module/screens/PremiumScreen.js +222 -0
  18. package/lib/module/screens/PremiumScreen.js.map +1 -0
  19. package/lib/module/screens/ProfileScreen.js +147 -0
  20. package/lib/module/screens/ProfileScreen.js.map +1 -0
  21. package/lib/module/screens/ReportsScreen.js +217 -0
  22. package/lib/module/screens/ReportsScreen.js.map +1 -0
  23. package/lib/typescript/src/SalespandaApp.d.ts +39 -0
  24. package/lib/typescript/src/SalespandaApp.d.ts.map +1 -0
  25. package/lib/typescript/src/config/SalespandaConfig.d.ts +52 -0
  26. package/lib/typescript/src/config/SalespandaConfig.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +24 -1
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/navigation/AppNavigator.d.ts +2 -0
  30. package/lib/typescript/src/navigation/AppNavigator.d.ts.map +1 -0
  31. package/lib/typescript/src/navigation/BottomTabNavigator.d.ts +2 -0
  32. package/lib/typescript/src/navigation/BottomTabNavigator.d.ts.map +1 -0
  33. package/lib/typescript/src/navigation/DrawerNavigator.d.ts +2 -0
  34. package/lib/typescript/src/navigation/DrawerNavigator.d.ts.map +1 -0
  35. package/lib/typescript/src/screens/HomeScreen.d.ts.map +1 -1
  36. package/lib/typescript/src/screens/NotificationsScreen.d.ts +2 -0
  37. package/lib/typescript/src/screens/NotificationsScreen.d.ts.map +1 -0
  38. package/lib/typescript/src/screens/PremiumScreen.d.ts +2 -0
  39. package/lib/typescript/src/screens/PremiumScreen.d.ts.map +1 -0
  40. package/lib/typescript/src/screens/ProfileScreen.d.ts +2 -0
  41. package/lib/typescript/src/screens/ProfileScreen.d.ts.map +1 -0
  42. package/lib/typescript/src/screens/ReportsScreen.d.ts +2 -0
  43. package/lib/typescript/src/screens/ReportsScreen.d.ts.map +1 -0
  44. package/package.json +18 -2
  45. package/src/SalespandaApp.tsx +92 -0
  46. package/src/config/SalespandaConfig.ts +105 -0
  47. package/src/index.tsx +42 -5
  48. package/src/navigation/AppNavigator.tsx +13 -0
  49. package/src/navigation/BottomTabNavigator.tsx +68 -0
  50. package/src/navigation/DrawerNavigator.tsx +242 -0
  51. package/src/screens/HomeScreen.tsx +39 -117
  52. package/src/screens/NotificationsScreen.tsx +135 -0
  53. package/src/screens/PremiumScreen.tsx +250 -0
  54. package/src/screens/ProfileScreen.tsx +121 -0
  55. package/src/screens/ReportsScreen.tsx +191 -0
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { NavigationContainer } from '@react-navigation/native';
5
+ import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
+ import DrawerNavigator from "./navigation/DrawerNavigator.js";
7
+ import BottomTabNavigator from "./navigation/BottomTabNavigator.js";
8
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * Main Salespanda App Component
12
+ * Can be used as a standalone app or embedded in another React Native app
13
+ */
14
+ export default function SalespandaApp({
15
+ navigationRef,
16
+ theme,
17
+ standalone = false,
18
+ onReady,
19
+ useDrawer = true,
20
+ wrapWithGestureHandler = false
21
+ } = {}) {
22
+ // TODO: Apply theme to app (future enhancement)
23
+ // Currently theme is managed through SalespandaConfig
24
+ void theme;
25
+
26
+ // Use drawer navigation by default, or bottom tabs only if specified
27
+ const AppContent = () => useDrawer ? /*#__PURE__*/_jsx(DrawerNavigator, {}) : /*#__PURE__*/_jsx(BottomTabNavigator, {});
28
+
29
+ // If standalone mode, don't wrap with NavigationContainer
30
+ // (parent app will provide it)
31
+ if (standalone) {
32
+ return /*#__PURE__*/_jsx(AppContent, {});
33
+ }
34
+
35
+ // Navigation content with SafeAreaProvider
36
+ const NavigationContent = /*#__PURE__*/_jsx(NavigationContainer, {
37
+ ref: navigationRef,
38
+ onReady: onReady,
39
+ children: /*#__PURE__*/_jsx(SafeAreaProvider, {
40
+ children: /*#__PURE__*/_jsx(AppContent, {})
41
+ })
42
+ });
43
+
44
+ // Wrap with GestureHandlerRootView only if requested
45
+ // (default is false since most apps already have gesture handler imported)
46
+ if (wrapWithGestureHandler) {
47
+ return /*#__PURE__*/_jsx(GestureHandlerRootView, {
48
+ style: {
49
+ flex: 1
50
+ },
51
+ children: NavigationContent
52
+ });
53
+ }
54
+ return NavigationContent;
55
+ }
56
+ //# sourceMappingURL=SalespandaApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationContainer","GestureHandlerRootView","DrawerNavigator","BottomTabNavigator","SafeAreaProvider","jsx","_jsx","SalespandaApp","navigationRef","theme","standalone","onReady","useDrawer","wrapWithGestureHandler","AppContent","NavigationContent","ref","children","style","flex"],"sourceRoot":"../../src","sources":["SalespandaApp.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,OAAOC,eAAe,MAAM,iCAA8B;AAC1D,OAAOC,kBAAkB,MAAM,oCAAiC;AAChE,SAASC,gBAAgB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAwClE;AACA;AACA;AACA;AACA,eAAe,SAASC,aAAaA,CAAC;EACpCC,aAAa;EACbC,KAAK;EACLC,UAAU,GAAG,KAAK;EAClBC,OAAO;EACPC,SAAS,GAAG,IAAI;EAChBC,sBAAsB,GAAG;AACP,CAAC,GAAG,CAAC,CAAC,EAAE;EAC1B;EACA;EACA,KAAKJ,KAAK;;EAEV;EACA,MAAMK,UAAU,GAAGA,CAAA,KACjBF,SAAS,gBAAGN,IAAA,CAACJ,eAAe,IAAE,CAAC,gBAAGI,IAAA,CAACH,kBAAkB,IAAE,CAAC;;EAE1D;EACA;EACA,IAAIO,UAAU,EAAE;IACd,oBAAOJ,IAAA,CAACQ,UAAU,IAAE,CAAC;EACvB;;EAEA;EACA,MAAMC,iBAAiB,gBACrBT,IAAA,CAACN,mBAAmB;IAACgB,GAAG,EAAER,aAAc;IAACG,OAAO,EAAEA,OAAQ;IAAAM,QAAA,eACxDX,IAAA,CAACF,gBAAgB;MAAAa,QAAA,eACfX,IAAA,CAACQ,UAAU,IAAE;IAAC,CACE;EAAC,CACA,CACtB;;EAED;EACA;EACA,IAAID,sBAAsB,EAAE;IAC1B,oBACEP,IAAA,CAACL,sBAAsB;MAACiB,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAE;MAAAF,QAAA,EACxCF;IAAiB,CACI,CAAC;EAE7B;EAEA,OAAOA,iBAAiB;AAC1B","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Salespanda SDK Configuration
5
+ */
6
+
7
+ let globalConfig = {
8
+ theme: {
9
+ primaryColor: '#4a148c',
10
+ secondaryColor: '#25D366',
11
+ backgroundColor: '#fff',
12
+ textColor: '#333',
13
+ accentColor: '#999'
14
+ },
15
+ features: {
16
+ enablePremium: true,
17
+ enableNotifications: true,
18
+ enableReports: true,
19
+ enableDrawer: true
20
+ }
21
+ };
22
+
23
+ /**
24
+ * Initialize Salespanda SDK with custom configuration
25
+ */
26
+ export function initializeSalespanda(config) {
27
+ globalConfig = {
28
+ ...globalConfig,
29
+ ...config,
30
+ theme: {
31
+ ...globalConfig.theme,
32
+ ...config.theme
33
+ },
34
+ features: {
35
+ ...globalConfig.features,
36
+ ...config.features
37
+ }
38
+ };
39
+ }
40
+
41
+ /**
42
+ * Get current Salespanda configuration
43
+ */
44
+ export function getSalespandaConfig() {
45
+ return globalConfig;
46
+ }
47
+
48
+ /**
49
+ * Reset configuration to defaults
50
+ */
51
+ export function resetSalespandaConfig() {
52
+ globalConfig = {
53
+ theme: {
54
+ primaryColor: '#4a148c',
55
+ secondaryColor: '#25D366',
56
+ backgroundColor: '#fff',
57
+ textColor: '#333',
58
+ accentColor: '#999'
59
+ },
60
+ features: {
61
+ enablePremium: true,
62
+ enableNotifications: true,
63
+ enableReports: true,
64
+ enableDrawer: true
65
+ }
66
+ };
67
+ }
68
+ //# sourceMappingURL=SalespandaConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["globalConfig","theme","primaryColor","secondaryColor","backgroundColor","textColor","accentColor","features","enablePremium","enableNotifications","enableReports","enableDrawer","initializeSalespanda","config","getSalespandaConfig","resetSalespandaConfig"],"sourceRoot":"../../../src","sources":["config/SalespandaConfig.ts"],"mappings":";;AAAA;AACA;AACA;;AA0CA,IAAIA,YAA8B,GAAG;EACnCC,KAAK,EAAE;IACLC,YAAY,EAAE,SAAS;IACvBC,cAAc,EAAE,SAAS;IACzBC,eAAe,EAAE,MAAM;IACvBC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE;EACf,CAAC;EACDC,QAAQ,EAAE;IACRC,aAAa,EAAE,IAAI;IACnBC,mBAAmB,EAAE,IAAI;IACzBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,MAAwB,EAAQ;EACnEb,YAAY,GAAG;IACb,GAAGA,YAAY;IACf,GAAGa,MAAM;IACTZ,KAAK,EAAE;MACL,GAAGD,YAAY,CAACC,KAAK;MACrB,GAAGY,MAAM,CAACZ;IACZ,CAAC;IACDM,QAAQ,EAAE;MACR,GAAGP,YAAY,CAACO,QAAQ;MACxB,GAAGM,MAAM,CAACN;IACZ;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASO,mBAAmBA,CAAA,EAAqB;EACtD,OAAOd,YAAY;AACrB;;AAEA;AACA;AACA;AACA,OAAO,SAASe,qBAAqBA,CAAA,EAAS;EAC5Cf,YAAY,GAAG;IACbC,KAAK,EAAE;MACLC,YAAY,EAAE,SAAS;MACvBC,cAAc,EAAE,SAAS;MACzBC,eAAe,EAAE,MAAM;MACvBC,SAAS,EAAE,MAAM;MACjBC,WAAW,EAAE;IACf,CAAC;IACDC,QAAQ,EAAE;MACRC,aAAa,EAAE,IAAI;MACnBC,mBAAmB,EAAE,IAAI;MACzBC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE;IAChB;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,10 +1,40 @@
1
1
  "use strict";
2
2
 
3
- import Salespanda from "./NativeSalespanda.js";
4
- export function multiply(a, b) {
5
- return Salespanda.multiply(a, b);
6
- }
3
+ /**
4
+ * Salespanda SDK
5
+ *
6
+ * This SDK can be used in two ways:
7
+ *
8
+ * 1. As a complete standalone app:
9
+ * import SalespandaApp from 'react-native-salespanda';
10
+ * <SalespandaApp />
11
+ *
12
+ * 2. As individual components/screens in your app:
13
+ * import { HomeScreen, ProfileScreen } from 'react-native-salespanda';
14
+ */
7
15
 
8
- // Export screens
16
+ // ============================================
17
+ // MAIN APP EXPORT (Default)
18
+ // ============================================
19
+ export { default } from "./SalespandaApp.js";
20
+ export { default as SalespandaApp } from "./SalespandaApp.js";
21
+ // ============================================
22
+ // CONFIGURATION
23
+ // ============================================
24
+ export { initializeSalespanda, getSalespandaConfig, resetSalespandaConfig } from "./config/SalespandaConfig.js";
25
+ // ============================================
26
+ // NAVIGATION COMPONENTS
27
+ // ============================================
28
+ export { default as AppNavigator } from "./navigation/AppNavigator.js";
29
+ export { default as DrawerNavigator } from "./navigation/DrawerNavigator.js";
30
+ export { default as BottomTabNavigator } from "./navigation/BottomTabNavigator.js";
31
+
32
+ // ============================================
33
+ // SCREEN COMPONENTS (Library Mode)
34
+ // ============================================
9
35
  export { default as HomeScreen } from "./screens/HomeScreen.js";
36
+ export { default as ProfileScreen } from "./screens/ProfileScreen.js";
37
+ export { default as NotificationsScreen } from "./screens/NotificationsScreen.js";
38
+ export { default as ReportsScreen } from "./screens/ReportsScreen.js";
39
+ export { default as PremiumScreen } from "./screens/PremiumScreen.js";
10
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Salespanda","multiply","a","b","default","HomeScreen"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,uBAAoB;AAE3C,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOH,UAAU,CAACC,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAClC;;AAEA;AACA,SAASC,OAAO,IAAIC,UAAU,QAAQ,yBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["default","SalespandaApp","initializeSalespanda","getSalespandaConfig","resetSalespandaConfig","AppNavigator","DrawerNavigator","BottomTabNavigator","HomeScreen","ProfileScreen","NotificationsScreen","ReportsScreen","PremiumScreen"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAiB;AACzC,SAASA,OAAO,IAAIC,aAAa,QAAQ,oBAAiB;AAG1D;AACA;AACA;AACA,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,qBAAqB,QAChB,8BAA2B;AAGlC;AACA;AACA;AACA,SAASJ,OAAO,IAAIK,YAAY,QAAQ,8BAA2B;AACnE,SAASL,OAAO,IAAIM,eAAe,QAAQ,iCAA8B;AACzE,SAASN,OAAO,IAAIO,kBAAkB,QAAQ,oCAAiC;;AAE/E;AACA;AACA;AACA,SAASP,OAAO,IAAIQ,UAAU,QAAQ,yBAAsB;AAC5D,SAASR,OAAO,IAAIS,aAAa,QAAQ,4BAAyB;AAClE,SAAST,OAAO,IAAIU,mBAAmB,QAAQ,kCAA+B;AAC9E,SAASV,OAAO,IAAIW,aAAa,QAAQ,4BAAyB;AAClE,SAASX,OAAO,IAAIY,aAAa,QAAQ,4BAAyB","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { NavigationContainer } from '@react-navigation/native';
4
+ import BottomTabNavigator from "./BottomTabNavigator.js";
5
+ import { SafeAreaView } from 'react-native-safe-area-context';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export default function AppNavigator() {
8
+ return /*#__PURE__*/_jsx(NavigationContainer, {
9
+ children: /*#__PURE__*/_jsx(SafeAreaView, {
10
+ style: {
11
+ flex: 1
12
+ },
13
+ edges: ['bottom', 'top'],
14
+ children: /*#__PURE__*/_jsx(BottomTabNavigator, {})
15
+ })
16
+ });
17
+ }
18
+ //# sourceMappingURL=AppNavigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NavigationContainer","BottomTabNavigator","SafeAreaView","jsx","_jsx","AppNavigator","children","style","flex","edges"],"sourceRoot":"../../../src","sources":["navigation/AppNavigator.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,0BAA0B;AAC9D,OAAOC,kBAAkB,MAAM,yBAAsB;AACrD,SAASC,YAAY,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9D,eAAe,SAASC,YAAYA,CAAA,EAAG;EACrC,oBACED,IAAA,CAACJ,mBAAmB;IAAAM,QAAA,eAClBF,IAAA,CAACF,YAAY;MAACK,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAE;MAACC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAE;MAAAH,QAAA,eACzDF,IAAA,CAACH,kBAAkB,IAAE;IAAC,CACV;EAAC,CACI,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
4
+ import { Text } from 'react-native';
5
+ import HomeScreen from "../screens/HomeScreen.js";
6
+ import PremiumScreen from "../screens/PremiumScreen.js";
7
+ import NotificationsScreen from "../screens/NotificationsScreen.js";
8
+ import ReportsScreen from "../screens/ReportsScreen.js";
9
+ import { SafeAreaView } from 'react-native-safe-area-context';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const Tab = createBottomTabNavigator();
12
+ export default function BottomTabNavigator() {
13
+ return /*#__PURE__*/_jsx(SafeAreaView, {
14
+ style: {
15
+ flex: 1
16
+ },
17
+ edges: ['bottom'],
18
+ children: /*#__PURE__*/_jsxs(Tab.Navigator, {
19
+ screenOptions: {
20
+ headerShown: false,
21
+ // Hide headers as drawer provides them
22
+ tabBarActiveTintColor: '#4a148c',
23
+ tabBarInactiveTintColor: '#999',
24
+ tabBarStyle: {
25
+ borderTopWidth: 1,
26
+ borderTopColor: '#e0e0e0',
27
+ paddingBottom: 8,
28
+ paddingTop: 8,
29
+ height: 60
30
+ }
31
+ },
32
+ children: [/*#__PURE__*/_jsx(Tab.Screen, {
33
+ name: "Home",
34
+ component: HomeScreen,
35
+ options: {
36
+ tabBarIcon: ({
37
+ color,
38
+ size
39
+ }) => /*#__PURE__*/_jsx(Text, {
40
+ style: {
41
+ fontSize: size,
42
+ color
43
+ },
44
+ children: "\uD83C\uDFE0"
45
+ }),
46
+ headerShown: false
47
+ }
48
+ }), /*#__PURE__*/_jsx(Tab.Screen, {
49
+ name: "Premium",
50
+ component: PremiumScreen,
51
+ options: {
52
+ tabBarIcon: ({
53
+ color,
54
+ size
55
+ }) => /*#__PURE__*/_jsx(Text, {
56
+ style: {
57
+ fontSize: size,
58
+ color
59
+ },
60
+ children: "\uD83D\uDC8E"
61
+ })
62
+ }
63
+ }), /*#__PURE__*/_jsx(Tab.Screen, {
64
+ name: "Notifications",
65
+ component: NotificationsScreen,
66
+ options: {
67
+ tabBarIcon: ({
68
+ color,
69
+ size
70
+ }) => /*#__PURE__*/_jsx(Text, {
71
+ style: {
72
+ fontSize: size,
73
+ color
74
+ },
75
+ children: "\uD83D\uDD14"
76
+ })
77
+ }
78
+ }), /*#__PURE__*/_jsx(Tab.Screen, {
79
+ name: "Reports",
80
+ component: ReportsScreen,
81
+ options: {
82
+ tabBarIcon: ({
83
+ color,
84
+ size
85
+ }) => /*#__PURE__*/_jsx(Text, {
86
+ style: {
87
+ fontSize: size,
88
+ color
89
+ },
90
+ children: "\uD83D\uDCCA"
91
+ })
92
+ }
93
+ })]
94
+ })
95
+ });
96
+ }
97
+ //# sourceMappingURL=BottomTabNavigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBottomTabNavigator","Text","HomeScreen","PremiumScreen","NotificationsScreen","ReportsScreen","SafeAreaView","jsx","_jsx","jsxs","_jsxs","Tab","BottomTabNavigator","style","flex","edges","children","Navigator","screenOptions","headerShown","tabBarActiveTintColor","tabBarInactiveTintColor","tabBarStyle","borderTopWidth","borderTopColor","paddingBottom","paddingTop","height","Screen","name","component","options","tabBarIcon","color","size","fontSize"],"sourceRoot":"../../../src","sources":["navigation/BottomTabNavigator.tsx"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,+BAA+B;AACxE,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,UAAU,MAAM,0BAAuB;AAC9C,OAAOC,aAAa,MAAM,6BAA0B;AACpD,OAAOC,mBAAmB,MAAM,mCAAgC;AAChE,OAAOC,aAAa,MAAM,6BAA0B;AACpD,SAASC,YAAY,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9D,MAAMC,GAAG,GAAGX,wBAAwB,CAAC,CAAC;AAEtC,eAAe,SAASY,kBAAkBA,CAAA,EAAG;EAC3C,oBACEJ,IAAA,CAACF,YAAY;IAACO,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,eAClDN,KAAA,CAACC,GAAG,CAACM,SAAS;MACZC,aAAa,EAAE;QACbC,WAAW,EAAE,KAAK;QAAE;QACpBC,qBAAqB,EAAE,SAAS;QAChCC,uBAAuB,EAAE,MAAM;QAC/BC,WAAW,EAAE;UACXC,cAAc,EAAE,CAAC;UACjBC,cAAc,EAAE,SAAS;UACzBC,aAAa,EAAE,CAAC;UAChBC,UAAU,EAAE,CAAC;UACbC,MAAM,EAAE;QACV;MACF,CAAE;MAAAX,QAAA,gBAEFR,IAAA,CAACG,GAAG,CAACiB,MAAM;QACTC,IAAI,EAAC,MAAM;QACXC,SAAS,EAAE5B,UAAW;QACtB6B,OAAO,EAAE;UACPC,UAAU,EAAEA,CAAC;YAAEC,KAAK;YAAEC;UAAK,CAAC,kBAC1B1B,IAAA,CAACP,IAAI;YAACY,KAAK,EAAE;cAAEsB,QAAQ,EAAED,IAAI;cAAED;YAAM,CAAE;YAAAjB,QAAA,EAAC;UAAE,CAAM,CACjD;UACDG,WAAW,EAAE;QACf;MAAE,CACH,CAAC,eACFX,IAAA,CAACG,GAAG,CAACiB,MAAM;QACTC,IAAI,EAAC,SAAS;QACdC,SAAS,EAAE3B,aAAc;QACzB4B,OAAO,EAAE;UACPC,UAAU,EAAEA,CAAC;YAAEC,KAAK;YAAEC;UAAK,CAAC,kBAC1B1B,IAAA,CAACP,IAAI;YAACY,KAAK,EAAE;cAAEsB,QAAQ,EAAED,IAAI;cAAED;YAAM,CAAE;YAAAjB,QAAA,EAAC;UAAE,CAAM;QAEpD;MAAE,CACH,CAAC,eACFR,IAAA,CAACG,GAAG,CAACiB,MAAM;QACTC,IAAI,EAAC,eAAe;QACpBC,SAAS,EAAE1B,mBAAoB;QAC/B2B,OAAO,EAAE;UACPC,UAAU,EAAEA,CAAC;YAAEC,KAAK;YAAEC;UAAK,CAAC,kBAC1B1B,IAAA,CAACP,IAAI;YAACY,KAAK,EAAE;cAAEsB,QAAQ,EAAED,IAAI;cAAED;YAAM,CAAE;YAAAjB,QAAA,EAAC;UAAE,CAAM;QAEpD;MAAE,CACH,CAAC,eACFR,IAAA,CAACG,GAAG,CAACiB,MAAM;QACTC,IAAI,EAAC,SAAS;QACdC,SAAS,EAAEzB,aAAc;QACzB0B,OAAO,EAAE;UACPC,UAAU,EAAEA,CAAC;YAAEC,KAAK;YAAEC;UAAK,CAAC,kBAC1B1B,IAAA,CAACP,IAAI;YAACY,KAAK,EAAE;cAAEsB,QAAQ,EAAED,IAAI;cAAED;YAAM,CAAE;YAAAjB,QAAA,EAAC;UAAE,CAAM;QAEpD;MAAE,CACH,CAAC;IAAA,CACW;EAAC,CACJ,CAAC;AAEnB","ignoreList":[]}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { createDrawerNavigator } from '@react-navigation/drawer';
5
+ import { View, Text, StyleSheet, TouchableOpacity, Image, ScrollView } from 'react-native';
6
+ import BottomTabNavigator from "./BottomTabNavigator.js";
7
+ import ProfileScreen from "../screens/ProfileScreen.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const Drawer = createDrawerNavigator();
10
+ const DrawerItem = ({
11
+ label,
12
+ icon,
13
+ onPress,
14
+ active = false
15
+ }) => {
16
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
17
+ style: [styles.drawerItem, active && styles.activeDrawerItem],
18
+ onPress: onPress,
19
+ children: [/*#__PURE__*/_jsx(Text, {
20
+ style: styles.drawerIcon,
21
+ children: icon
22
+ }), /*#__PURE__*/_jsx(Text, {
23
+ style: [styles.drawerLabel, active && styles.activeDrawerLabel],
24
+ children: label
25
+ })]
26
+ });
27
+ };
28
+ function CustomDrawerContent(props) {
29
+ const {
30
+ navigation,
31
+ state
32
+ } = props;
33
+ const currentRoute = state.routes[state.index].name;
34
+ return /*#__PURE__*/_jsxs(View, {
35
+ style: styles.drawerContainer,
36
+ children: [/*#__PURE__*/_jsxs(View, {
37
+ style: styles.drawerHeader,
38
+ children: [/*#__PURE__*/_jsx(Image, {
39
+ source: {
40
+ uri: 'https://via.placeholder.com/80x80'
41
+ },
42
+ style: styles.drawerAvatar
43
+ }), /*#__PURE__*/_jsx(Text, {
44
+ style: styles.drawerName,
45
+ children: "John Doe"
46
+ }), /*#__PURE__*/_jsx(Text, {
47
+ style: styles.drawerEmail,
48
+ children: "john.doe@example.com"
49
+ })]
50
+ }), /*#__PURE__*/_jsxs(ScrollView, {
51
+ style: styles.drawerContent,
52
+ children: [/*#__PURE__*/_jsx(DrawerItem, {
53
+ label: "Home",
54
+ icon: "\uD83C\uDFE0",
55
+ active: currentRoute === 'HomeTabs',
56
+ onPress: () => navigation.navigate('HomeTabs')
57
+ }), /*#__PURE__*/_jsx(DrawerItem, {
58
+ label: "Profile",
59
+ icon: "\uD83D\uDC64",
60
+ active: currentRoute === 'Profile',
61
+ onPress: () => navigation.navigate('Profile')
62
+ }), /*#__PURE__*/_jsx(DrawerItem, {
63
+ label: "Social Setup",
64
+ icon: "\uD83D\uDCE2",
65
+ onPress: () => {
66
+ /* Add navigation */
67
+ }
68
+ }), /*#__PURE__*/_jsx(DrawerItem, {
69
+ label: "Microsite Setup",
70
+ icon: "\u2699\uFE0F",
71
+ onPress: () => {
72
+ /* Add navigation */
73
+ }
74
+ }), /*#__PURE__*/_jsx(DrawerItem, {
75
+ label: "Proposal",
76
+ icon: "\uD83D\uDCCB",
77
+ onPress: () => {
78
+ /* Add navigation */
79
+ }
80
+ }), /*#__PURE__*/_jsx(DrawerItem, {
81
+ label: "Email Campaign",
82
+ icon: "\uD83D\uDCE7",
83
+ onPress: () => {
84
+ /* Add navigation */
85
+ }
86
+ }), /*#__PURE__*/_jsx(DrawerItem, {
87
+ label: "View Microsite",
88
+ icon: "\uD83C\uDFB5",
89
+ onPress: () => {
90
+ /* Add navigation */
91
+ }
92
+ }), /*#__PURE__*/_jsx(DrawerItem, {
93
+ label: "Import Contact",
94
+ icon: "\uD83D\uDCC4",
95
+ onPress: () => {
96
+ /* Add navigation */
97
+ }
98
+ }), /*#__PURE__*/_jsx(View, {
99
+ style: styles.drawerDivider
100
+ }), /*#__PURE__*/_jsx(DrawerItem, {
101
+ label: "Settings",
102
+ icon: "\u2699\uFE0F",
103
+ onPress: () => {
104
+ /* Add navigation */
105
+ }
106
+ }), /*#__PURE__*/_jsx(DrawerItem, {
107
+ label: "Help & Support",
108
+ icon: "\u2753",
109
+ onPress: () => {
110
+ /* Add navigation */
111
+ }
112
+ }), /*#__PURE__*/_jsx(DrawerItem, {
113
+ label: "Logout",
114
+ icon: "\uD83D\uDEAA",
115
+ onPress: () => {
116
+ /* Add logout logic */
117
+ }
118
+ })]
119
+ })]
120
+ });
121
+ }
122
+ export default function DrawerNavigator() {
123
+ return /*#__PURE__*/_jsxs(Drawer.Navigator, {
124
+ drawerContent: props => /*#__PURE__*/_jsx(CustomDrawerContent, {
125
+ ...props
126
+ }),
127
+ screenOptions: {
128
+ headerShown: true,
129
+ drawerType: 'slide',
130
+ // Changed from 'front' for better UX
131
+ swipeEdgeWidth: 100,
132
+ // Width from edge to start swipe
133
+ drawerStyle: {
134
+ width: 280
135
+ },
136
+ headerStyle: {
137
+ backgroundColor: '#4a148c'
138
+ },
139
+ headerTintColor: '#fff',
140
+ headerTitleStyle: {
141
+ fontWeight: '600'
142
+ }
143
+ },
144
+ children: [/*#__PURE__*/_jsx(Drawer.Screen, {
145
+ name: "HomeTabs",
146
+ component: BottomTabNavigator,
147
+ options: {
148
+ title: 'Salespanda'
149
+ }
150
+ }), /*#__PURE__*/_jsx(Drawer.Screen, {
151
+ name: "Profile",
152
+ component: ProfileScreen,
153
+ options: {
154
+ title: 'Profile'
155
+ }
156
+ })]
157
+ });
158
+ }
159
+ const styles = StyleSheet.create({
160
+ drawerContainer: {
161
+ flex: 1,
162
+ backgroundColor: '#fff'
163
+ },
164
+ drawerHeader: {
165
+ backgroundColor: '#4a148c',
166
+ padding: 20,
167
+ paddingTop: 50,
168
+ alignItems: 'center'
169
+ },
170
+ drawerAvatar: {
171
+ width: 80,
172
+ height: 80,
173
+ borderRadius: 40,
174
+ marginBottom: 12,
175
+ borderWidth: 3,
176
+ borderColor: '#fff'
177
+ },
178
+ drawerName: {
179
+ fontSize: 18,
180
+ fontWeight: '600',
181
+ color: '#fff',
182
+ marginBottom: 4
183
+ },
184
+ drawerEmail: {
185
+ fontSize: 14,
186
+ color: '#fff',
187
+ opacity: 0.8
188
+ },
189
+ drawerContent: {
190
+ flex: 1,
191
+ paddingTop: 8
192
+ },
193
+ drawerItem: {
194
+ flexDirection: 'row',
195
+ alignItems: 'center',
196
+ padding: 16,
197
+ paddingHorizontal: 20
198
+ },
199
+ activeDrawerItem: {
200
+ backgroundColor: '#f5f5f5',
201
+ borderLeftWidth: 4,
202
+ borderLeftColor: '#4a148c'
203
+ },
204
+ drawerIcon: {
205
+ fontSize: 20,
206
+ marginRight: 16,
207
+ width: 24
208
+ },
209
+ drawerLabel: {
210
+ fontSize: 16,
211
+ color: '#333'
212
+ },
213
+ activeDrawerLabel: {
214
+ fontWeight: '600',
215
+ color: '#4a148c'
216
+ },
217
+ drawerDivider: {
218
+ height: 1,
219
+ backgroundColor: '#e0e0e0',
220
+ marginVertical: 8
221
+ }
222
+ });
223
+ //# sourceMappingURL=DrawerNavigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createDrawerNavigator","View","Text","StyleSheet","TouchableOpacity","Image","ScrollView","BottomTabNavigator","ProfileScreen","jsx","_jsx","jsxs","_jsxs","Drawer","DrawerItem","label","icon","onPress","active","style","styles","drawerItem","activeDrawerItem","children","drawerIcon","drawerLabel","activeDrawerLabel","CustomDrawerContent","props","navigation","state","currentRoute","routes","index","name","drawerContainer","drawerHeader","source","uri","drawerAvatar","drawerName","drawerEmail","drawerContent","navigate","drawerDivider","DrawerNavigator","Navigator","screenOptions","headerShown","drawerType","swipeEdgeWidth","drawerStyle","width","headerStyle","backgroundColor","headerTintColor","headerTitleStyle","fontWeight","Screen","component","options","title","create","flex","padding","paddingTop","alignItems","height","borderRadius","marginBottom","borderWidth","borderColor","fontSize","color","opacity","flexDirection","paddingHorizontal","borderLeftWidth","borderLeftColor","marginRight","marginVertical"],"sourceRoot":"../../../src","sources":["navigation/DrawerNavigator.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,gBAAgB,EAChBC,KAAK,EACLC,UAAU,QACL,cAAc;AACrB,OAAOC,kBAAkB,MAAM,yBAAsB;AACrD,OAAOC,aAAa,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErD,MAAMC,MAAM,GAAGb,qBAAqB,CAAC,CAAC;AAStC,MAAMc,UAAqC,GAAGA,CAAC;EAC7CC,KAAK;EACLC,IAAI;EACJC,OAAO;EACPC,MAAM,GAAG;AACX,CAAC,KAAK;EACJ,oBACEN,KAAA,CAACR,gBAAgB;IACfe,KAAK,EAAE,CAACC,MAAM,CAACC,UAAU,EAAEH,MAAM,IAAIE,MAAM,CAACE,gBAAgB,CAAE;IAC9DL,OAAO,EAAEA,OAAQ;IAAAM,QAAA,gBAEjBb,IAAA,CAACR,IAAI;MAACiB,KAAK,EAAEC,MAAM,CAACI,UAAW;MAAAD,QAAA,EAAEP;IAAI,CAAO,CAAC,eAC7CN,IAAA,CAACR,IAAI;MAACiB,KAAK,EAAE,CAACC,MAAM,CAACK,WAAW,EAAEP,MAAM,IAAIE,MAAM,CAACM,iBAAiB,CAAE;MAAAH,QAAA,EACnER;IAAK,CACF,CAAC;EAAA,CACS,CAAC;AAEvB,CAAC;AAED,SAASY,mBAAmBA,CAACC,KAAU,EAAE;EACvC,MAAM;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGF,KAAK;EACnC,MAAMG,YAAY,GAAGD,KAAK,CAACE,MAAM,CAACF,KAAK,CAACG,KAAK,CAAC,CAACC,IAAI;EAEnD,oBACEtB,KAAA,CAACX,IAAI;IAACkB,KAAK,EAAEC,MAAM,CAACe,eAAgB;IAAAZ,QAAA,gBAClCX,KAAA,CAACX,IAAI;MAACkB,KAAK,EAAEC,MAAM,CAACgB,YAAa;MAAAb,QAAA,gBAC/Bb,IAAA,CAACL,KAAK;QACJgC,MAAM,EAAE;UAAEC,GAAG,EAAE;QAAoC,CAAE;QACrDnB,KAAK,EAAEC,MAAM,CAACmB;MAAa,CAC5B,CAAC,eACF7B,IAAA,CAACR,IAAI;QAACiB,KAAK,EAAEC,MAAM,CAACoB,UAAW;QAAAjB,QAAA,EAAC;MAAQ,CAAM,CAAC,eAC/Cb,IAAA,CAACR,IAAI;QAACiB,KAAK,EAAEC,MAAM,CAACqB,WAAY;QAAAlB,QAAA,EAAC;MAAoB,CAAM,CAAC;IAAA,CACxD,CAAC,eAEPX,KAAA,CAACN,UAAU;MAACa,KAAK,EAAEC,MAAM,CAACsB,aAAc;MAAAnB,QAAA,gBACtCb,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,MAAM;QACZC,IAAI,EAAC,cAAI;QACTE,MAAM,EAAEa,YAAY,KAAK,UAAW;QACpCd,OAAO,EAAEA,CAAA,KAAMY,UAAU,CAACc,QAAQ,CAAC,UAAU;MAAE,CAChD,CAAC,eACFjC,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,SAAS;QACfC,IAAI,EAAC,cAAI;QACTE,MAAM,EAAEa,YAAY,KAAK,SAAU;QACnCd,OAAO,EAAEA,CAAA,KAAMY,UAAU,CAACc,QAAQ,CAAC,SAAS;MAAE,CAC/C,CAAC,eACFjC,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,cAAc;QACpBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,iBAAiB;QACvBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,UAAU;QAChBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,gBAAgB;QACtBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,gBAAgB;QACtBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,gBAAgB;QACtBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eAEFP,IAAA,CAACT,IAAI;QAACkB,KAAK,EAAEC,MAAM,CAACwB;MAAc,CAAE,CAAC,eAErClC,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,UAAU;QAChBC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,gBAAgB;QACtBC,IAAI,EAAC,QAAG;QACRC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC,eACFP,IAAA,CAACI,UAAU;QACTC,KAAK,EAAC,QAAQ;QACdC,IAAI,EAAC,cAAI;QACTC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MACA,CACH,CAAC;IAAA,CACQ,CAAC;EAAA,CACT,CAAC;AAEX;AAEA,eAAe,SAAS4B,eAAeA,CAAA,EAAG;EACxC,oBACEjC,KAAA,CAACC,MAAM,CAACiC,SAAS;IACfJ,aAAa,EAAGd,KAAK,iBAAKlB,IAAA,CAACiB,mBAAmB;MAAA,GAAKC;IAAK,CAAG,CAAE;IAC7DmB,aAAa,EAAE;MACbC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE,OAAO;MAAE;MACrBC,cAAc,EAAE,GAAG;MAAE;MACrBC,WAAW,EAAE;QACXC,KAAK,EAAE;MACT,CAAC;MACDC,WAAW,EAAE;QACXC,eAAe,EAAE;MACnB,CAAC;MACDC,eAAe,EAAE,MAAM;MACvBC,gBAAgB,EAAE;QAChBC,UAAU,EAAE;MACd;IACF,CAAE;IAAAlC,QAAA,gBAEFb,IAAA,CAACG,MAAM,CAAC6C,MAAM;MACZxB,IAAI,EAAC,UAAU;MACfyB,SAAS,EAAEpD,kBAAmB;MAC9BqD,OAAO,EAAE;QACPC,KAAK,EAAE;MACT;IAAE,CACH,CAAC,eACFnD,IAAA,CAACG,MAAM,CAAC6C,MAAM;MACZxB,IAAI,EAAC,SAAS;MACdyB,SAAS,EAAEnD,aAAc;MACzBoD,OAAO,EAAE;QACPC,KAAK,EAAE;MACT;IAAE,CACH,CAAC;EAAA,CACc,CAAC;AAEvB;AAEA,MAAMzC,MAAM,GAAGjB,UAAU,CAAC2D,MAAM,CAAC;EAC/B3B,eAAe,EAAE;IACf4B,IAAI,EAAE,CAAC;IACPT,eAAe,EAAE;EACnB,CAAC;EACDlB,YAAY,EAAE;IACZkB,eAAe,EAAE,SAAS;IAC1BU,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACD3B,YAAY,EAAE;IACZa,KAAK,EAAE,EAAE;IACTe,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE;EACf,CAAC;EACD/B,UAAU,EAAE;IACVgC,QAAQ,EAAE,EAAE;IACZf,UAAU,EAAE,KAAK;IACjBgB,KAAK,EAAE,MAAM;IACbJ,YAAY,EAAE;EAChB,CAAC;EACD5B,WAAW,EAAE;IACX+B,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE;EACX,CAAC;EACDhC,aAAa,EAAE;IACbqB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE;EACd,CAAC;EACD5C,UAAU,EAAE;IACVsD,aAAa,EAAE,KAAK;IACpBT,UAAU,EAAE,QAAQ;IACpBF,OAAO,EAAE,EAAE;IACXY,iBAAiB,EAAE;EACrB,CAAC;EACDtD,gBAAgB,EAAE;IAChBgC,eAAe,EAAE,SAAS;IAC1BuB,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAE;EACnB,CAAC;EACDtD,UAAU,EAAE;IACVgD,QAAQ,EAAE,EAAE;IACZO,WAAW,EAAE,EAAE;IACf3B,KAAK,EAAE;EACT,CAAC;EACD3B,WAAW,EAAE;IACX+C,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE;EACT,CAAC;EACD/C,iBAAiB,EAAE;IACjB+B,UAAU,EAAE,KAAK;IACjBgB,KAAK,EAAE;EACT,CAAC;EACD7B,aAAa,EAAE;IACbuB,MAAM,EAAE,CAAC;IACTb,eAAe,EAAE,SAAS;IAC1B0B,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}